42.4 MB
/srv/reproducible-results/rbuild-debian/r-b-build.Mtwwb3lz/b1/erlang_27.3.4+dfsg-1_amd64.changes vs.
/srv/reproducible-results/rbuild-debian/r-b-build.Mtwwb3lz/b2/erlang_27.3.4+dfsg-1_amd64.changes
2.99 KB
Files
    
Offset 4, 27 lines modifiedOffset 4, 27 lines modified
4 ·39db7b084cf62e88a92bff2720455ab2·15461508·debug·optional·erlang-base-dbgsym_27.3.4+dfsg-1_amd64.deb4 ·39db7b084cf62e88a92bff2720455ab2·15461508·debug·optional·erlang-base-dbgsym_27.3.4+dfsg-1_amd64.deb
5 ·05cf0aea0245e339c29fc6e66c64e64f·11411884·interpreters·optional·erlang-base_27.3.4+dfsg-1_amd64.deb5 ·05cf0aea0245e339c29fc6e66c64e64f·11411884·interpreters·optional·erlang-base_27.3.4+dfsg-1_amd64.deb
6 ·7f680393ff80a335695eac291caf04e1·41420·debug·optional·erlang-common-test-dbgsym_27.3.4+dfsg-1_amd64.deb6 ·7f680393ff80a335695eac291caf04e1·41420·debug·optional·erlang-common-test-dbgsym_27.3.4+dfsg-1_amd64.deb
7 ·ace4d3054e4ca1110d2c5e7410d76c54·1314112·interpreters·optional·erlang-common-test_27.3.4+dfsg-1_amd64.deb7 ·ace4d3054e4ca1110d2c5e7410d76c54·1314112·interpreters·optional·erlang-common-test_27.3.4+dfsg-1_amd64.deb
8 ·b14d4eed2cbf29c4c3b38ef0f9d44530·123044·debug·optional·erlang-crypto-dbgsym_27.3.4+dfsg-1_amd64.deb8 ·b14d4eed2cbf29c4c3b38ef0f9d44530·123044·debug·optional·erlang-crypto-dbgsym_27.3.4+dfsg-1_amd64.deb
9 ·10f3d7d96329fec66082e8c19e273912·179868·interpreters·optional·erlang-crypto_27.3.4+dfsg-1_amd64.deb9 ·10f3d7d96329fec66082e8c19e273912·179868·interpreters·optional·erlang-crypto_27.3.4+dfsg-1_amd64.deb
10 ·d1802f9b2dfda092e7882d5c3fc43b1a·479180·interpreters·optional·erlang-debugger_27.3.4+dfsg-1_amd64.deb10 ·d1802f9b2dfda092e7882d5c3fc43b1a·479180·interpreters·optional·erlang-debugger_27.3.4+dfsg-1_amd64.deb
11 ·9a9aaf192217ad6953176147cce728fa·303336·interpreters·optional·erlang-dev_27.3.4+dfsg-1_amd64.deb11 ·10ee3cdd18598bc91432130ab8d7c543·303412·interpreters·optional·erlang-dev_27.3.4+dfsg-1_amd64.deb
12 ·410b2901adeba7e7e5f7367ad177cee4·78768·debug·optional·erlang-dialyzer-dbgsym_27.3.4+dfsg-1_amd64.deb12 ·410b2901adeba7e7e5f7367ad177cee4·78768·debug·optional·erlang-dialyzer-dbgsym_27.3.4+dfsg-1_amd64.deb
13 ·328b5e1e18d5916776f5a17cbfa9f99b·1076800·interpreters·optional·erlang-dialyzer_27.3.4+dfsg-1_amd64.deb13 ·328b5e1e18d5916776f5a17cbfa9f99b·1076800·interpreters·optional·erlang-dialyzer_27.3.4+dfsg-1_amd64.deb
14 ·4ac42c412c842a8dcb234ec69de4c24d·812448·interpreters·optional·erlang-diameter_27.3.4+dfsg-1_amd64.deb14 ·4ac42c412c842a8dcb234ec69de4c24d·812448·interpreters·optional·erlang-diameter_27.3.4+dfsg-1_amd64.deb
15 ·6bcc8b9f17963d22030ddc54045093c7·16799676·doc·optional·erlang-doc_27.3.4+dfsg-1_all.deb15 ·1fbd02be13c5c945103537b7c328a29b·16799688·doc·optional·erlang-doc_27.3.4+dfsg-1_all.deb
16 ·27f9c697d15d1e51f2424463ef91f926·459912·interpreters·optional·erlang-edoc_27.3.4+dfsg-1_amd64.deb16 ·27f9c697d15d1e51f2424463ef91f926·459912·interpreters·optional·erlang-edoc_27.3.4+dfsg-1_amd64.deb
17 ·3b66986d58b58c1aa6ef6e1468c30c05·138208·interpreters·optional·erlang-eldap_27.3.4+dfsg-1_amd64.deb17 ·3b66986d58b58c1aa6ef6e1468c30c05·138208·interpreters·optional·erlang-eldap_27.3.4+dfsg-1_amd64.deb
18 ·ca49617797bcfd9671cbcc0e4f565ded·185404·interpreters·optional·erlang-et_27.3.4+dfsg-1_amd64.deb18 ·ca49617797bcfd9671cbcc0e4f565ded·185404·interpreters·optional·erlang-et_27.3.4+dfsg-1_amd64.deb
19 ·c93f3de6c52ab3afdfbd79037de1ce6f·172016·interpreters·optional·erlang-eunit_27.3.4+dfsg-1_amd64.deb19 ·c93f3de6c52ab3afdfbd79037de1ce6f·172016·interpreters·optional·erlang-eunit_27.3.4+dfsg-1_amd64.deb
20 ·780708104cdd74fce8656f0bc962dc5f·963116·interpreters·optional·erlang-examples_27.3.4+dfsg-1_all.deb20 ·780708104cdd74fce8656f0bc962dc5f·963116·interpreters·optional·erlang-examples_27.3.4+dfsg-1_all.deb
21 ·42169478f9997b5d97250b960efa1aae·106360·interpreters·optional·erlang-ftp_27.3.4+dfsg-1_amd64.deb21 ·42169478f9997b5d97250b960efa1aae·106360·interpreters·optional·erlang-ftp_27.3.4+dfsg-1_amd64.deb
22 ·22aa9a03e07d907fe6b310cf369b1d02·671456·interpreters·optional·erlang-inets_27.3.4+dfsg-1_amd64.deb22 ·22aa9a03e07d907fe6b310cf369b1d02·671456·interpreters·optional·erlang-inets_27.3.4+dfsg-1_amd64.deb
23 ·a919b747ac2580b7602a352171319f47·113652·interpreters·optional·erlang-jinterface_27.3.4+dfsg-1_all.deb23 ·af0575aae7aa8ee2bf43d126f27276d3·113632·interpreters·optional·erlang-jinterface_27.3.4+dfsg-1_all.deb
24 ·286895d7fea9c442027813bcc53617c1·64328·debug·optional·erlang-megaco-dbgsym_27.3.4+dfsg-1_amd64.deb24 ·286895d7fea9c442027813bcc53617c1·64328·debug·optional·erlang-megaco-dbgsym_27.3.4+dfsg-1_amd64.deb
25 ·c53adae1b313b0886a5df8c685c07d89·3690988·interpreters·optional·erlang-megaco_27.3.4+dfsg-1_amd64.deb25 ·c53adae1b313b0886a5df8c685c07d89·3690988·interpreters·optional·erlang-megaco_27.3.4+dfsg-1_amd64.deb
26 ·1c784983bb1f92b6b8b25b7887301afb·898828·interpreters·optional·erlang-mnesia_27.3.4+dfsg-1_amd64.deb26 ·1c784983bb1f92b6b8b25b7887301afb·898828·interpreters·optional·erlang-mnesia_27.3.4+dfsg-1_amd64.deb
27 ·df25657902d6bd94f5f7092c2009a0e9·93396·interpreters·optional·erlang-mode_27.3.4+dfsg-1_all.deb27 ·df25657902d6bd94f5f7092c2009a0e9·93396·interpreters·optional·erlang-mode_27.3.4+dfsg-1_all.deb
28 ·05c9f0d04e638abd9370ab63a78e09f0·15004·interpreters·optional·erlang-nox_27.3.4+dfsg-1_all.deb28 ·05c9f0d04e638abd9370ab63a78e09f0·15004·interpreters·optional·erlang-nox_27.3.4+dfsg-1_all.deb
29 ·c91e4b9eb5fbece37448a91075831069·1028072·interpreters·optional·erlang-observer_27.3.4+dfsg-1_amd64.deb29 ·c91e4b9eb5fbece37448a91075831069·1028072·interpreters·optional·erlang-observer_27.3.4+dfsg-1_amd64.deb
30 ·fc91c3e07c318dcf4f9b4b735baee99a·62292·debug·optional·erlang-odbc-dbgsym_27.3.4+dfsg-1_amd64.deb30 ·fc91c3e07c318dcf4f9b4b735baee99a·62292·debug·optional·erlang-odbc-dbgsym_27.3.4+dfsg-1_amd64.deb
18.8 KB
erlang-dev_27.3.4+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-09·06:04:59.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-09·06:04:59.000000·debian-binary
2 -rw-r--r--···0········0········0·····3652·2025-05-09·06:04:59.000000·control.tar.xz2 -rw-r--r--···0········0········0·····3652·2025-05-09·06:04:59.000000·control.tar.xz
3 -rw-r--r--···0········0········0···299492·2025-05-09·06:04:59.000000·data.tar.xz3 -rw-r--r--···0········0········0···299568·2025-05-09·06:04:59.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.3 KB
data.tar.xz
18.3 KB
data.tar
18.3 KB
./usr/bin/erlang-depends
    
Offset 7, 308 lines modifiedOffset 7, 308 lines modified
7 -define(VERSION,·"1:27.3.4+dfsg").7 -define(VERSION,·"1:27.3.4+dfsg").
8 -define(ABI_VERSION,·"17.0").8 -define(ABI_VERSION,·"17.0").
9 -define(PCRE_VERSION,·"8.45").9 -define(PCRE_VERSION,·"8.45").
  
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,·[{"zlib",·"erlang-base"},13 -define(MODULES,·[{"beam_ssa_lint",·"erlang-base"},
14 {"erts_literal_area_collector",·"erlang-base"}, 
15 {"atomics",·"erlang-base"}, 
16 {"prim_zip",·"erlang-base"}, 
17 {"erlang",·"erlang-base"}, 
18 {"erl_tracer",·"erlang-base"}, 
19 {"erts_internal",·"erlang-base"}, 
20 {"counters",·"erlang-base"}, 
21 {"erts_dirty_process_signal_handler",·"erlang-base"}, 
22 {"erts_trace_cleaner",·"erlang-base"}, 
23 {"prim_buffer",·"erlang-base"}, 
24 {"prim_eval",·"erlang-base"}, 
25 {"prim_socket",·"erlang-base"}, 
26 {"prim_file",·"erlang-base"}, 
27 {"prim_net",·"erlang-base"}, 
28 {"erl_prim_loader",·"erlang-base"}, 
29 {"prim_inet",·"erlang-base"}, 
30 {"socket_registry",·"erlang-base"}, 
31 {"erts_code_purger",·"erlang-base"}, 
32 {"init",·"erlang-base"}, 
33 {"persistent_term",·"erlang-base"}, 
34 {"erl_init",·"erlang-base"}, 
35 {"core_lint",·"erlang-base"}, 
36 {"beam_types",·"erlang-base"}, 
37 {"beam_ssa_dead",·"erlang-base"}, 
38 {"sys_core_inline",·"erlang-base"}, 
39 {"core_parse",·"erlang-base"}, 
40 {"sys_coverage",·"erlang-base"}, 
41 {"beam_ssa_bool",·"erlang-base"}, 
42 {"beam_ssa_recv",·"erlang-base"}, 
43 {"cerl",·"erlang-base"}, 
44 {"beam_trim",·"erlang-base"}, 
45 {"beam_ssa_check",·"erlang-base"},14 {"beam_ssa_check",·"erlang-base"},
46 {"beam_disasm",·"erlang-base"}, 
47 {"compile",·"erlang-base"}, 
48 {"beam_ssa",·"erlang-base"}, 
49 {"beam_ssa_alias",·"erlang-base"},15 {"beam_ssa_alias",·"erlang-base"},
 16 {"beam_utils",·"erlang-base"},
50 {"core_lib",·"erlang-base"},17 {"core_lint",·"erlang-base"},
51 {"beam_ssa_pre_codegen",·"erlang-base"}, 
52 {"v3_core",·"erlang-base"}, 
53 {"beam_ssa_lint",·"erlang-base"},18 {"beam_validator",·"erlang-base"},
54 {"sys_core_fold",·"erlang-base"},19 {"sys_core_fold",·"erlang-base"},
55 {"beam_ssa_bc_size",·"erlang-base"}, 
56 {"sys_core_fold_lists",·"erlang-base"},20 {"core_lib",·"erlang-base"},
 21 {"sys_pre_attributes",·"erlang-base"},
57 {"beam_dict",·"erlang-base"},22 {"cerl_inline",·"erlang-base"},
58 {"beam_ssa_type",·"erlang-base"}, 
59 {"beam_jump",·"erlang-base"},23 {"beam_jump",·"erlang-base"},
60 {"cerl_trees",·"erlang-base"},24 {"beam_ssa_throw",·"erlang-base"},
 25 {"beam_dict",·"erlang-base"},
61 {"beam_ssa_ss",·"erlang-base"},26 {"beam_ssa_ss",·"erlang-base"},
 27 {"beam_z",·"erlang-base"},
 28 {"beam_ssa",·"erlang-base"},
 29 {"beam_call_types",·"erlang-base"},
 30 {"sys_core_prepare",·"erlang-base"},
62 {"cerl_clauses",·"erlang-base"},31 {"beam_asm",·"erlang-base"},
 32 {"sys_core_inline",·"erlang-base"},
 33 {"compile",·"erlang-base"},
63 {"beam_ssa_destructive_update",·"erlang-base"},34 {"beam_ssa_share",·"erlang-base"},
64 {"sys_core_alias",·"erlang-base"},35 {"sys_core_alias",·"erlang-base"},
 36 {"core_pp",·"erlang-base"},
 37 {"cerl",·"erlang-base"},
 38 {"v3_core",·"erlang-base"},
 39 {"beam_core_to_ssa",·"erlang-base"},
 40 {"beam_ssa_codegen",·"erlang-base"},
 41 {"cerl_trees",·"erlang-base"},
 42 {"beam_ssa_type",·"erlang-base"},
 43 {"beam_ssa_opt",·"erlang-base"},
 44 {"beam_trim",·"erlang-base"},
 45 {"beam_clean",·"erlang-base"},
65 {"beam_doc",·"erlang-base"},46 {"beam_doc",·"erlang-base"},
 47 {"beam_flatten",·"erlang-base"},
 48 {"sys_core_fold_lists",·"erlang-base"},
 49 {"beam_listing",·"erlang-base"},
 50 {"erl_bifs",·"erlang-base"},
 51 {"beam_opcodes",·"erlang-base"},
 52 {"beam_a",·"erlang-base"},
 53 {"beam_ssa_recv",·"erlang-base"},
66 {"beam_ssa_bsm",·"erlang-base"},54 {"beam_ssa_bsm",·"erlang-base"},
 55 {"core_parse",·"erlang-base"},
67 {"beam_clean",·"erlang-base"},56 {"beam_ssa_pp",·"erlang-base"},
68 {"beam_ssa_codegen",·"erlang-base"},57 {"beam_ssa_dead",·"erlang-base"},
69 {"beam_core_to_ssa",·"erlang-base"}, 
70 {"beam_z",·"erlang-base"}, 
71 {"beam_bounds",·"erlang-base"},58 {"beam_bounds",·"erlang-base"},
 59 {"sys_coverage",·"erlang-base"},
72 {"core_scan",·"erlang-base"},60 {"core_scan",·"erlang-base"},
73 {"sys_core_bsm",·"erlang-base"},61 {"sys_core_bsm",·"erlang-base"},
 62 {"beam_ssa_pre_codegen",·"erlang-base"},
74 {"cerl_inline",·"erlang-base"},63 {"cerl_clauses",·"erlang-base"},
75 {"sys_pre_attributes",·"erlang-base"}, 
76 {"erl_bifs",·"erlang-base"}, 
77 {"rec_env",·"erlang-base"}, 
78 {"beam_opcodes",·"erlang-base"}, 
79 {"sys_core_prepare",·"erlang-base"}, 
80 {"beam_ssa_pp",·"erlang-base"}, 
81 {"beam_block",·"erlang-base"},64 {"beam_block",·"erlang-base"},
82 {"beam_ssa_share",·"erlang-base"},65 {"beam_ssa_destructive_update",·"erlang-base"},
83 {"beam_ssa_throw",·"erlang-base"}, 
84 {"beam_ssa_opt",·"erlang-base"}, 
85 {"beam_flatten",·"erlang-base"}, 
86 {"core_pp",·"erlang-base"}, 
87 {"beam_a",·"erlang-base"}, 
88 {"beam_validator",·"erlang-base"}, 
89 {"beam_call_types",·"erlang-base"}, 
90 {"sys_messages",·"erlang-base"},66 {"sys_messages",·"erlang-base"},
91 {"beam_listing",·"erlang-base"}, 
92 {"beam_asm",·"erlang-base"}, 
93 {"beam_utils",·"erlang-base"}, 
94 {"beam_digraph",·"erlang-base"},67 {"beam_digraph",·"erlang-base"},
 68 {"beam_ssa_bc_size",·"erlang-base"},
 69 {"rec_env",·"erlang-base"},
 70 {"beam_disasm",·"erlang-base"},
 71 {"beam_types",·"erlang-base"},
 72 {"beam_ssa_bool",·"erlang-base"},
 73 {"beam_lib",·"erlang-base"},
 74 {"qlc",·"erlang-base"},
 75 {"io_lib_pretty",·"erlang-base"},
 76 {"random",·"erlang-base"},
Max diff block lines reached; 9767/18658 bytes (52.35%) of diff not shown.
42.3 MB
erlang-doc_27.3.4+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-09·06:04:59.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-09·06:04:59.000000·debian-binary
2 -rw-r--r--···0········0········0····39644·2025-05-09·06:04:59.000000·control.tar.xz2 -rw-r--r--···0········0········0····39652·2025-05-09·06:04:59.000000·control.tar.xz
3 -rw-r--r--···0········0········0·16759840·2025-05-09·06:04:59.000000·data.tar.xz3 -rw-r--r--···0········0········0·16759844·2025-05-09·06:04:59.000000·data.tar.xz
8.44 KB
control.tar.xz
8.41 KB
control.tar
8.39 KB
./md5sums
30.0 B
./md5sums
Files differ
8.34 KB
line order
Max HTML report size reached
42.3 MB
data.tar.xz
42.3 MB
data.tar
79.7 KB
file list
    
Offset 137, 15 lines modifiedOffset 137, 15 lines modified
137 -rw-r--r--···0·root·········(0)·root·········(0)······288·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/ssh.html137 -rw-r--r--···0·root·········(0)·root·········(0)······288·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/ssh.html
138 -rw-r--r--···0·root·········(0)·root·········(0)······289·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/ssl.html138 -rw-r--r--···0·root·········(0)·root·········(0)······289·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/ssl.html
139 -rw-r--r--···0·root·········(0)·root·········(0)······290·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/stdlib.html139 -rw-r--r--···0·root·········(0)·root·········(0)······290·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/stdlib.html
140 -rw-r--r--···0·root·········(0)·root·········(0)······296·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/syntax_tools.html140 -rw-r--r--···0·root·········(0)·root·········(0)······296·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/syntax_tools.html
141 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/141 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/
142 -rw-r--r--···0·root·········(0)·root·········(0)·····2286·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/.build142 -rw-r--r--···0·root·········(0)·root·········(0)·····2286·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/.build
143 -rw-r--r--···0·root·········(0)·root·········(0)·····5642·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/404.html143 -rw-r--r--···0·root·········(0)·root·········(0)·····5642·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/404.html
144 -rw-r--r--···0·root·········(0)·root·········(0)···654518·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/Erlang·System·Documentation.epub144 -rw-r--r--···0·root·········(0)·root·········(0)···654491·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/Erlang·System·Documentation.epub
145 -rw-r--r--···0·root·········(0)·root·········(0)····53510·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/applications.html145 -rw-r--r--···0·root·········(0)·root·········(0)····53510·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/applications.html
146 -rw-r--r--···0·root·········(0)·root·········(0)····97467·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/appup_cookbook.html146 -rw-r--r--···0·root·········(0)·root·········(0)····97467·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/appup_cookbook.html
147 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/147 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/
148 -rw-r--r--···0·root·········(0)·root·········(0)·····7982·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/ballpoint-pen.svg148 -rw-r--r--···0·root·········(0)·root·········(0)·····7982·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/ballpoint-pen.svg
149 -rw-r--r--···0·root·········(0)·root·········(0)·····2284·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist1.gif149 -rw-r--r--···0·root·········(0)·root·········(0)·····2284·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist1.gif
150 -rw-r--r--···0·root·········(0)·root·········(0)·····5214·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist2.gif150 -rw-r--r--···0·root·········(0)·root·········(0)·····5214·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist2.gif
151 -rw-r--r--···0·root·········(0)·root·········(0)·····5007·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist3.gif151 -rw-r--r--···0·root·········(0)·root·········(0)·····5007·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist3.gif
Offset 351, 15 lines modifiedOffset 351, 15 lines modified
351 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/351 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/
352 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/352 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/
353 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/353 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/
354 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/354 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/
355 -rw-r--r--···0·root·········(0)·root·········(0)·····1060·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/.build355 -rw-r--r--···0·root·········(0)·root·········(0)·····1060·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/.build
356 -rw-r--r--···0·root·········(0)·root·········(0)·····6004·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/404.html356 -rw-r--r--···0·root·········(0)·root·········(0)·····6004·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/404.html
357 -rw-r--r--···0·root·········(0)·root·········(0)·····6684·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/api-reference.html357 -rw-r--r--···0·root·········(0)·root·········(0)·····6684·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/api-reference.html
358 -rw-r--r--···0·root·········(0)·root·········(0)····97015·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1.epub358 -rw-r--r--···0·root·········(0)·root·········(0)····97020·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1.epub
359 -rw-r--r--···0·root·········(0)·root·········(0)···140478·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1_getting_started.html359 -rw-r--r--···0·root·········(0)·root·········(0)···140478·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1_getting_started.html
360 -rw-r--r--···0·root·········(0)·root·········(0)·····9322·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1_introduction.html360 -rw-r--r--···0·root·········(0)·root·········(0)·····9322·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1_introduction.html
361 -rw-r--r--···0·root·········(0)·root·········(0)·····7448·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1_overview.html361 -rw-r--r--···0·root·········(0)·root·········(0)·····7448·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1_overview.html
362 -rw-r--r--···0·root·········(0)·root·········(0)····78794·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1_spec.html362 -rw-r--r--···0·root·········(0)·root·········(0)····78794·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1_spec.html
363 -rw-r--r--···0·root·········(0)·root·········(0)····35417·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1ct.html363 -rw-r--r--···0·root·········(0)·root·········(0)····35417·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1ct.html
364 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/assets/364 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/assets/
365 -rw-r--r--···0·root·········(0)·root·········(0)·····1340·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/assets/exclusive_Win_But.gif365 -rw-r--r--···0·root·········(0)·root·········(0)·····1340·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/assets/exclusive_Win_But.gif
Offset 397, 15 lines modifiedOffset 397, 15 lines modified
397 -rw-r--r--···0·root·········(0)·root·········(0)····10672·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/api-reference.html397 -rw-r--r--···0·root·········(0)·root·········(0)····10672·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/api-reference.html
398 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/assets/398 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/assets/
399 -rw-r--r--···0·root·········(0)·root·········(0)·····4963·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/assets/config.gif399 -rw-r--r--···0·root·········(0)·root·········(0)·····4963·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/assets/config.gif
400 -rw-r--r--···0·root·········(0)·root·········(0)····10726·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/assets/html_logs.gif400 -rw-r--r--···0·root·········(0)·root·········(0)····10726·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/assets/html_logs.gif
401 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/assets/logo.png401 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/assets/logo.png
402 -rw-r--r--···0·root·········(0)·root·········(0)·····9561·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/assets/tc_execution.gif402 -rw-r--r--···0·root·········(0)·root·········(0)·····9561·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/assets/tc_execution.gif
403 -rw-r--r--···0·root·········(0)·root·········(0)····21795·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/basics_chapter.html403 -rw-r--r--···0·root·········(0)·root·········(0)····21795·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/basics_chapter.html
404 -rw-r--r--···0·root·········(0)·root·········(0)···399344·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/common_test.epub404 -rw-r--r--···0·root·········(0)·root·········(0)···399359·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/common_test.epub
405 -rw-r--r--···0·root·········(0)·root·········(0)·····7502·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/common_test_app.html405 -rw-r--r--···0·root·········(0)·root·········(0)·····7502·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/common_test_app.html
406 -rw-r--r--···0·root·········(0)·root·········(0)····59626·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/config_file_chapter.html406 -rw-r--r--···0·root·········(0)·root·········(0)····59626·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/config_file_chapter.html
407 -rw-r--r--···0·root·········(0)·root·········(0)····25541·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/cover_chapter.html407 -rw-r--r--···0·root·········(0)·root·········(0)····25541·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/cover_chapter.html
408 -rw-r--r--···0·root·········(0)·root·········(0)···182206·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/ct.html408 -rw-r--r--···0·root·········(0)·root·········(0)···182206·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/ct.html
409 -rw-r--r--···0·root·········(0)·root·········(0)····12292·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/ct_cover.html409 -rw-r--r--···0·root·········(0)·root·········(0)····12292·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/ct_cover.html
410 -rw-r--r--···0·root·········(0)·root·········(0)····29980·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/ct_ftp.html410 -rw-r--r--···0·root·········(0)·root·········(0)····29980·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/ct_ftp.html
411 -rw-r--r--···0·root·········(0)·root·········(0)····77102·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/ct_hooks.html411 -rw-r--r--···0·root·········(0)·root·········(0)····77102·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/ct_hooks.html
Offset 466, 15 lines modifiedOffset 466, 15 lines modified
466 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/assets/466 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/assets/
467 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/assets/logo.png467 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/assets/logo.png
468 -rw-r--r--···0·root·········(0)·root·········(0)····24220·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/beam_ssa.html468 -rw-r--r--···0·root·········(0)·root·········(0)····24220·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/beam_ssa.html
469 -rw-r--r--···0·root·········(0)·root·········(0)···450427·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/cerl.html469 -rw-r--r--···0·root·········(0)·root·········(0)···450427·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/cerl.html
470 -rw-r--r--···0·root·········(0)·root·········(0)····28687·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/cerl_clauses.html470 -rw-r--r--···0·root·········(0)·root·········(0)····28687·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/cerl_clauses.html
471 -rw-r--r--···0·root·········(0)·root·········(0)····28945·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/cerl_trees.html471 -rw-r--r--···0·root·········(0)·root·········(0)····28945·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/cerl_trees.html
472 -rw-r--r--···0·root·········(0)·root·········(0)····84244·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/compile.html472 -rw-r--r--···0·root·········(0)·root·········(0)····84244·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/compile.html
473 -rw-r--r--···0·root·········(0)·root·········(0)···182067·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/compiler.epub473 -rw-r--r--···0·root·········(0)·root·········(0)···182065·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/compiler.epub
474 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/474 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/
475 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/handlebars.runtime-CFQAK6SD.js475 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/handlebars.runtime-CFQAK6SD.js
476 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/handlebars.templates-K7URE6B4.js476 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/handlebars.templates-K7URE6B4.js
477 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/html-55NP3CS6.js477 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/html-55NP3CS6.js
478 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/html-erlang-WGRVP7UZ.css478 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/html-erlang-WGRVP7UZ.css
479 -rw-r--r--···0·root·········(0)·root·········(0)····17732·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/inconsolata-latin-400-normal-OXLHDACS.woff2479 -rw-r--r--···0·root·········(0)·root·········(0)····17732·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/inconsolata-latin-400-normal-OXLHDACS.woff2
480 -rw-r--r--···0·root·········(0)·root·········(0)····17976·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/inconsolata-latin-700-normal-S55P5GAG.woff2480 -rw-r--r--···0·root·········(0)·root·········(0)····17976·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/dist/inconsolata-latin-700-normal-S55P5GAG.woff2
Offset 500, 15 lines modifiedOffset 500, 15 lines modified
500 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/500 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/
501 -rw-r--r--···0·root·········(0)·root·········(0)······992·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/.build501 -rw-r--r--···0·root·········(0)·root·········(0)······992·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/.build
502 -rw-r--r--···0·root·········(0)·root·········(0)·····6016·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/404.html502 -rw-r--r--···0·root·········(0)·root·········(0)·····6016·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/404.html
503 -rw-r--r--···0·root·········(0)·root·········(0)····35139·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/algorithm_details.html503 -rw-r--r--···0·root·········(0)·root·········(0)····35139·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/algorithm_details.html
504 -rw-r--r--···0·root·········(0)·root·········(0)·····6670·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/api-reference.html504 -rw-r--r--···0·root·········(0)·root·········(0)·····6670·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/api-reference.html
505 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/assets/505 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/assets/
506 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/assets/logo.png506 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/assets/logo.png
507 -rw-r--r--···0·root·········(0)·root·········(0)···127048·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/crypto.epub507 -rw-r--r--···0·root·········(0)·root·········(0)···127050·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/crypto.epub
508 -rw-r--r--···0·root·········(0)·root·········(0)···294465·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/crypto.html508 -rw-r--r--···0·root·········(0)·root·········(0)···294465·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/crypto.html
509 -rw-r--r--···0·root·········(0)·root·········(0)····10014·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/crypto_app.html509 -rw-r--r--···0·root·········(0)·root·········(0)····10014·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/crypto_app.html
510 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/dist/510 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/dist/
511 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/dist/handlebars.runtime-CFQAK6SD.js511 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/dist/handlebars.runtime-CFQAK6SD.js
512 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/dist/handlebars.templates-K7URE6B4.js512 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/dist/handlebars.templates-K7URE6B4.js
513 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/dist/html-55NP3CS6.js513 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/dist/html-55NP3CS6.js
514 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/dist/html-erlang-WGRVP7UZ.css514 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/dist/html-erlang-WGRVP7UZ.css
Offset 546, 15 lines modifiedOffset 546, 15 lines modified
546 -rw-r--r--···0·root·········(0)·root·········(0)····21770·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/cond_break_dialog.jpg546 -rw-r--r--···0·root·········(0)·root·········(0)····21770·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/cond_break_dialog.jpg
547 -rw-r--r--···0·root·········(0)·root·········(0)····13532·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/function_break_dialog.jpg547 -rw-r--r--···0·root·········(0)·root·········(0)····13532·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/function_break_dialog.jpg
548 -rw-r--r--···0·root·········(0)·root·········(0)····28924·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/interpret.jpg548 -rw-r--r--···0·root·········(0)·root·········(0)····28924·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/interpret.jpg
549 -rw-r--r--···0·root·········(0)·root·········(0)····14414·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/line_break_dialog.jpg549 -rw-r--r--···0·root·········(0)·root·········(0)····14414·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/line_break_dialog.jpg
550 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/logo.png550 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/logo.png
551 -rw-r--r--···0·root·········(0)·root·········(0)····40742·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/monitor.jpg551 -rw-r--r--···0·root·········(0)·root·········(0)····40742·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/monitor.jpg
552 -rw-r--r--···0·root·········(0)·root·········(0)····34504·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/view.jpg552 -rw-r--r--···0·root·········(0)·root·········(0)····34504·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/assets/view.jpg
553 -rw-r--r--···0·root·········(0)·root·········(0)···219255·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/debugger.epub553 -rw-r--r--···0·root·········(0)·root·········(0)···219253·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/debugger.epub
554 -rw-r--r--···0·root·········(0)·root·········(0)····13097·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/debugger.html554 -rw-r--r--···0·root·········(0)·root·········(0)····13097·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/debugger.html
555 -rw-r--r--···0·root·········(0)·root·········(0)····52026·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/debugger_chapter.html555 -rw-r--r--···0·root·········(0)·root·········(0)····52026·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/debugger_chapter.html
556 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/dist/556 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/dist/
557 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/dist/handlebars.runtime-CFQAK6SD.js557 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/dist/handlebars.runtime-CFQAK6SD.js
558 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/dist/handlebars.templates-K7URE6B4.js558 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/dist/handlebars.templates-K7URE6B4.js
559 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/dist/html-55NP3CS6.js559 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/dist/html-55NP3CS6.js
560 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/dist/html-erlang-WGRVP7UZ.css560 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/dist/html-erlang-WGRVP7UZ.css
Offset 583, 15 lines modifiedOffset 583, 15 lines modified
583 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/583 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/
584 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/584 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/
585 -rw-r--r--···0·root·········(0)·root·········(0)······921·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/.build585 -rw-r--r--···0·root·········(0)·root·········(0)······921·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/.build
586 -rw-r--r--···0·root·········(0)·root·········(0)·····6028·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/404.html586 -rw-r--r--···0·root·········(0)·root·········(0)·····6028·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/404.html
587 -rw-r--r--···0·root·········(0)·root·········(0)·····6794·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/api-reference.html587 -rw-r--r--···0·root·········(0)·root·········(0)·····6794·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/api-reference.html
588 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/assets/588 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/assets/
589 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/assets/logo.png589 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/assets/logo.png
590 -rw-r--r--···0·root·········(0)·root·········(0)····66388·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dialyzer.epub590 -rw-r--r--···0·root·········(0)·root·········(0)····66387·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dialyzer.epub
591 -rw-r--r--···0·root·········(0)·root·········(0)····53594·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dialyzer.html591 -rw-r--r--···0·root·········(0)·root·········(0)····53594·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dialyzer.html
592 -rw-r--r--···0·root·········(0)·root·········(0)····25900·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dialyzer_chapter.html592 -rw-r--r--···0·root·········(0)·root·········(0)····25900·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dialyzer_chapter.html
593 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dist/593 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dist/
594 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dist/handlebars.runtime-CFQAK6SD.js594 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dist/handlebars.runtime-CFQAK6SD.js
595 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dist/handlebars.templates-K7URE6B4.js595 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dist/handlebars.templates-K7URE6B4.js
596 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dist/html-55NP3CS6.js596 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dist/html-55NP3CS6.js
597 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dist/html-erlang-WGRVP7UZ.css597 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dist/html-erlang-WGRVP7UZ.css
Offset 618, 15 lines modifiedOffset 618, 15 lines modified
618 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/618 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/
619 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/619 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/
620 -rw-r--r--···0·root·········(0)·root·········(0)·····1143·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/.build620 -rw-r--r--···0·root·········(0)·root·········(0)·····1143·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/.build
621 -rw-r--r--···0·root·········(0)·root·········(0)·····6028·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/404.html621 -rw-r--r--···0·root·········(0)·root·········(0)·····6028·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/404.html
622 -rw-r--r--···0·root·········(0)·root·········(0)·····8214·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/api-reference.html622 -rw-r--r--···0·root·········(0)·root·········(0)·····8214·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/api-reference.html
623 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/assets/623 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/assets/
624 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/assets/logo.png624 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/assets/logo.png
625 -rw-r--r--···0·root·········(0)·root·········(0)···143789·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter.epub625 -rw-r--r--···0·root·········(0)·root·········(0)···143778·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter.epub
626 -rw-r--r--···0·root·········(0)·root·········(0)···253708·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter.html626 -rw-r--r--···0·root·········(0)·root·········(0)···253708·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter.html
627 -rw-r--r--···0·root·········(0)·root·········(0)····57052·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_app.html627 -rw-r--r--···0·root·········(0)·root·········(0)····57052·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_app.html
628 -rw-r--r--···0·root·········(0)·root·········(0)····29004·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_codec.html628 -rw-r--r--···0·root·········(0)·root·········(0)····29004·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_codec.html
629 -rw-r--r--···0·root·········(0)·root·········(0)····32268·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_dict.html629 -rw-r--r--···0·root·········(0)·root·········(0)····32268·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_dict.html
630 -rw-r--r--···0·root·········(0)·root·········(0)·····6778·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_examples.html630 -rw-r--r--···0·root·········(0)·root·········(0)·····6778·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_examples.html
631 -rw-r--r--···0·root·········(0)·root·········(0)·····9522·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_intro.html631 -rw-r--r--···0·root·········(0)·root·········(0)·····9522·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_intro.html
632 -rw-r--r--···0·root·········(0)·root·········(0)····21938·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_make.html632 -rw-r--r--···0·root·········(0)·root·········(0)····21938·2025-05-09·06:04:59.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter_make.html
Max diff block lines reached; 60926/81579 bytes (74.68%) 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>132 <p>Copyright·©·1996-2025·<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 467, 15 lines modifiedOffset 467, 15 lines modified
467 ······<p·class="built-using">467 ······<p·class="built-using">
468 ········Built·using468 ········Built·using
469 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the469 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
470 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>470 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
471 ······</p>471 ······</p>
472 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>472 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
473 ····</footer>473 ····</footer>
474 ··</div>474 ··</div>
475 </main>475 </main>
476 </div>476 </div>
477 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>477 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
478 ··<script>478 ··<script>
479 ··let·initialized·=·false;479 ··let·initialized·=·false;
760 B
html2text {}
Max HTML report size reached
1.46 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>163 <p>Copyright·©·1996-2025·<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;
695 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>154 <p>Copyright·©·1996-2025·<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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>393 <p>Copyright·©·1996-2025·<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 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>217 <p>Copyright·©·1996-2025·<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;
740 B
html2text {}
Max HTML report size reached
1.19 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>132 <p>Copyright·©·1996-2025·<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;
421 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>136 <p>Copyright·©·1996-2025·<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.36 MB
./usr/share/doc/erlang-doc/html/doc/system/Erlang System Documentation.epub
14.2 KB
zipinfo {}
Max HTML report size reached
531 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·Jul·06·2026·03:09:32,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:58:22,·uncompressed·size·20,·method=store
68.7 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.2 KB
OEBPS/opaques.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
34.7 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
76.8 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
350 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.93 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
64.9 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.12 KB
OEBPS/content.opf
3.09 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="3627718732-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="3627718732-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3627718732-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="3627718732-2">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="3627718732-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="3627718732-3">}</span><span·class="w"> 
143 </span><span·class="nf">stop</span><span·class="p"·data-group-id="3627718732-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="3627718732-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="1894411714-1">(</span><span·class="n">StartType</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·740,·SHA:·fe5106607ecc276943c2090b346dbf13dfcfee6df0a40ae458f0cda7f4373ba1·...·]
 143 </span><span·class="nf">stop</span><span·class="p"·data-group-id="1894411714-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="1894411714-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="0805351098-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="0805351098-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="9095268924-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="9095268924-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="0805351098-2">(</span><span·class="ss">application</span><span·class="p"·data-group-id="0805351098-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="9095268924-2">(</span><span·class="ss">application</span><span·class="p"·data-group-id="9095268924-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="0805351098-3">(</span><span·class="p"·data-group-id="0805351098-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:·047594a1bcadfa7e9f37e8f135cfbbf98e0267d7772eea11cd674be83c52a0cc·...·]-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="9095268924-3">(</span><span·class="p"·data-group-id="9095268924-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:·4a293a48875da8164c77793d20a16759c3b058263708e4ca34da5149ab3c5c47·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">start</span><span·class="p"·data-group-id="0805351098-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="0805351098-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="9095268924-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="9095268924-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="0805351098-6">(</span><span·class="p"·data-group-id="0805351098-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="9095268924-6">(</span><span·class="p"·data-group-id="9095268924-6">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">stop</span><span·class="p"·data-group-id="0805351098-7">(</span><span·class="p">_</span><span·class="n">State</span><span·class="p"·data-group-id="0805351098-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="9095268924-7">(</span><span·class="p">_</span><span·class="n">State</span><span·class="p"·data-group-id="9095268924-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.2.2/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.2.2/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="6609362385-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="5978525409-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="6609362385-2">[</span><span·class="p"·data-group-id="6609362385-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="6609362385-3">}</span><span·class="p">,</span><span·class="w">181 ·</span><span·class="p"·data-group-id="5978525409-2">[</span><span·class="p"·data-group-id="5978525409-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="5978525409-3">}</span><span·class="p">,</span><span·class="w">
182 ··</span><span·class="p"·data-group-id="6609362385-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="6609362385-4">}</span><span·class="p">,</span><span·class="w">182 ··</span><span·class="p"·data-group-id="5978525409-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="5978525409-4">}</span><span·class="p">,</span><span·class="w">
183 ··</span><span·class="p"·data-group-id="6609362385-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6609362385-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:·914f2918e999bbf31c413ede856bbd7a786702a701d6a692833b1b329b4919ed·...·]-5">}</span><span·class="p">,</span><span·class="w">183 ··</span><span·class="p"·data-group-id="5978525409-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5978525409-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:·37cfa44b1c6eafc8b60d6d2d2d826a91d87e687125a4c693282084ea0ca9c767·...·]-5">}</span><span·class="p">,</span><span·class="w">
184 ··</span><span·class="p"·data-group-id="6609362385-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6609362385-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="6609362385-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·56d7e935d2bac32619b94637b8cdc6ea4eed5d80c848ec0dca4902a88395d50c·...·]-7">}</span><span·class="p">,</span><span·class="w">184 ··</span><span·class="p"·data-group-id="5978525409-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5978525409-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="5978525409-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·dede0e30e711a0681165d08092ae002a1097d2fa9f96c85ad23ed8be345c0af3·...·]-7">}</span><span·class="p">,</span><span·class="w">
185 ··</span><span·class="p"·data-group-id="6609362385-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6609362385-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:·966fd399042ed35f44816d0b2c41c76bee85b65755c74805aace93d56cc4a6ad·...·]-9">}</span><span·class="p">,</span><span·class="w">185 ··</span><span·class="p"·data-group-id="5978525409-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5978525409-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:·d59e629888506c018a943fe1e13cfaf8a20ef33e7affaeb0163f909bc31743d1·...·]-9">}</span><span·class="p">,</span><span·class="w">
186 ··</span><span·class="p"·data-group-id="6609362385-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6609362385-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="6609362385-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·797da84d45a956daf7b155da8a92578d363f881187cda990ec23ad8d3342ecd6·...·]-11">}</span><span·class="w">186 ··</span><span·class="p"·data-group-id="5978525409-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5978525409-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="5978525409-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·d5fdc3bac7900bd25f0a0979e4d8481bad9645e67c135b8e5bec0c5467a13fe8·...·]-11">}</span><span·class="w">
187 ·</span><span·class="p"·data-group-id="6609362385-2">]</span><span·class="p"·data-group-id="6609362385-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.2.2/doc/html/systools.html"><code·class="inline">systools</code></a>·uses187 ·</span><span·class="p"·data-group-id="5978525409-2">]</span><span·class="p"·data-group-id="5978525409-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.2.2/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.2.2/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.2.2/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.2.2/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.2.2/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="2240055635-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="2240055635-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="6394551788-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="6394551788-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="2240055635-2">(</span><span·class="p"·data-group-id="2240055635-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="6394551788-2">(</span><span·class="p"·data-group-id="6394551788-2">)</span><span·class="p">.</span><span·class="w">
310 </span><span·class="p"·data-group-id="2240055635-3">[</span><span·class="p"·data-group-id="2240055635-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:·dc4f0bf1b78250bb9dbd0ecbe489e5881c55743c5e2cad43ae6a8d7444419a14·...·]-4">}</span><span·class="p">,</span><span·class="w">310 </span><span·class="p"·data-group-id="6394551788-3">[</span><span·class="p"·data-group-id="6394551788-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:·499ee7d31e71b21fefc5257037c3371431ad8386510739f4d43b43ae8e7b375c·...·]-4">}</span><span·class="p">,</span><span·class="w">
311 ·</span><span·class="p"·data-group-id="2240055635-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="2240055635-5">}</span><span·class="p">,</span><span·class="w">311 ·</span><span·class="p"·data-group-id="6394551788-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="6394551788-5">}</span><span·class="p">,</span><span·class="w">
312 ·</span><span·class="p"·data-group-id="2240055635-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="2240055635-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·21b340a72a6d7a027e2c17f0dd2e661d4f0c96d54ac6ab6f5a6c36d38ee6e693·...·]-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="6394551788-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="6394551788-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·22e7f813d186b9392d0bb23b3c4b788e34832f6d01d6e202271226654dd5e1b6·...·]-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="7195985949-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="7195985949-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="3991238397-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="3991238397-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="7195985949-2">(</span><span·class="p"·data-group-id="7195985949-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="3991238397-2">(</span><span·class="p"·data-group-id="3991238397-2">)</span><span·class="p">.</span><span·class="w">
317 </span><span·class="p"·data-group-id="7195985949-3">[</span><span·class="p"·data-group-id="7195985949-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:·00ca04247b5a4c4cb10cd2d996400009be6e6878815839ba4d63d498b75734ab·...·]-4">}</span><span·class="p">,</span><span·class="w">317 </span><span·class="p"·data-group-id="3991238397-3">[</span><span·class="p"·data-group-id="3991238397-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:·d3869321705117fe95eac7682d2e6d8361f3c3fcfaf4dade016abb167c70638f·...·]-4">}</span><span·class="p">,</span><span·class="w">
318 ·</span><span·class="p"·data-group-id="7195985949-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="7195985949-5">}</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·a1c22a4303166d8fc6d77734edf28f5b52ea32f75cf3dca7706bdb363f4dd3f1·...·]-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="3991238397-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="3991238397-5">}</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·15ea76c02e5e9aa6f9e2456d8077e1d92e8c690a29aebebda3ce07240e6afa5d·...·]-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="0191969436-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="0191969436-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="4051164905-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="4051164905-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="0191969436-2">(</span><span·class="p"·data-group-id="0191969436-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="4051164905-2">(</span><span·class="p"·data-group-id="4051164905-2">)</span><span·class="p">.</span><span·class="w">
328 </span><span·class="p"·data-group-id="0191969436-3">[</span><span·class="p"·data-group-id="0191969436-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:·a7a9717e772085864878bca4887012270e2ca0d50daa806fa8ee44fe914fc595·...·]-4">}</span><span·class="p">,</span><span·class="w">328 </span><span·class="p"·data-group-id="4051164905-3">[</span><span·class="p"·data-group-id="4051164905-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:·042c0c0f885d7caed10a8ab91f3b63419851a95187245d5bb901fc09d5aad29f·...·]-4">}</span><span·class="p">,</span><span·class="w">
329 ·</span><span·class="p"·data-group-id="0191969436-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="0191969436-5">}</span><span·class="p">,</span><span·class="w">329 ·</span><span·class="p"·data-group-id="4051164905-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="4051164905-5">}</span><span·class="p">,</span><span·class="w">
330 ·</span><span·class="p"·data-group-id="0191969436-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="0191969436-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·bb7bd6a50b27fbf5f16fd55731cc1be37dcb2cbe679870a8b9a8e32e26c669e7·...·]-3">]</span></code></pre><p>If·the·application·is·not·already·loaded,·the·application·controller·first·loads330 ·</span><span·class="p"·data-group-id="4051164905-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="4051164905-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·2cbb1cc63ffe7aed8d562c34c709aa1cf652f996081ea46fb371019306eb5199·...·]-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.2.7/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.2.7/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-15.2.7/doc/html/erlang.html#group_leader/0">group334 the·application.</p><p>The·application·master·establishes·itself·as·the·<a·href="../../erts-15.2.7/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="9631562159-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="5772285776-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="9631562159-2">[</span><span·class="p"·data-group-id="9631562159-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="9631562159-3">}</span><span·class="p">,</span><span·class="w">355 ·</span><span·class="p"·data-group-id="5772285776-2">[</span><span·class="p"·data-group-id="5772285776-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="5772285776-3">}</span><span·class="p">,</span><span·class="w">
356 ··</span><span·class="p"·data-group-id="9631562159-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="9631562159-4">}</span><span·class="p">,</span><span·class="w">356 ··</span><span·class="p"·data-group-id="5772285776-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="5772285776-4">}</span><span·class="p">,</span><span·class="w">
357 ··</span><span·class="p"·data-group-id="9631562159-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9631562159-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:·10ef9d17f6ed8da60d17efcf9ae9851df194f0b2345248b3def3f8cdb9e92865·...·]-5">}</span><span·class="p">,</span><span·class="w">357 ··</span><span·class="p"·data-group-id="5772285776-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5772285776-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:·2e8b2a86e8c4e0fbd142eb0e0eed560a72f77770282838d4da342ebaccec8b4c·...·]-5">}</span><span·class="p">,</span><span·class="w">
358 ··</span><span·class="p"·data-group-id="9631562159-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9631562159-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="9631562159-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·9178bcf173446b3a0a56278d8a58616e4cdfee608d4e63e0f77dc3bdc16f3867·...·]-7">}</span><span·class="p">,</span><span·class="w">358 ··</span><span·class="p"·data-group-id="5772285776-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5772285776-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="5772285776-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·1b2c7e31c4798e3c5f934b5a3e3bf0b1448d990611311b21756abd2e392075bc·...·]-7">}</span><span·class="p">,</span><span·class="w">
359 ··</span><span·class="p"·data-group-id="9631562159-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9631562159-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:·f77d119ca0cb3c059c41d8496121edeb86dfbd80c3f33a4e3b24b6872e54717f·...·]-9">}</span><span·class="p">,</span><span·class="w">359 ··</span><span·class="p"·data-group-id="5772285776-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5772285776-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:·aae35352d656466bc0a69610ba19d9878a7210d0304d7cce4db7986e109a52d8·...·]-9">}</span><span·class="p">,</span><span·class="w">
360 ··</span><span·class="p"·data-group-id="9631562159-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9631562159-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="9631562159-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·141f9b30712198d459a038cc7380aa882db8d2f5de7e36deea5375f2453c61ea·...·]-11">}</span><span·class="p">,</span><span·class="w">360 ··</span><span·class="p"·data-group-id="5772285776-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5772285776-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="5772285776-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·8754157001cd975cd8fe21384f59463d50d3a71c6c369c1cf18e04e17fdfda97·...·]-11">}</span><span·class="p">,</span><span·class="w">
361 ··</span><span·class="p"·data-group-id="9631562159-14">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9631562159-15">[</span><span·class="p"·data-group-id="9631562159-16">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·224,·SHA:·20ba707cd043a2aa3780a5f1a292f302cf259b6c75910e2473f28a0f489b3152·...·]-14">}</span><span·class="w">361 ··</span><span·class="p"·data-group-id="5772285776-14">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5772285776-15">[</span><span·class="p"·data-group-id="5772285776-16">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·224,·SHA:·0f05b1fa5ac6e463b35d3a2f6b3aae0d3688e39c7f830d31ab11547d5389320b·...·]-14">}</span><span·class="w">
362 ·</span><span·class="p"·data-group-id="9631562159-2">]</span><span·class="p"·data-group-id="9631562159-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="5772285776-2">]</span><span·class="p"·data-group-id="5772285776-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.2.7/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.2.7/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="2353836387-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="2353836387-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:·c6b2e3df8c95ec8692121207f4d8987c1f7b0287d5ab448d65830028f2296b8e·...·]-3">]</span><span·class="w">366 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="3315252620-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="3315252620-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:·87269966cc536488ae206c79d9c7007c4ab985d8298654fb19a420a90897a1f6·...·]-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="2353836387-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="2353836387-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="3315252620-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="3315252620-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="2353836387-5">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="2353836387-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="3315252620-5">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="3315252620-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="2353836387-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="2353836387-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="3315252620-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="3315252620-6">)</span><span·class="p">.</span><span·class="w">
371 </span><span·class="p"·data-group-id="2353836387-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="2353836387-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="3315252620-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="3315252620-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="1532137857-1">[</span><span·class="p"·data-group-id="1532137857-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1532137857-3">[</span><span·class="p"·data-group-id="1532137857-4">[·...·truncated·by·diffoscope;·len:·331,·SHA:·fcf1de067993c054eff5dca90eb1a165bdbca236568ef49726ce2be5b2fc3951·...·]-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="4325695954-1">[</span><span·class="p"·data-group-id="4325695954-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4325695954-3">[</span><span·class="p"·data-group-id="4325695954-4">[·...·truncated·by·diffoscope;·len:·331,·SHA:·9497fce2e49f7f9167a7b30e7c2e5dfc1bb05687b1c79abee2025402a270e76d·...·]-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; 11350/58105 bytes (19.53%) 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="9973253605-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="6696086981-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
128 ·</span><span·class="p"·data-group-id="9973253605-2">[</span><span·class="p"·data-group-id="9973253605-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9973253605-4">[</span><span·class="p"·data-group-id="9973253605-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="9973253605-5">}</span><span·class="p"·data-group-id="9973253605-4">]</span><span·class="p"·data-group-id="9973253605-3">}</span><span·class="p"·data-group-id="9973253605-2">]</span><span·class="p">,</span><span·class="w"> 
129 ·</span><span·class="p"·data-group-id="9973253605-6">[</span><span·class="p"·data-group-id="9973253605-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9973253605-8">[</span><span·class="p"·data-group-id="9973253605-9"[·...·truncated·by·diffoscope;·len:·322,·SHA:·a787d9b878974ec9da3cae1897d2fe2767b2781f2f1c4e600f9e1c3ca92189ab·...·]</span><span·class="w">128 ·</span><span·class="p"·data-group-id="6696086981-2">[</span><span·class="p"·data-group-id="6696086981-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6696086981-4">[</span><span·class="p"·data-group-id="6696086981-5"[·...·truncated·by·diffoscope;·len:·346,·SHA:·03ccf983fb5ae8308196a867a941eb3e9e718bb37a8913eb19f71fb1dd11967e·...·]</span><span·class="w">
 129 ·</span><span·class="p"·data-group-id="6696086981-6">[</span><span·class="p"·data-group-id="6696086981-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6696086981-8">[</span><span·class="p"·data-group-id="6696086981-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="6696086981-9">}</span><span·class="p"·data-group-id="6696086981-8">]</span><span·class="p"·data-group-id="6696086981-7">}</span><span·class="p"·data-group-id="6696086981-6">]</span><span·class="w">
130 </span><span·class="p"·data-group-id="9973253605-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="6696086981-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="2711131848-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="0759789923-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
150 ·</span><span·class="p"·data-group-id="2711131848-2">[</span><span·class="p"·data-group-id="2711131848-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2711131848-4">[</span><span·class="p"·data-group-id="2711131848-5"[·...·truncated·by·diffoscope;·len:·319,·SHA:·61c618c62ee5ca9e2c83499443d6bb47e0b98c55274d2af112d9eb72463ebe40·...·]-2">]</span><span·class="p">,</span><span·class="w">150 ·</span><span·class="p"·data-group-id="0759789923-2">[</span><span·class="p"·data-group-id="0759789923-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0759789923-4">[</span><span·class="p"·data-group-id="0759789923-5"[·...·truncated·by·diffoscope;·len:·319,·SHA:·ee78ed080b02f415967413d4b753964c23972cdab1d4888f58eaebb405834cea·...·]-2">]</span><span·class="p">,</span><span·class="w">
151 ·</span><span·class="p"·data-group-id="2711131848-6">[</span><span·class="p"·data-group-id="2711131848-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2711131848-8">[</span><span·class="p"·data-group-id="2711131848-9"[·...·truncated·by·diffoscope;·len:·319,·SHA:·b742a1c22b4d24b1061911327ff8c33c1c06c244b58daae4e27ea9fc2e1a9661·...·]-6">]</span><span·class="w">151 ·</span><span·class="p"·data-group-id="0759789923-6">[</span><span·class="p"·data-group-id="0759789923-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0759789923-8">[</span><span·class="p"·data-group-id="0759789923-9"[·...·truncated·by·diffoscope;·len:·319,·SHA:·41de42252956fe623db9611e32a8ad1bd90d9d8a41fee5b2983169f59cf0c9fc·...·]-6">]</span><span·class="w">
152 </span><span·class="p"·data-group-id="2711131848-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="0759789923-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="0886097418-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="4763940541-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
167 ·</span><span·class="p"·data-group-id="0886097418-2">[</span><span·class="p"·data-group-id="0886097418-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0886097418-4">[</span><span·class="p"·data-group-id="0886097418-5"[·...·truncated·by·diffoscope;·len:·654,·SHA:·5b7e78c634366dec10ec408f7816947a39ef2ed36d8d5be6bc19e477d50e91df·...·]-2">]</span><span·class="p">,</span><span·class="w">167 ·</span><span·class="p"·data-group-id="4763940541-2">[</span><span·class="p"·data-group-id="4763940541-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4763940541-4">[</span><span·class="p"·data-group-id="4763940541-5"[·...·truncated·by·diffoscope;·len:·654,·SHA:·bdb5a17e11958293a930d47b1919f711cd2e96ce7ee7695a01205852d2db5203·...·]-2">]</span><span·class="p">,</span><span·class="w">
168 ·</span><span·class="p"·data-group-id="0886097418-8">[</span><span·class="p"·data-group-id="0886097418-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0886097418-10">[</span><span·class="p"·data-group-id="0886097418-1[·...·truncated·by·diffoscope;·len:·662,·SHA:·c0e9677785a6e695a6294d7a3387a8e2cb3a491faf5b28de13fdcb1fccbedae1·...·]-8">]</span><span·class="w">168 ·</span><span·class="p"·data-group-id="4763940541-8">[</span><span·class="p"·data-group-id="4763940541-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4763940541-10">[</span><span·class="p"·data-group-id="4763940541-1[·...·truncated·by·diffoscope;·len:·662,·SHA:·322d27bedf12a279530a58a1b51c26535783d61a783322996e4acb3cbc34c4de·...·]-8">]</span><span·class="w">
169 </span><span·class="p"·data-group-id="0886097418-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="4763940541-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-6.2.2/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-6.2.2/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="4993493017-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="4993493017-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="8547907499-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="8547907499-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="4993493017-2">(</span><span·class="p"·data-group-id="4993493017-3">[</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">3</span><span·class="p"·data-group-id="4993493017-3">]</span><span·class="p"·data-group-id="4993493017-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="8547907499-2">(</span><span·class="p"·data-group-id="8547907499-3">[</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">3</span><span·class="p"·data-group-id="8547907499-3">]</span><span·class="p"·data-group-id="8547907499-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="4993493017-4">(</span><span·class="p"·data-group-id="4993493017-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="4993493017-5">}</span><s[·...·truncated·by·diffoscope;·len:·391,·SHA:·672ec38f8a482c5fe2897e737d4fbabfd9ef296dd803fda83a64113ef08063ed·...·]-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="8547907499-4">(</span><span·class="p"·data-group-id="8547907499-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="8547907499-5">}</span><s[·...·truncated·by·diffoscope;·len:·391,·SHA:·274fd475ae185229de33021219ed9f7bee3adfc1ad322f3466252dd2f8f46350·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
178 ····</span><span·class="p"·data-group-id="4993493017-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="4993493017-7">}</span><span·class="p">;</span><span·class="w">178 ····</span><span·class="p"·data-group-id="8547907499-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="8547907499-7">}</span><span·class="p">;</span><span·class="w">
179 </span><span·class="nf">code_change</span><span·class="p"·data-group-id="4993493017-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:·98ca83e4385f155557cc7ff87495e72e380f53fcf9614e1156b1d8a4376197b4·...·]-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="8547907499-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:·40de4366700f960613fddcb86d9f5cf86fdca147d8486cda10ea6ebc8cfd5a18·...·]-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="4993493017-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4993493017-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:·1ac7e46bcd8ee06855c9afe411b6842913ba595351c3ece1a3fad1e1f2c001d2·...·]-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="8547907499-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8547907499-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:·059db2c291f4201fca9dbbee5cc22f3fd38cc8e63b3aaaa87c26e173758a1445·...·]-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="5159709036-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="5159709036-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="1546292840-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="1546292840-1">}</span><span·class="w">
198 </span><span·class="p"·data-group-id="5159709036-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="5159709036-3">{</span><span·class="ss">advanced<[·...·truncated·by·diffoscope;·len:·254,·SHA:·44db6c3b86ef534bcbdd3477fd9ce0621797e282e1a0c0facc3e2b3184b83311·...·]-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="1546292840-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="1546292840-3">{</span><span·class="ss">advanced<[·...·truncated·by·diffoscope;·len:·254,·SHA:·e40224ac9ff281e2789f4ea6e83c8db0159c2a9d60553ad7d9a19152ca017bd8·...·]-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="8967520456-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">200 </span><span·class="p"·data-group-id="5901046678-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
201 ·</span><span·class="p"·data-group-id="8967520456-2">[</span><span·class="p"·data-group-id="8967520456-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8967520456-4">[</span><span·class="p"·data-group-id="8967520456-5"[·...·truncated·by·diffoscope;·len:·499,·SHA:·ca5a74d4d95536bc8a675724e38e75935e783cf78dcac8b0b5a81d3d4b786bb7·...·]-2">]</span><span·class="p">,</span><span·class="w">201 ·</span><span·class="p"·data-group-id="5901046678-2">[</span><span·class="p"·data-group-id="5901046678-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5901046678-4">[</span><span·class="p"·data-group-id="5901046678-5"[·...·truncated·by·diffoscope;·len:·499,·SHA:·972a60cdf1135ee77e68d5cc26c23155607c1c787fafc6f0f2793cc923ec8677·...·]-2">]</span><span·class="p">,</span><span·class="w">
202 ·</span><span·class="p"·data-group-id="8967520456-7">[</span><span·class="p"·data-group-id="8967520456-8">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8967520456-9">[</span><span·class="p"·data-group-id="8967520456-10[·...·truncated·by·diffoscope;·len:·503,·SHA:·3c68bcf99d7f52c58b9c8bebf5b94196c0097bf69d5897afed57b36ffa9e4571·...·]-7">]</span><span·class="w">202 ·</span><span·class="p"·data-group-id="5901046678-7">[</span><span·class="p"·data-group-id="5901046678-8">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5901046678-9">[</span><span·class="p"·data-group-id="5901046678-10[·...·truncated·by·diffoscope;·len:·503,·SHA:·1bd04fa69cbee979c03185e86905d572ba5f8c110b1269dd24b82aadacfb79c5·...·]-7">]</span><span·class="w">
203 </span><span·class="p"·data-group-id="8967520456-1">}</span><span·class="p">.</span><span·class="w">203 </span><span·class="p"·data-group-id="5901046678-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="8967520456-12">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">205 </span><span·class="p"·data-group-id="5901046678-12">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
206 ·</span><span·class="p"·data-group-id="8967520456-13">[</span><span·class="p"·data-group-id="8967520456-14">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8967520456-15">[</span><span·class="p"·data-group-id="8967520456[·...·truncated·by·diffoscope;·len:·326,·SHA:·5f702dcf51523e8c0c2a24dd5929624dbe7fb676a31b6dc54fb55f3e6f9a561c·...·]-13">]</span><span·class="p">,</span><span·class="w">206 ·</span><span·class="p"·data-group-id="5901046678-13">[</span><span·class="p"·data-group-id="5901046678-14">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5901046678-15">[</span><span·class="p"·data-group-id="5901046678[·...·truncated·by·diffoscope;·len:·326,·SHA:·fd081eaa9f3e78e8f41ac76a0245cd0e95791ba6914ae1d0899657cc3a55b672·...·]-13">]</span><span·class="p">,</span><span·class="w">
207 ·</span><span·class="p"·data-group-id="8967520456-17">[</span><span·class="p"·data-group-id="8967520456-18">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8967520456-19">[</span><span·class="p"·data-group-id="8967520456[·...·truncated·by·diffoscope;·len:·326,·SHA:·2c083e1998df63627663f99f8666d10bd98d5ac519608d161ae6f5373a597632·...·]-17">]</span><span·class="w">207 ·</span><span·class="p"·data-group-id="5901046678-17">[</span><span·class="p"·data-group-id="5901046678-18">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5901046678-19">[</span><span·class="p"·data-group-id="5901046678[·...·truncated·by·diffoscope;·len:·326,·SHA:·cfe3c11f1f34bcadb7f979186520535387d2af4612c099ec7e31f6fb4448f31d·...·]-17">]</span><span·class="w">
208 </span><span·class="p"·data-group-id="8967520456-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="5901046678-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="3803570607-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="7105182754-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
210 ·</span><span·class="p"·data-group-id="3803570607-2">[</span><span·class="p"·data-group-id="3803570607-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">210 ·</span><span·class="p"·data-group-id="7105182754-2">[</span><span·class="p"·data-group-id="7105182754-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">
211 ···</span><span·class="p"·data-group-id="3803570607-4">[</span><span·class="p"·data-group-id="3803570607-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="3803570607-5">}</span><span·class="p">,</span><span·class="w">211 ···</span><span·class="p"·data-group-id="7105182754-4">[</span><span·class="p"·data-group-id="7105182754-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="7105182754-5">}</span><span·class="p">,</span><span·class="w">
212 ····</span><span·class="p"·data-group-id="3803570607-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="3803570607-7">[</span><span·class="ss">ch3</sp[·...·truncated·by·diffoscope;·len:·256,·SHA:·26f953a197de5245b569770edaea55178d827545ecc91998af5b4ef3af47a7ab·...·]-2">]</span><span·class="p">,</span><span·class="w">212 ····</span><span·class="p"·data-group-id="7105182754-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="7105182754-7">[</span><span·class="ss">ch3</sp[·...·truncated·by·diffoscope;·len:·256,·SHA:·bd7dac092806fad4913d659f6e40996efae1f7f4b1a7ce04f675e76908d8e3a2·...·]-2">]</span><span·class="p">,</span><span·class="w">
213 ·</span><span·class="p"·data-group-id="3803570607-8">[</span><span·class="p"·data-group-id="3803570607-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">213 ·</span><span·class="p"·data-group-id="7105182754-8">[</span><span·class="p"·data-group-id="7105182754-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">
214 ···</span><span·class="p"·data-group-id="3803570607-10">[</span><span·class="p"·data-group-id="3803570607-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="3803570607-11">}</span><span·class="p">,</span><span·class="w">214 ···</span><span·class="p"·data-group-id="7105182754-10">[</span><span·class="p"·data-group-id="7105182754-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="7105182754-11">}</span><span·class="p">,</span><span·class="w">
215 ····</span><span·class="p"·data-group-id="3803570607-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="3803570607-13">[</span><span·class="ss">ch3</[·...·truncated·by·diffoscope;·len:·261,·SHA:·07c111143edeeb640da2534681fbfecfda48b25825ea557ff6e3ffc17818b0fc·...·]-8">]</span><span·class="w">215 ····</span><span·class="p"·data-group-id="7105182754-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="7105182754-13">[</span><span·class="ss">ch3</[·...·truncated·by·diffoscope;·len:·261,·SHA:·86610925167e1eef5a9a8141cc60330f0875f0fa69b3f86f343d1180494b789a·...·]-8">]</span><span·class="w">
216 </span><span·class="p"·data-group-id="3803570607-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="7105182754-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="5503084185-1">{</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5503084185-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:·9039d035de25c183ceefc9ddfb4f239c29ec22f94c312d50825a7bdf889be7ff·...·]-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="0122945850-1">{</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0122945850-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:·4625fbb1fec1f1efe82241577fb252bf9270037c7b42935ce51a69e3c66b36ab·...·]-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="5503084185-4">[</span><span·class="ss">ch4</span><span·class="p"·data-group-id="5503084185-4">]</span><span·class="p"·data-group-id="5503084185-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="0122945850-4">[</span><span·class="ss">ch4</span><span·class="p"·data-group-id="0122945850-4">]</span><span·class="p"·data-group-id="0122945850-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="8277767582-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="9832789978-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
235 ·</span><span·class="p"·data-group-id="8277767582-2">[</span><span·class="p"·data-group-id="8277767582-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8277767582-4">[</span><span·class="p"·data-group-id="8277767582-5"[·...·truncated·by·diffoscope;·len:·654,·SHA:·ae86003a383a4d0ff23499f5e394467940fa8ab83382f6c545f8366c88c2e95c·...·]-2">]</span><span·class="p">,</span><span·class="w">235 ·</span><span·class="p"·data-group-id="9832789978-2">[</span><span·class="p"·data-group-id="9832789978-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9832789978-4">[</span><span·class="p"·data-group-id="9832789978-5"[·...·truncated·by·diffoscope;·len:·654,·SHA:·26c787743452166518f10d07ea76dfd07004cbdebe51285b038daf5aab508a0e·...·]-2">]</span><span·class="p">,</span><span·class="w">
236 ·</span><span·class="p"·data-group-id="8277767582-8">[</span><span·class="p"·data-group-id="8277767582-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8277767582-10">[</span><span·class="p"·data-group-id="8277767582-1[·...·truncated·by·diffoscope;·len:·662,·SHA:·cc7f9b3f9bc268839d0279589f736dba19a830303305aa21d10b545f1d70e0d1·...·]-8">]</span><span·class="w">236 ·</span><span·class="p"·data-group-id="9832789978-8">[</span><span·class="p"·data-group-id="9832789978-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9832789978-10">[</span><span·class="p"·data-group-id="9832789978-1[·...·truncated·by·diffoscope;·len:·662,·SHA:·463d1f203715d07e2ec6866e0e528d230eef54779144309bdd8a1fad0c1bba8b·...·]-8">]</span><span·class="w">
237 </span><span·class="p"·data-group-id="8277767582-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="9832789978-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="3946813911-1">(</span><span·class="ss">ch4</span><span·class="p"·data-group-id="3946813911-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="3193408484-1">(</span><span·class="ss">ch4</span><span·class="p"·data-group-id="3193408484-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="3946813911-2">(</span><span·class="p"·data-group-id="3946813911-3">[</span><span·class="ss">system_code_change</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="3946813911-3">]</span><span·class="p"·data-group-id="3946813[·...·truncated·by·diffoscope;·len:·3,·SHA:·a5ccb1c538e34663a658b1be28b16455ee5285efb10e6f1d4caba1f69ec9782b·...·]-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="3193408484-2">(</span><span·class="p"·data-group-id="3193408484-3">[</span><span·class="ss">system_code_change</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="3193408484-3">]</span><span·class="p"·data-group-id="3193408[·...·truncated·by·diffoscope;·len:·3,·SHA:·a42e815c58f3977fe531a80ffd4659121c3b9f876a89869042816c369ed80776·...·]-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">
  
244 </span><span·class="nf">system_code_change</span><span·class="p"·data-group-id="3946813911-4">(</span><span·class="n">Chs</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">OldVsn</span><span·c[·...·truncated·by·diffoscope;·len:·134,·SHA:·19ad278e2cdc524a0a9d7e823dc3148efd1019ef9faa65d0173566d884f10981·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">244 </span><span·class="nf">system_code_change</span><span·class="p"·data-group-id="3193408484-4">(</span><span·class="n">Chs</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">OldVsn</span><span·c[·...·truncated·by·diffoscope;·len:·134,·SHA:·20ce944ffb37a30d64d2b46034fafbb36b9e53e503a403618aadd642d38a8818·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
245 ····</span><span·class="p"·data-group-id="3946813911-5">{</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="3946813911-5">}</span><span·class="p">.</span></code></pre><ul><li>The·first·argument·is·the·internal·state·<code·class="inline">State</code>,·passed·from245 ····</span><span·class="p"·data-group-id="3193408484-5">{</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="3193408484-5">}</span><span·class="p">.</span></code></pre><ul><li>The·first·argument·is·the·internal·state·<code·class="inline">State</code>,·passed·from
Max diff block lines reached; 102434/153217 bytes (66.86%) of diff not shown.
731 B
html2text {}
Max HTML report size reached
5.89 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-6.2.2/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-6.2.2/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="1021371909-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="1021371909-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="3449979285-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="3449979285-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="1021371909-2">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="1021371909-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.5.3/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="3449979285-2">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="3449979285-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.5.3/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-6.2.2/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-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>224 <p>Copyright·©·1996-2025·<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="2721259823-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="2721259823-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="6605043673-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="6605043673-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="2721259823-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2721259823-3">&lt;&lt;</span><span·class="p"·data-group-id="2721259823-3">&gt;&gt;</span><span·class="p"·data-group-id="27212598[·...·truncated·by·diffoscope;·len:·1,·SHA:·d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35·...·]3-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="6605043673-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6605043673-3">&lt;&lt;</span><span·class="p"·data-group-id="6605043673-3">&gt;&gt;</span><span·class="p"·data-group-id="66050436[·...·truncated·by·diffoscope;·len:·1,·SHA:·7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451·...·]3-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="2721259823-4">(</span><span·class="p"·data-group-id="2721259823-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="2721259823-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·58,·SHA:·f02481fc71e55a5dd0ccebfd5c63ae20fd9b7b33a3a4d4b52065a3efdd6a1f1f·...·]3-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="6605043673-4">(</span><span·class="p"·data-group-id="6605043673-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6605043673-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·58,·SHA:·aa7f5216dc02ac3ad01a6833c2d1379166ebf06cad99df079ea950d9ab0df3e0·...·]3-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="2721259823-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2721259823-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:·126,·SHA:·24f063fa964a33e05a38db7543c94714b6707ab54c06626a03d96a7a60f3ba99·...·]3-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="6605043673-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6605043673-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:·126,·SHA:·9864256cce08183c6bcfd4c1e29f96bae129bc6a348471abca4565b2379a2f6f·...·]3-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="2721259823-8">(</span><span·class="p"·data-group-id="2721259823-9">[</span><span·class="p"·data-group-id="2721259823-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="2721259823-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="6605043673-8">(</span><span·class="p"·data-group-id="6605043673-9">[</span><span·class="p"·data-group-id="6605043673-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="6605043673-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="3560836765-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="3560836765-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="9938404244-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="9938404244-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="3560836765-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3560836765-3">&lt;&lt;</span><span·class="p"·data-group-id="3560836765-3">&gt;&gt;</span><span·class="p"·data-group-id="35608367[·...·truncated·by·diffoscope;·len:·2,·SHA:·108c995b953c8a35561103e2014cf828eb654a99e310f87fab94c2f4b7d2a04f·...·]-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="9938404244-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9938404244-3">&lt;&lt;</span><span·class="p"·data-group-id="9938404244-3">&gt;&gt;</span><span·class="p"·data-group-id="99384042[·...·truncated·by·diffoscope;·len:·2,·SHA:·71ee45a3c0db9a9865f7313dd3372cf60dca6479d46261f3542eb9346e4a04d6·...·]-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="3560836765-4">(</span><span·class="p"·data-group-id="3560836765-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="3560836765-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·59b2200742f2ad27f12fab87dd8e2b16ed77500fd02ac295a489701155da8d0b·...·]-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="9938404244-4">(</span><span·class="p"·data-group-id="9938404244-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="9938404244-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·a0449bafb520dcda99ea6c8fdfde9d9b0994b5ba23368be49405ba4292b85808·...·]-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="3560836765-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3560836765-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:·632adc34cf22eb2da03455dafa61f2a30be9143e208e5966a395614772f92840·...·]-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="9938404244-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9938404244-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:·8669a97f8c588c4f017aff33b60fbcc8153fe6f9276d0e4e975982be5ad98168·...·]-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="3560836765-8">(</span><span·class="p"·data-group-id="3560836765-9">[</span><span·class="p"·data-group-id="3560836765-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="3560836765-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="9938404244-8">(</span><span·class="p"·data-group-id="9938404244-9">[</span><span·class="p"·data-group-id="9938404244-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="9938404244-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="6299501008-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="6299501008-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="0466340149-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="0466340149-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="6299501008-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="6299501008-3">(</span><span·class="n">List</span><span·class="p"·data-group-id="6299501008-3">)</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·192,·SHA:·a2b98ab7573b6e2411fc3197f0eadbac49c9dd0f1afaf661fd127015146451c7·...·]-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="0466340149-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="0466340149-3">(</span><span·class="n">List</span><span·class="p"·data-group-id="0466340149-3">)</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·192,·SHA:·be6e420deac013b7897600afd13c345990a5194b3fd6018151b192cbdfc9ed0e·...·]-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="6299501008-5">(</span><span·class="p"·data-group-id="6299501008-6">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6299501008-6">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·5f2448c8c63920428850968fe316981d55ced403f0ab23af9598e682014fb27b·...·]-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="0466340149-5">(</span><span·class="p"·data-group-id="0466340149-6">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0466340149-6">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·7f7ef760e6316151e53ef9abe02becc21cf1203981033cfd0dd832597ec41513·...·]-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="6299501008-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6299501008-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:·5265dc41f8e3309bbd77615f96e75a306188463fdbcfc78a3cb73bce3de14f8b·...·]-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="0466340149-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0466340149-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:·cd5147c44af6f20e6d917ff4d7b6a7227ff071c599f8e158f1fd9ee86fd4f5c6·...·]-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="6299501008-9">(</span><span·class="p"·data-group-id="6299501008-10">[</span><span·class="p"·data-group-id="6299501008-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="6299501008-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="0466340149-9">(</span><span·class="p"·data-group-id="0466340149-10">[</span><span·class="p"·data-group-id="0466340149-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="0466340149-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="9714727739-1">(</span><span·class="p"·data-group-id="9714727739-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="9714727739-2">]</span><span·class="p"·data-group-id="9714727739-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="2793391316-1">(</span><span·class="p"·data-group-id="2793391316-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="2793391316-2">]</span><span·class="p"·data-group-id="2793391316-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="9714727739-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="9714727739-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="2793391316-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="2793391316-3">)</span><span·class="p">,</span><span·class="w">
139 ····</span><span·class="p"·data-group-id="9714727739-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="9714727739-4">&gt;&gt;</span><span·class="p">;</span><span·class="w">139 ····</span><span·class="p"·data-group-id="2793391316-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="2793391316-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="9714727739-5">(</span><span·class="p"·data-group-id="9714727739-6">[</span><span·class="p"·data-group-id="9714727739-6">]</span><span·class="p"·data-group-id="9714727739-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="2793391316-5">(</span><span·class="p"·data-group-id="2793391316-6">[</span><span·class="p"·data-group-id="2793391316-6">]</span><span·class="p"·data-group-id="2793391316-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ····</span><span·class="p"·data-group-id="9714727739-7">&lt;&lt;</span><span·class="p"·data-group-id="9714727739-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="2793391316-7">&lt;&lt;</span><span·class="p"·data-group-id="2793391316-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="2656018441-1">(</span><span·class="p"·data-group-id="2656018441-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="2656018441-2">&gt[·...·truncated·by·diffoscope;·len:·53,·SHA:·e89b75367be58ce527ad7223d2f5fee42165a322d0bcf113ef8eccf2980cfef6·...·]-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="6256681037-1">(</span><span·class="p"·data-group-id="6256681037-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="6256681037-2">&gt[·...·truncated·by·diffoscope;·len:·53,·SHA:·e1bf79eb5afb33369e2d6f9bc5c2f6448c256e44c78d9a4eea5130a92fabe236·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
143 ····</span><span·class="p"·data-group-id="2656018441-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="2656018441-4">(</span><span·class="n">T</span><span·class="p"·data-group-id="2656018441-4">)</span><span·class="p"·data-group-id="2656018441-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="2656018441-5">(</span><span·class="p"·data-group-id="2656018441-6">&lt;&lt;</span><span·class="p"·data-group-id="2656018441-6">&gt;&gt;</span><span·class="p"·data-group-id="2656[·...·truncated·by·diffoscope;·len:·297,·SHA:·beee4b83247b791f4eeff61aacfb98f8aabbd2deae31bd775f8da1a3452765f6·...·]">143 ····</span><span·class="p"·data-group-id="6256681037-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="6256681037-4">(</span><span·class="n">T</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·118,·SHA:·808a0ce3b9f9d21451bafc5fac739672ed830da94539459b15496b38573c7573·...·]">
 144 </span><span·class="nf">my_binary_to_list</span><span·class="p"·data-group-id="6256681037-5">(</span><span·class="p"·data-group-id="6256681037-6">&lt;&lt;</span><span·class="p"·data-group-id="6256681037-6">&gt;&gt;</span><span·class="p"·data-group-id="6256681037-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6256681037-7">[</span><span·class="p"·data-group-id="6256681037-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="7557634413-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:·16,·SHA:·3a248f1dc14c81b3fdff7c8e9ee597f446c14808e0e060b80b99bf5ebad7291e·...·]3-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="5462632753-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:·16,·SHA:·e54b175a1e493fc240ee55abbd8b3bc0d0296bd18092fe21e3dc11f3d17080cf·...·]3-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="7557634413-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:·19,·SHA:·fb852dc304ff312a4c756187be1c3036b9da7ca2d77773e3b76e2b0240a32b92·...·]3-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="5462632753-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:·19,·SHA:·489f0d4267d3c47ceb644c7133e242a5d2d566c2b60738f66bb7e7a33cff40f8·...·]3-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="1875741406-1">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="1875741406-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="5912199693-1">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="5912199693-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="1875741406-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:·c8ba79e675eb09ebbd3e73ea16170442b2b1cdcce4c01c3087916535f596a448·...·]-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="5912199693-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:·14447a3afad64cc648dd6fb231d49350f0b748a97f05f6b27caefdb28c0cbd2e·...·]-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="1875741406-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:·c8ba79e675eb09ebbd3e73ea16170442b2b1cdcce4c01c3087916535f596a448·...·]-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="5912199693-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:·14447a3afad64cc648dd6fb231d49350f0b748a97f05f6b27caefdb28c0cbd2e·...·]-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="1875741406-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:·c8ba79e675eb09ebbd3e73ea16170442b2b1cdcce4c01c3087916535f596a448·...·]-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="5912199693-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:·14447a3afad64cc648dd6fb231d49350f0b748a97f05f6b27caefdb28c0cbd2e·...·]-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="1875741406-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="1875741406-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="5912199693-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="5912199693-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="1875741406-6">{</span><span·class="n">Bin4</span><span·class="p">,</span><span·class="n">Bin3</span><span·class="p"·data-group-id="1875741406-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="5912199693-6">{</span><span·class="n">Bin4</span><span·class="p">,</span><span·class="n">Bin3</span><span·class="p"·data-group-id="5912199693-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="9744583222-1">(</span><span·class="ss">repack</span><span·class="p"·data-group-id="9744583222-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="1580440454-1">(</span><span·class="ss">repack</span><span·class="p"·data-group-id="1580440454-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="9744583222-2">(</span><span·class="p"·data-group-id="9744583222-3">[</span><span·class="ss">repack</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9744583222-3">]</span><span·class="p"·data-group-id="9744583222-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="1580440454-2">(</span><span·class="p"·data-group-id="1580440454-3">[</span><span·class="ss">repack</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="1580440454-3">]</span><span·class="p"·data-group-id="1580440454-2">)</span><span·class="p">.</span><span·class="w">
  
262 </span><span·class="nf">repack</span><span·class="p"·data-group-id="9744583222-4">(</span><span·class="n">Bin</span><span·class="p"·data-group-id="9744583222-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="9744583222-5">(<[·...·truncated·by·diffoscope;·len:·73,·SHA:·c0dcdaeb7192a468482df18194c3d390a0105d156c2d6e8807d4169d361fcb3a·...·]-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="1580440454-4">(</span><span·class="n">Bin</span><span·class="p"·data-group-id="1580440454-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="1580440454-5">(<[·...·truncated·by·diffoscope;·len:·73,·SHA:·68e25c3c5d5eb717d4c65ae15cfd5196d6616123948fc8a462004fa5c8660f83·...·]-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="9744583222-6">(</span><span·class="n">Bin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9744583222-7">&lt;&lt;</span><span·class="p"·data-group-id="9744583222-7">&gt;&gt;</span><span·class="p"·data-group-id="974458322[·...·truncated·by·diffoscope;·len:·1,·SHA:·d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35·...·]-6">)</span><span·class="p">.</span><span·class="w">263 ····</span><span·class="nf">repack</span><span·class="p"·data-group-id="1580440454-6">(</span><span·class="n">Bin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1580440454-7">&lt;&lt;</span><span·class="p"·data-group-id="1580440454-7">&gt;&gt;</span><span·class="p"·data-group-id="158044045[·...·truncated·by·diffoscope;·len:·1,·SHA:·4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
264 </span><span·class="nf">repack</span><span·class="p"·data-group-id="9744583222-8">(</span><span·class="p"·data-group-id="9744583222-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:·01ae56123808e057c88d84d3b064795c76f1dcd7a1de4ca9786e6a3ca0a3ebf0·...·]-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="1580440454-8">(</span><span·class="p"·data-group-id="1580440454-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:·4c9da0baf4f2bc762f19276a341d1ae983b6a7e79e3068825ddcc962a0034ab6·...·]-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="9744583222-10">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9744583222-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:·5e69ee91fb1b951f340289f481cf2c994174025b47e267e81de49b2c28db3a3d·...·]-10">)</span><span·class="p">;</span><span·class="w">265 ····</span><span·class="nf">repack</span><span·class="p"·data-group-id="1580440454-10">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1580440454-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:·c327d449d694ef40c7973940cdbfae9b5abe715343e8ded9f67ec9f260835afc·...·]-10">)</span><span·class="p">;</span><span·class="w">
266 </span><span·class="nf">repack</span><span·class="p"·data-group-id="9744583222-12">(</span><span·class="p"·data-group-id="9744583222-13">&lt;&lt;</span><span·class="p"·data-group-id="9744583222-13">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="974[·...·truncated·by·diffoscope;·len:·7,·SHA:·71d1a076c9ee540d1aac34bd2919a36b69a6a7dd38bf16114841922942e5c2f4·...·]-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="1580440454-12">(</span><span·class="p"·data-group-id="1580440454-13">&lt;&lt;</span><span·class="p"·data-group-id="1580440454-13">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="158[·...·truncated·by·diffoscope;·len:·7,·SHA:·249bde06b5127d8299a2bcc2dda5986b655f63745d90bd7e495f791210984b99·...·]-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="6271534416-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="6271534416-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="9567817226-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="9567817226-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="0868683010-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="0868683010-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="8576095036-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="8576095036-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="0868683010-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="0868683010-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="8576095036-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="8576095036-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-15.2.7/doc/html/erlang.html#port_command/2"><code·class="inline">erlang:port_command/2</code></a>,·or·pass·it·to296 using·<a·href="../../erts-15.2.7/doc/html/erlang.html#port_command/2"><code·class="inline">erlang:port_command/2</code></a>,·or·pass·it·to
297 <a·href="../../erts-15.2.7/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-15.2.7/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="6426929441-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="6426929441-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="4119776546-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="4119776546-1">&gt;&gt;</span><span·class="p">,</span><span·class="w">
299 </span><span·class="p"·data-group-id="6426929441-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:·73180946b6d21f91d6dbe510212f926bdc7bcda9f968433c3f9b64468c358381·...·]-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="4119776546-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:·d50fcaaaf4be22e0eda950250d4e865813aff6d2ade1a47603340feb2454dd00·...·]-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="6426929441-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="6426929441-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="4119776546-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="4119776546-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>
Max diff block lines reached; 35027/81877 bytes (42.78%) 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="0910611126-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:·ea578510219d7e67df7c1b5cd3b78d4440b2742cf43c48d2326de3fa640a266f·...·]-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="8118716518-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:·28a065e0ecc391dbfc33e2e8150867e442dcdf4540e99c134f7e11b505bc0ace·...·]-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="2652222959-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:·3371a370078a22a212781e763ece84bfde844c48ce818155ea924fbcc2d818d8·...·]-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="7705360911-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:·7270ba2025b5cf169f2ed66b0deae15eab18ea82064f9cbf0d877c292dff2a91·...·]-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="3302775798-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="3302775798-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="1974982180-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="1974982180-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="3302775798-2">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="3302775798-2">&gt;&gt;</span></code></pre><p>This·gives·two·binaries·of·size·3,·with·the·following·evaluations:</p><ul><li><a·href="../../erts-15.2.7/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-15.2.7/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="1974982180-2">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="1974982180-2">&gt;&gt;</span></code></pre><p>This·gives·two·binaries·of·size·3,·with·the·following·evaluations:</p><ul><li><a·href="../../erts-15.2.7/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-15.2.7/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="3657161701-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:·395cd899412beb3b523791411bb306eab42c16c4dfbbf62471718443137e2426·...·]-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="7059645580-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:·db81411377b510466699a1116f000a17201f5c288b99d660677d55b723f20530·...·]-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-15.2.7/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-15.2.7/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="9182290657-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:·85,·SHA:·a6d88937ecdef98f7fceb1dbb34ec04c24463a24042a372fa3b465644364c510·...·]7-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="6896448387-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:·85,·SHA:·b5ea6198cc073dafd8d3755ae4b1f4b842b4091ad7a06105e5b76979bba5e03c·...·]7-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="4144705643-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="4144705643-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="3731657790-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="3731657790-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="4144705643-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="4144705643-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="3731657790-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="3731657790-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="4144705643-3">(</span><span·class="n">Dgram</span><span·class="p"·data-group-id="4144705643-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="3731657790-3">(</span><span·class="n">Dgram</span><span·class="p"·data-group-id="3731657790-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="4144705643-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="3731657790-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="4144705643-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="3731657790-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="4144705643-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="4144705643-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="3731657790-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="3731657790-5">)</span><span·class="p">,</span><span·class="w">
158 ········</span><span·class="p"·data-group-id="4144705643-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:·bb735ca0cc63eb2cf4e7fce4df29bdba4e28cc8e9dbbadd23a7845a4cce7687a·...·]-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="3731657790-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:·2c338676ab4570b06b3ddb17c625bd505ed198b46a9a77bbc9c0a4b1f769c462·...·]-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="3185680129-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="318[·...·truncated·by·diffoscope;·len:·7,·SHA:·ea738911093babd5b36fe60d309fa435fdd7cebb62ea1515230fcd50bd284476·...·]-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="4541679913-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="454[·...·truncated·by·diffoscope;·len:·7,·SHA:·82f95ae4aaaa981e8e0093cf0df8b72b3fe787fba1ce2f3085866a27ae7d75c1·...·]-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="6778365581-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="6778365581-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="9543069100-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="9543069100-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="1988244280-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="1988244280-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="4963918313-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="4963918313-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="9128151833-1">&lt;&lt;</span><span·class="p"·data-group-id="9128151833-2">(</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="9128151833-2">)</span><span·class="p">:</span><span·class="mi">8</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·f7917c163d9c5080a6f4d05e6a66677ec1e040280fb9e9de4d65fe68fe71aea1·...·]-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="1440276431-1">&lt;&lt;</span><span·class="p"·data-group-id="1440276431-2">(</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="1440276431-2">)</span><span·class="p">:</span><span·class="mi">8</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·e162c3207bcd29af2eff705e43bb87c1529fb191fa266ac22fa77a950cfdeb68·...·]-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="0411106715-1">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="0411106715-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:·962014d3a3242440a6a00cdac42654852326046bac17a0d173327cdde207f7a5·...·]-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="5986216106-1">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="5986216106-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:·4a8e75fe5d66aba4cc14e7207ae34813567709587d38f37e3b9c4238ccc1eec5·...·]-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="3675861572-1">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3675861572-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:·5fd26e3fb5ce28e92cb39e5b75d7b4a6a622025886286911c3b0780a586b5bb1·...·]-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="4136249783-1">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4136249783-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:·0fb55f5dc41ed1031fd2dee2a8cc5e2b17494eaa926d7e16370a756dfd584cf8·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
257 ···</span><span·class="p"·data-group-id="3675861572-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="3675861572-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="4243239771-1">(</span><span·[·...·truncated·by·diffoscope;·len:·213,·SHA:·993b62b977e0b6794c864ac3c396d36ed2e6ad2b6aaa40ed60ae39fd2ad9f90f·...·]257 ···</span><span·class="p"·data-group-id="4136249783-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="4136249783-3">}</span><span·class="p">.</span></code></pre><p>The·two·occurrences·of·<code[·...·truncated·by·diffoscope;·len:·77,·SHA:·b79cd7a1b3a5d65635c58ed8a311bdfe1e6d3c335245d3f0a149a77a129ced39·...·]
 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="1965685032-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="1965685032-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
259 ···</span><span·class="p"·data-group-id="4243239771-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="4243239771-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="1965685032-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="1965685032-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="4243239771-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="4243239771-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="1965685032-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="1965685032-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="1322218553-1">(</span><span·class="p"·data-group-id="1322218553-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:·7b4645122a0eab4af74592b21113101ca1b972c245a8ae43e03a46e64aeafadd·...·]-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="7895702641-1">(</span><span·class="p"·data-group-id="7895702641-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:·36ef04a77b8021e1049d54d19763745beca4019805275b4b1b8e76b788354367·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
270 ···</span><span·class="p"·data-group-id="1322218553-3">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="1322218553-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="3598796939-1">(</span><span·class="p"·data-group-id="3598796939-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="3598796939-3">(</span><span·class="p"·data-group-id="3598796939-4">(</span><span·class="n">Sz</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="3598796939-4">)</span><span·class="o">*</span><span·class="mi">8</span><span·class="p"·data-group-id="3598796939-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="3598796939-2">&gt;&gt;</span><span·class="p"·data-group-id="3598796939-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
272 ···</span><span·class="p"·data-group-id="3598796939-5">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="3598796939-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·...·]270 ···</span><span·class="p"·data-group-id="7895702641-3">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="7895702641-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·...·]
 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="0373638165-1">(</span><span·class="p"·data-group-id="0373638165-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="0373638165-3">(</span><span·class="p"·data-group-id="0373638165-4">(</span><span·class="n">Sz</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="0373638165-4">)</span><span·class="o">*</span><span·class="mi">8</span><span·class="p"·data-group-id="0373638165-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="0373638165-2">&gt;&gt;</span><span·class="p"·data-group-id="0373638165-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 272 ···</span><span·class="p"·data-group-id="0373638165-5">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="0373638165-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="4290909228-1">(</span><span·class="p"·data-group-id="4290909228-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:·783,·SHA:·6bf4601b2bce15758bc6e89e26ce27bfe28bdbf07273aaae81b67e3c9f38a6df·...·]9-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="1025282054-1">(</span><span·class="p"·data-group-id="1025282054-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:·783,·SHA:·cc29834e937d9c27a4c6c525fc611e49b2d4f0f6f18d5456abacd167858384f1·...·]9-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="3103435441-1">(</span><span·class="n">T</span><span·class="p"·data-group-id="3103435441-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="0403648749-1">(</span><span·class="n">T</span><span·class="p"·data-group-id="0403648749-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="3103435441-2">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3103435441-3">&lt;&lt;</span><span·class="p"·data-group-id="3103435441-3">&gt;&gt;</span><span·class="p"·data-group-id="3103435441-2">)</span><span·class="p">.</span><span·class="w">286 ····</span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="0403648749-2">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0403648749-3">&lt;&lt;</span><span·class="p"·data-group-id="0403648749-3">&gt;&gt;</span><span·class="p"·data-group-id="0403648749-2">)</span><span·class="p">.</span><span·class="w">
  
287 </span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="3103435441-4">(</span><span·class="p"·data-group-id="3103435441-5">[</span><span·class="p"·data-group-id="3103435441-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:·f92fef8b4b5c8951ecd5f727f78296ea8ea22981bb52e4077f40f1c40d784c53·...·]-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="0403648749-4">(</span><span·class="p"·data-group-id="0403648749-5">[</span><span·class="p"·data-group-id="0403648749-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:·1fe23922ef5f5a20b2c120f1e09f51b063b5f0ddad8c3b62e1d8c7bdd5f79340·...·]-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="3103435441-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3103435441-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:·c25b4ec78ee9ca129677c7d162c3049c92f8586992b78297febaa7b7d04a8cda·...·]-7">)</span><span·class="p">;</span><span·class="w">288 ····</span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="0403648749-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0403648749-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:·64087dab0f3719b127a210d8d29251021cf23ec31ba522546636e54024307e5d·...·]-7">)</span><span·class="p">;</span><span·class="w">
289 </span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="3103435441-9">(</span><span·class="p"·data-group-id="3103435441-10">[</span><span·class="p"·data-group-id="3103435441-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="3103435441-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="0403648749-9">(</span><span·class="p"·data-group-id="0403648749-10">[</span><span·class="p"·data-group-id="0403648749-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="0403648749-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; 872/49897 bytes (1.75%) 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-15.2.7/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-15.2.7/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="6728295826-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="6728295826-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="4244230845-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="4244230845-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="6728295826-2">(</span><span·class="p"·data-group-id="6728295826-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:·c788b68917b684e1b161cfe6222502b87e51af0923cb979cbb3a490723b42f62·...·]-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="4244230845-2">(</span><span·class="p"·data-group-id="4244230845-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:·d363032f3ab6501eca3c781964982cbbd6ae0032000c81b0fd597c6c9af7e772·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">start</span><span·class="p"·data-group-id="6728295826-4">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="6728295826-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="4244230845-4">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="4244230845-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="6728295826-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="6728295826-6">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·461145ce4cea3435a1135e408f1eb5ebe849b1f60a063e34ba4942de6173f04f·...·]-5">)</span><span·class="p">.</span><span·class="w">158 ··</span><span·class="nf">spawn</span><span·class="p"·data-group-id="4244230845-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="4244230845-6">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·8ebb0009d030a4a67c5e7140383516200c30576b2bf9e88c2fff79232663caa9·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">init</span><span·class="p"·data-group-id="6728295826-7">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="6728295826-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="4244230845-7">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="4244230845-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="6728295826-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="6728295826-9">(</span><span·class="p"·data-group-id="6728295826-9">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·c03c7e75d6810dc63fa48b572507047cf9512245e5b07adbfffa11c111f3dbbd·...·]-8">)</span><span·class="p">,</span><span·class="w">160 ··</span><span·class="nf">register</span><span·class="p"·data-group-id="4244230845-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="4244230845-9">(</span><span·class="p"·data-group-id="4244230845-9">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·a95a71698f735d9195bfb152d7846b4a48a1f28b1ee19096d0734c8c24a7438c·...·]-8">)</span><span·class="p">,</span><span·class="w">
161 ··</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="6728295826-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="6728295826-10">)</span><span·class="p">,</span><span·class="w">161 ··</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="4244230845-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="4244230845-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="6728295826-11">(</span><span·class="p"·data-group-id="6728295826-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="6728295826-12">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6728295826-13">[</span><span·class="p"·data-group-id="6728295826-14">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="6728295826-14">}</span><span·class="p"·data-group-id="6728295826-13">]</span><span·class="p"·data-group-id="6728295826-11">)</span><span·class="p">,</span><span·class="w"> 
163 ··</span><span·class="nf">loop</span><span·class="p"·data-group-id="6728295826-15">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6728295826-15">)</span><span·class="p">.</span></code></pre><p>Now·<code·class="inline">complex1:foo/1</code>·and·<code·class="inl[·...·truncated·by·diffoscope;·len:·58,·SHA:·3117d01f7bd68ff4689794ef31e2a9077a76513598f83716c3d6401703233deb·...·]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="4244230845-11">(</span><span·class="p"·data-group-id="4244230845-12">{</span><span·class="nb">spawn</span><[·...·truncated·by·diffoscope;·len:·591,·SHA:·110736286898b81d8561d24387748e893e3cf99380671d6a41cd7e857fc64492·...·]
 163 ··</span><span·class="nf">loop</span><span·class="p"·data-group-id="4244230845-15">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4244230845-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="0362394916-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="0362394916-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="2259833271-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="2259833271-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="0362394916-2">(</span><span·class="p"·data-group-id="0362394916-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="0362394916-3">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·0ba185cee43f8e912fb72bfba6985da43f7c0ec4814d09299b0d886ff63aac9d·...·]-2">)</span><span·class="p">.</span><span·class="w">165 ··</span><span·class="nf">call_port</span><span·class="p"·data-group-id="2259833271-2">(</span><span·class="p"·data-group-id="2259833271-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="2259833271-3">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·43fe5e69a72cda11f48a6a6ceefa0c5efc1504d33b4020e416263ad3930f455f·...·]-2">)</span><span·class="p">.</span><span·class="w">
166 </span><span·class="nf">bar</span><span·class="p"·data-group-id="0362394916-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="0362394916-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="2259833271-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="2259833271-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="0362394916-5">(</span><span·class="p"·data-group-id="0362394916-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="0362394916-6">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·0ba185cee43f8e912fb72bfba6985da43f7c0ec4814d09299b0d886ff63aac9d·...·]-5">)</span><span·class="p">.</span><span·class="w">167 ··</span><span·class="nf">call_port</span><span·class="p"·data-group-id="2259833271-5">(</span><span·class="p"·data-group-id="2259833271-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="2259833271-6">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·43fe5e69a72cda11f48a6a6ceefa0c5efc1504d33b4020e416263ad3930f455f·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
168 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="0362394916-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="0362394916-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="2259833271-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2259833271-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="0362394916-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="0362394916-9">(</span><span·class="p"·data-group-id="0362394916-9">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·70e127ad8184cbc3642022f1b8ca3a5c87762eb1c8628e075548c227ed2ab779·...·]-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="2259833271-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="2259833271-9">(</span><span·class="p"·data-group-id="2259833271-9">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·d2a1ecf50a109a34acbd31d85c57d5b5e1bec0f11c1e3ada434ce49d4987ba92·...·]-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="0362394916-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="0362394916-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">171 ····</span><span·class="p"·data-group-id="2259833271-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="2259833271-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="6646886116-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6646886116-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="3518602392-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3518602392-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="6646886116-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="6646886116-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 ····</span><span·class="p"·data-group-id="3518602392-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="3518602392-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="6646886116-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="6646886116-4">(</span><span·class="p"·data-group-id="6646886116-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6646886116-5">{</span[·...·truncated·by·diffoscope;·len:·336,·SHA:·e6b68fe4c41d33e16118b6bee2407b95548fba448b30c254c975011024e55d3a·...·]-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="3518602392-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3518602392-4">(</span><span·class="p"·data-group-id="3518602392-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3518602392-5">{</span[·...·truncated·by·diffoscope;·len:·336,·SHA:·0dbeeaf0ddb8e43248f525a5a99cc19c8f6dc7eed932662f5efdbc3a466d492c·...·]-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="6646886116-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6646886116-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:·2d7db9b58b7d2ada48012d707fd6b04b74d5c247c495f3699fbac89a40a355e5·...·]-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 ········</span><span·class="p"·data-group-id="3518602392-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3518602392-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:·cd0d7b8f28cac3623d72b535e6f3b03d4a9429f17195b415d4e02065432b923b·...·]-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="6646886116-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="6646886116-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="6646886116-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·5ab7e960d2bd62dd3e3f6c273ed3ef1f6299e4293a8e6cef78d2ee472f4306cb·...·]-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="3518602392-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="3518602392-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3518602392-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·db276e87e39a29f6afcebcf712fcb122575395b12f40eed402ae04e0fa4d2a16·...·]-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="6646886116-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6646886116-11">)</span><span·class="w">181 ······</span><span·class="nf">loop</span><span·class="p"·data-group-id="3518602392-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3518602392-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="0990785834-1">(</span><span·class="p"·data-group-id="0990785834-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="0990785834-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·69de8dad44c70ae54796e44d7111c1a3e807625d310f22835307ee180b0e5315·...·]-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="5307357736-1">(</span><span·class="p"·data-group-id="5307357736-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="5307357736-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·25d1af14db5543fdc5c3d02f2e2c16624d60f9e6c1ba23ba5c6fae37cd4402ba·...·]-3">]</span><span·class="p">;</span><span·class="w">
186 </span><span·class="nf">encode</span><span·class="p"·data-group-id="0990785834-4">(</span><span·class="p"·data-group-id="0990785834-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="0990785834-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·077f6451f878446cf7c26953ee8b96e097f2a3cbcee76e34aaef425ea45b396c·...·]-6">]</span><span·class="p">.</span><span·class="w">186 </span><span·class="nf">encode</span><span·class="p"·data-group-id="5307357736-4">(</span><span·class="p"·data-group-id="5307357736-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="5307357736-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·3c33906d40dd5d5002722f55b5fab7d052062862d32810fe5f360f37913aba97·...·]-6">]</span><span·class="p">.</span><span·class="w">
  
187 </span><span·class="nf">decode</span><span·class="p"·data-group-id="0990785834-7">(</span><span·class="p"·data-group-id="0990785834-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="0990785834-8">]</span><span·class="p"·data-group-id="0990785834-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="6435752898-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·67,·SHA:·5fb1d791a548d3c1a3963ddfea006ddc8d92353e963aacbc2c1c640ec3214d75·...·]187 </span><span·class="nf">decode</span><span·class="p"·data-group-id="5307357736-7">(</span><span·class="p"·data-group-id="5307357736-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="5307357736-8">]</span><span·class="p"·data-group-id="530[·...·truncated·by·diffoscope;·len:·240,·SHA:·8a455475555a462cf13925be80e2fd295b10a431e7387944502fd7afab2cb9a7·...·]
 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="2466971345-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="2466971345-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="6435752898-2">(</span><span·class="p"·data-group-id="6435752898-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:·a62827aadc06af946e289e85d1c5a35e0f901f8cb58118a62bdd7b08aeeef5d2·...·]-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="2466971345-2">(</span><span·class="p"·data-group-id="2466971345-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:·78900ac7b7c66ec5a0f9b1fbd40df32255651ed252ae7809f6c4fab2848746c3·...·]-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="6435752898-4">(</span><span·class="p"·data-group-id="6435752898-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:·6a4cc6c7292860187e0f4862990ad484be5faef4b269440a51dc5ad6b57ec7c9·...·]-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="2466971345-4">(</span><span·class="p"·data-group-id="2466971345-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:·5a1302722372c9735463a25beec7d4ef802e7f7fa06fca5783f2ec07b0edd673·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
191 </span><span·class="nf">start</span><span·class="p"·data-group-id="6435752898-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="6435752898-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="2466971345-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="2466971345-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="6435752898-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="6435752898-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·623c95005bf16ed38de1f39bf300371f6145657d7698f86f03fdbec26859b271·...·]-7">)</span><span·class="p">.</span><span·class="w">192 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2466971345-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="2466971345-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·b9fc6f0e15bbe90b39713b7488e49ea69f24a6bce8a0d4ea65d4c9eb5b90cb61·...·]-7">)</span><span·class="p">.</span><span·class="w">
193 </span><span·class="nf">stop</span><span·class="p"·data-group-id="6435752898-9">(</span><span·class="p"·data-group-id="6435752898-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="2466971345-9">(</span><span·class="p"·data-group-id="2466971345-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="6435752898-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="6435752898-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="2466971345-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="2466971345-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="6435752898-11">(</span><span·class="p"·data-group-id="6435752898-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="6435752898-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·1f088deeefcc6b83f085412bf8744807ade9bc7d1a87f7cc534dd924be0b1ca5·...·]-11">)</span><span·class="p">.</span><span·class="w">196 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="2466971345-11">(</span><span·class="p"·data-group-id="2466971345-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="2466971345-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·bc7ba25f8ab55516dc05218a484354b574fc29332884c49de0dd034d15160b4d·...·]-11">)</span><span·class="p">.</span><span·class="w">
197 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6435752898-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="6435752898-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="2466971345-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="2466971345-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="6435752898-14">(</span><span·class="p"·data-group-id="6435752898-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="6435752898-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·1f088deeefcc6b83f085412bf8744807ade9bc7d1a87f7cc534dd924be0b1ca5·...·]-14">)</span><span·class="p">.</span><span·class="w">198 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="2466971345-14">(</span><span·class="p"·data-group-id="2466971345-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="2466971345-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·bc7ba25f8ab55516dc05218a484354b574fc29332884c49de0dd034d15160b4d·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
199 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="6435752898-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="6435752898-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="2466971345-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2466971345-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="6435752898-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="6435752898-18">(</span><span·class="p"·data-group-id="6435752898-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·53fb81780908d97046843f3b232c1b5d2909f8855555a44b7b298ef26a25fdfa·...·]-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="2466971345-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="2466971345-18">(</span><span·class="p"·data-group-id="2466971345-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·ace5b501e91da0b97c9c2b4cd2f79568c55e7f7a99bf871765908793e2e37524·...·]-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="6435752898-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="6435752898-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 »       </span><span·class="p"·data-group-id="2466971345-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="2466971345-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="6435752898-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="6435752898-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="2466971345-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="2466971345-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="6435752898-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="6435752898-22">(</span><span·class="p"·data-group-id="6435752898-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·04a6669385dbd0c87fb920398d9ebbfb99b3e50c8ea810356907c9e691a88f80·...·]-21">)</span><span·class="p">,</span><span·class="w">206 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="2466971345-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="2466971345-22">(</span><span·class="p"·data-group-id="2466971345-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·e807fa83b20e5b4158619652405a21e1a155e32a34176f72c55d8df45d249a38·...·]-21">)</span><span·class="p">,</span><span·class="w">
207 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="6435752898-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="6435752898-23">)</span><span·class="p">,</span><span·class="w">207 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="2466971345-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="2466971345-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="6435752898-24">(</span><span·class="p"·data-group-id="6435752898-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="6435752898-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·c9551fb806c6b641b7e8ed084d814046101675a5c1ccfb2f374588cf19bb3ed7·...·]-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="2466971345-24">(</span><span·class="p"·data-group-id="2466971345-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="2466971345-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·2b2e069fdfe798ebdcc925a9935c0c29da2f75c1599a212013d9913885760ee9·...·]-24">)</span><span·class="p">,</span><span·class="w">
209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="6435752898-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6435752898-28">)</span><span·class="p">.</span><span·class="w">209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="2466971345-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2466971345-28">)</span><span·class="p">.</span><span·class="w">
  
210 </span><span·class="nf">loop</span><span·class="p"·data-group-id="6435752898-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6435752898-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="2466971345-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2466971345-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="6435752898-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="6435752898-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 »       </span><span·class="p"·data-group-id="2466971345-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="2466971345-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="6435752898-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="6435752898-32">(</span><span·class="p"·data-group-id="6435752898-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6435752898-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·906c8c33491b8da76bfc6d08582679aaf72469dad5bb9de96e84aeee636eccb3·...·]-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="2466971345-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2466971345-32">(</span><span·class="p"·data-group-id="2466971345-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2466971345-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·a73da4acc08ee30aaeb22640e7651fc5e2d0659fb7f4e121cd2a9a4206c2a50c·...·]-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="6435752898-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6435752898-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:·4e8a4d5103acaa50d9c056d391f8e726b7251a9c570f4a45fbf840633879e1db·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">215 »       »       </span><span·class="p"·data-group-id="2466971345-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2466971345-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:·cf1d636ae308635186c6e2a0b41902751722280a8116996cd87d798cf367453f·...·]-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="6435752898-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="6435752898-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="6435752898-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·7f0af2cebbcf3e6c5e8361dba585bdacbddda96f0bd1bf14bc6b29b5f2574e55·...·]-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="2466971345-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="2466971345-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="2466971345-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·bec36e226e009c9b631e00f569ebfdc0038f38323e99507287ac09544515e38b·...·]-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="6435752898-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6435752898-39">)</span><span·class="p">;</span><span·class="w">218 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="2466971345-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2466971345-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="6435752898-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="6435752898-41">(</span><span·class="p"·data-group-id="6435752898-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:·307e55f1fff00d21fc664672209cdd4cd6d64056ddb6b6758ff7f4ef4f88d48b·...·]-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="2466971345-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2466971345-41">(</span><span·class="p"·data-group-id="2466971345-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:·8065137629da7360e4cbe938cef51219e31e5af836fe899b94b3302b9bdf4e56·...·]-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="6435752898-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="6435752898-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 »       »       </span><span·class="p"·data-group-id="2466971345-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="2466971345-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="6435752898-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="6435752898-43">)</span><span·class="w">223 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="2466971345-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="2466971345-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="6435752898-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="6435752898-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">225 »       </span><span·class="p"·data-group-id="2466971345-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="2466971345-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="6435752898-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="6435752898-45">)</span><span·class="w">226 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="2466971345-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="2466971345-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="6435752898-46">(</span><span·class="p"·data-group-id="6435752898-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="6435752898-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·45b32262620c7f4180dfaab6e2c730c51c9a49be02b7bac1b0aab5c10766861e·...·]-48">]</span><span·class="p">;</span><span·class="w">228 </span><span·class="nf">encode</span><span·class="p"·data-group-id="2466971345-46">(</span><span·class="p"·data-group-id="2466971345-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="2466971345-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·f38d57c8397123012f9f3daa5c80f7b16449296980e1ac38c2b17510ea2a45a4·...·]-48">]</span><span·class="p">;</span><span·class="w">
229 </span><span·class="nf">encode</span><span·class="p"·data-group-id="6435752898-49">(</span><span·class="p"·data-group-id="6435752898-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="6435752898-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·4ead09c9cd1b149aa172b51a998b98b9df426f35eaeebac3cd9d985be50da335·...·]-51">]</span><span·class="p">.</span><span·class="w">229 </span><span·class="nf">encode</span><span·class="p"·data-group-id="2466971345-49">(</span><span·class="p"·data-group-id="2466971345-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="2466971345-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·b06a2f3c39b15e935feca94f7e19c75b47ec0e9d5d3d566daad84c71216225fd·...·]-51">]</span><span·class="p">.</span><span·class="w">
  
230 </span><span·class="nf">decode</span><span·class="p"·data-group-id="6435752898-52">(</span><span·class="p"·data-group-id="6435752898-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="6435752898-53">]</span><span·class="p"·data-group-id="6435752898-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="2466971345-52">(</span><span·class="p"·data-group-id="2466971345-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="2466971345-53">]</span><span·class="p"·data-group-id="2466971345-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="9048391368-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="9048391368-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="9048391368-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1283,·SHA:·290da20743cd95a5500d6da4ad946c1b3155db8626e3a1b33b1cc9dc5c2e7cf9·...·]-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="5290963614-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="5290963614-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="5290963614-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1283,·SHA:·473d3dfeb6ff2cc4253767780e4d105c3dcda99d0c957ecfc083a4488460893f·...·]-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="9048391368-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:·28257b95bfcbf6ead14aecef5ea11f69e14e1f39d2232c6d8280e45870ffb940·...·]-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="5290963614-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:·ca2bb99c997832bab1676fcbe1ac6e107a6e3e9839f6e912d0a4c79db02b7669·...·]-8">)</span><span·class="gp·unselectable">
342 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="9048391368-10">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="9048391368-10">)</span><span·class="p">.</span><span·class="w">342 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="5290963614-10">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="5290963614-10">)</span><span·class="p">.</span><span·class="w">
343 </span><span·class="p"·data-group-id="9048391368-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex1</span><span·class="p"·data-group-id="9048391368-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:·98e3c2d96ed95bd2313074e3d72c16169ca381515556ad86fd74b248b7512bcd·...·]-1">)</span><span·class="p">.</span><span·class="w">343 </span><span·class="p"·data-group-id="5290963614-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex1</span><span·class="p"·data-group-id="5290963614-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:·d5b9504d25a00a979f472e5ac125920c65e51bb8a97a399c8d10c2a90ae60a34·...·]-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="3395610841-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="3395610841-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="3135483764-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="3135483764-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="3395610841-3">(</span><span·class="mi">5</span><span·class="p"·data-group-id="3395610841-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="3135483764-3">(</span><span·class="mi">5</span><span·class="p"·data-group-id="3135483764-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="3395610841-4">(</span><span·class="p"·data-group-id="3395610841-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="3135483764-4">(</span><span·class="p"·data-group-id="3135483764-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">
Max diff block lines reached; 771/60703 bytes (1.27%) 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.2.7/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.2.7/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-15.2.7/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-15.2.7/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="4482533657-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="4482533657-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="2222493055-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="2222493055-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="4482533657-2">(</span><span·class="p"·data-group-id="4482533657-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:·75870e5b748e0ffbc58504539aaaebb8d5ffdcc56767a4916bb21dde56bc95ef·...·]-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="2222493055-2">(</span><span·class="p"·data-group-id="2222493055-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:·5ab5e07eaf30ad5b90c9ddf2d6398b677c7f9f39f9af55a40531068053bdf29c·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
160 </span><span·class="nf">start</span><span·class="p"·data-group-id="4482533657-4">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="4482533657-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="2222493055-4">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="2222493055-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="4482533657-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="4482533657-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="2222493055-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="2222493055-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="4482533657-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="4482533657-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="2222493055-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="2222493055-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="4482533657-7">(</span><span·class="p"·data-group-id="4482533657-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="4482533657-8">}</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·e509cc6c92ed7a4c6893ed9113cb04663e747553d42efea1304766a0d03aa5d8·...·]-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="2222493055-7">(</span><span·class="p"·data-group-id="2222493055-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="2222493055-8">}</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·d30c488438578c97815103dec39bdbe919bda50527d4624fcbabdca3d4f04cc2·...·]-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="4482533657-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="4482533657-10">[</span><sp[·...·truncated·by·diffoscope;·len:·124,·SHA:·7758a45edf0513124dfea96ee8cd64f865f8d736d9629532fedf9b18e9ec183f·...·]-9">)</span><span·class="p">.</span><span·class="w">166 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2222493055-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="2222493055-10">[</span><sp[·...·truncated·by·diffoscope;·len:·124,·SHA:·1e3e6ffc044da86e72e912b544b2176b1a7d0a5ec6680da89c32994fd19a86a5·...·]-9">)</span><span·class="p">.</span><span·class="w">
  
167 </span><span·class="nf">init</span><span·class="p"·data-group-id="4482533657-11">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="4482533657-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="2222493055-11">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="2222493055-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="4482533657-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="4482533657-13">(</span><span·class="p"·data-group-id="4482533657-13">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·18fe332a5fb54ca0054eed71e6d55b51976a79e13f820989d22e6259ac034071·...·]-12">)</span><span·class="p">,</span><span·class="w">168 ··</span><span·class="nf">register</span><span·class="p"·data-group-id="2222493055-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="2222493055-13">(</span><span·class="p"·data-group-id="2222493055-13">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·a95fff76073393ce1db7d27623bcf914003c62ff590f67c2574cfb7fccea7895·...·]-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="4482533657-14">(</span><span·class="p"·data-group-id="4482533657-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="4482533657-15">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·c17480c2babec89fa0544aaa5eb3df9dc8cfe424240914b286a32492519e78c1·...·]-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="2222493055-14">(</span><span·class="p"·data-group-id="2222493055-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="2222493055-15">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·f2498045ea5a9171031226c689b56ae331143bbe11821fac8b12b616d20d0547·...·]-14">)</span><span·class="p">,</span><span·class="w">
170 ··</span><span·class="nf">loop</span><span·class="p"·data-group-id="4482533657-17">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4482533657-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="2222493055-17">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2222493055-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="7127214800-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="7127214800-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="7421244747-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="7421244747-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="7127214800-2">(</span><span·class="p"·data-group-id="7127214800-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="7127214800-3">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·fe337f01ac8f8db1f9cd4116999eebf7e7bee89d89def1fd9c6e062bb4e27e2c·...·]-2">)</span><span·class="p">.</span><span·class="w">172 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7421244747-2">(</span><span·class="p"·data-group-id="7421244747-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="7421244747-3">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·4e1ed72778d870a8c84a597be650c8565f468e45409c4adfa0a919a4cfce6754·...·]-2">)</span><span·class="p">.</span><span·class="w">
173 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7127214800-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="7127214800-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="7421244747-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="7421244747-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="7127214800-5">(</span><span·class="p"·data-group-id="7127214800-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="7127214800-6">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·fe337f01ac8f8db1f9cd4116999eebf7e7bee89d89def1fd9c6e062bb4e27e2c·...·]-5">)</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7421244747-5">(</span><span·class="p"·data-group-id="7421244747-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="7421244747-6">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·4e1ed72778d870a8c84a597be650c8565f468e45409c4adfa0a919a4cfce6754·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="7127214800-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="7127214800-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="7421244747-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="7421244747-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="7127214800-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="7127214800-9">(</span><span·class="p"·data-group-id="7127214800-9">)</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·90,·SHA:·0e8ece5bfb3cad10dd0baf1b6654d2200783214618e1edf35d7f46784a04a54f·...·]-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="7421244747-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="7421244747-9">(</span><span·class="p"·data-group-id="7421244747-9">)</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·90,·SHA:·8e8da2dcad2f24eeaed0b8bbe79eac6c83d36e2a2bf3837e8e048a47b592830e·...·]-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="7127214800-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="7127214800-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 ········</span><span·class="p"·data-group-id="7421244747-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="7421244747-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="3115687675-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3115687675-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="7953833965-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7953833965-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="3115687675-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="3115687675-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 ········</span><span·class="p"·data-group-id="7953833965-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="7953833965-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="3115687675-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3115687675-4">(</span><span·class="p"·data-group-id="3115687675-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3115687675-5">{</span[·...·truncated·by·diffoscope;·len:·335,·SHA:·b0e3a134da73dfe252414efd67649241d1ac4acd2054e842ddf29136860c583e·...·]5-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="7953833965-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7953833965-4">(</span><span·class="p"·data-group-id="7953833965-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7953833965-5">{</span[·...·truncated·by·diffoscope;·len:·335,·SHA:·7ff7d31227c6eab7144bef379b3c399598c098776c0ceea909ac28d12c34a2b8·...·]5-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="3115687675-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3115687675-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:·90,·SHA:·00e9f46b087032ec3db18ca5df64c4ac63111fe3b0b56ed13272fb5cad66965f·...·]5-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">185 ················</span><span·class="p"·data-group-id="7953833965-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7953833965-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:·90,·SHA:·c2bf20cfd13285277641407aca197cd03bda56cde29ba058716c77f3fd5595dd·...·]5-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="3115687675-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="3115687675-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3115687675-10[·...·truncated·by·diffoscope;·len:·50,·SHA:·e37d0a5c5280a76b6e8abba0e05cfbdb591a72f76607e7ae5f18df236cb6c227·...·]5-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="7953833965-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="7953833965-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7953833965-10[·...·truncated·by·diffoscope;·len:·50,·SHA:·eb000e1e4bd5af288d8898e773110e5d0f77b7aaf6782e4d6a46fa0e70094021·...·]5-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="3115687675-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3115687675-11">)</span><span·class="w">188 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="7953833965-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7953833965-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="9767206899-1">(</span><span·class="p"·data-group-id="9767206899-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="9767206899-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·0f7f1cd3343f69eb0c07151e1aa6e330ef11ff3a3018e41b04f237adc810a384·...·]-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="0379327034-1">(</span><span·class="p"·data-group-id="0379327034-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="0379327034-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·ebe45db9bf0ea32940e0c20cb97f6527eb116e8cfb756db9d9c101093006cfa3·...·]-3">]</span><span·class="p">;</span><span·class="w">
193 </span><span·class="nf">encode</span><span·class="p"·data-group-id="9767206899-4">(</span><span·class="p"·data-group-id="9767206899-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="9767206899-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·c5f2f3697fe6d7614c610974a6841e80b5301afb298bf7f69fa24b9d3b8c7c5b·...·]-6">]</span><span·class="p">.</span><span·class="w">193 </span><span·class="nf">encode</span><span·class="p"·data-group-id="0379327034-4">(</span><span·class="p"·data-group-id="0379327034-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="0379327034-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·313da176738e6ba2cf69dd5bce74174766cd7675544c2e062b2cf21bc1df5a40·...·]-6">]</span><span·class="p">.</span><span·class="w">
  
194 </span><span·class="nf">decode</span><span·class="p"·data-group-id="9767206899-7">(</span><span·class="p"·data-group-id="9767206899-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="9767206899-8">]</span><span·class="p"·data-group-id="9767206899-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="0379327034-7">(</span><span·class="p"·data-group-id="0379327034-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="0379327034-8">]</span><span·class="p"·data-group-id="0379327034-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="2341788783-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="2341788783-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="7322809258-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="7322809258-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="2341788783-2">(</span><span·class="p"·data-group-id="2341788783-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:·d4673beaa867581647c2a92c8e37fcd884b9996e5a6784ba25c400f4405de465·...·]-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="7322809258-2">(</span><span·class="p"·data-group-id="7322809258-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:·9eb6704a0e844bf03b543617b9c7c5e55790479d63bfd1e3407b2fae4d431456·...·]-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="2341788783-4">(</span><span·class="p"·data-group-id="2341788783-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:·33746b48012b01cfca5ab00aeb9b75a52979cbf4b4f8ba587034c1b33779d07d·...·]-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="7322809258-4">(</span><span·class="p"·data-group-id="7322809258-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:·881a4c9aad7db5c25f8c85d2d4e36f0eace895eb02a0a4024b043b29efb503c2·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
199 </span><span·class="nf">start</span><span·class="p"·data-group-id="2341788783-6">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="2341788783-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="7322809258-6">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="7322809258-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="2341788783-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="2341788783-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="7322809258-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="7322809258-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="2341788783-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="2341788783-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="7322809258-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="7322809258-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="2341788783-9">(</span><span·class="p"·data-group-id="2341788783-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="2341788783-10">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·8f62dff8777793bc065524f432052e811e9ce55773e66f706211189d6f0b2b8f·...·]-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="7322809258-9">(</span><span·class="p"·data-group-id="7322809258-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="7322809258-10">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·83f9c44540088fa840d48249394a5224645159560e9dca2664650452be54eb97·...·]-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="2341788783-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="2341788783-12">[</span><s[·...·truncated·by·diffoscope;·len:·125,·SHA:·f0d1333dd526a91bf2d42d77377c7a884f2cee28bca815e8d661ba6f52febff8·...·]-11">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7322809258-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="7322809258-12">[</span><s[·...·truncated·by·diffoscope;·len:·125,·SHA:·3ecf4dc83ecdc483450b478aeee0d606f6cd89fc5ac88e05663e7e344290899d·...·]-11">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">init</span><span·class="p"·data-group-id="2341788783-13">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="2341788783-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="7322809258-13">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="7322809258-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="2341788783-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="2341788783-15">(</span><span·class="p"·data-group-id="2341788783-15">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·2579d11aa2c790bd9bea41ba04ae89caf02411ba2b2b3c564718e2cb26216ba5·...·]-14">)</span><span·class="p">,</span><span·class="w">207 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="7322809258-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="7322809258-15">(</span><span·class="p"·data-group-id="7322809258-15">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·daea6a491e38fbcf876afd918a8ca569006e22128b2166b17244f987cbda1263·...·]-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="2341788783-16">(</span><span·class="p"·data-group-id="2341788783-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="2341788783-17">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·61c55a9ea810afaf8ca31179dc76ffd55b39053b77c8d4a847637550f8a5bbee·...·]-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="7322809258-16">(</span><span·class="p"·data-group-id="7322809258-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="7322809258-17">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·6c91ae3b8847b9e0dcf433aebb30d182dfef9435dc7695815455bb5971dbdd28·...·]-16">)</span><span·class="p">,</span><span·class="w">
209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="2341788783-19">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2341788783-19">)</span><span·class="p">.</span><span·class="w">209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7322809258-19">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7322809258-19">)</span><span·class="p">.</span><span·class="w">
  
210 </span><span·class="nf">stop</span><span·class="p"·data-group-id="2341788783-20">(</span><span·class="p"·data-group-id="2341788783-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="7322809258-20">(</span><span·class="p"·data-group-id="7322809258-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="2341788783-21">(</span><span·class="n">X</span><span·class="p"·data-group-id="2341788783-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="7322809258-21">(</span><span·class="n">X</span><span·class="p"·data-group-id="7322809258-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="2341788783-22">(</span><span·class="p"·data-group-id="2341788783-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="2341788783-23">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·9e43dd64fdf8c90194a0f6a94ad11cecd5040122265878580e16587ed5148213·...·]-22">)</span><span·class="p">.</span><span·class="w">213 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7322809258-22">(</span><span·class="p"·data-group-id="7322809258-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="7322809258-23">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·ae9f7175373c980a881f337b6b0a015082687c60c614ba83028608c09e86c0a1·...·]-22">)</span><span·class="p">.</span><span·class="w">
214 </span><span·class="nf">bar</span><span·class="p"·data-group-id="2341788783-24">(</span><span·class="n">Y</span><span·class="p"·data-group-id="2341788783-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="7322809258-24">(</span><span·class="n">Y</span><span·class="p"·data-group-id="7322809258-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="2341788783-25">(</span><span·class="p"·data-group-id="2341788783-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="2341788783-26">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·9e43dd64fdf8c90194a0f6a94ad11cecd5040122265878580e16587ed5148213·...·]-25">)</span><span·class="p">.</span><span·class="w">215 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7322809258-25">(</span><span·class="p"·data-group-id="7322809258-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="7322809258-26">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·ae9f7175373c980a881f337b6b0a015082687c60c614ba83028608c09e86c0a1·...·]-25">)</span><span·class="p">.</span><span·class="w">
  
216 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="2341788783-27">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2341788783-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="7322809258-27">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="7322809258-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="2341788783-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="2341788783-29">(</span><span·class="p"·data-group-id="2341788783-29">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·ad4699b6eb39eba1d065e7999307fe7c81506a6f899cb557a253bf9ab4fb16b5·...·]-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="7322809258-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="7322809258-29">(</span><span·class="p"·data-group-id="7322809258-29">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·d43189e863bf4ca076594e2e9aa4b0f743b0870ac9ea1066995bd00ccfed1346·...·]-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="2341788783-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="2341788783-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 »       </span><span·class="p"·data-group-id="7322809258-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="7322809258-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="2341788783-31">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2341788783-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="7322809258-31">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7322809258-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="2341788783-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="2341788783-32">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 »       </span><span·class="p"·data-group-id="7322809258-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="7322809258-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="2341788783-33">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2341788783-34">(</span><span·class="p"·data-group-id="2341788783-34">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2341788783-35">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·1e25394b51338fba8a80c25e9a10636e7fcd2b81221bcdae8e715d6fb6c7fc13·...·]-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="7322809258-33">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7322809258-34">(</span><span·class="p"·data-group-id="7322809258-34">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7322809258-35">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·9361f2de633b8779d27e1cebf28010298c5cc97594140938125b0f77dd071343·...·]-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="2341788783-37">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2341788783-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:·38eec5857898d4fed30afd08fa14a7c08967438cc34ba7a52f76a8006a4cfcf5·...·]-37">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 »       »       </span><span·class="p"·data-group-id="7322809258-37">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7322809258-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:·99e1859133fbae5aeb1042f8d9dead1dd653115888cac9e36909f4b2e7065a8b·...·]-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="2341788783-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="2341788783-40">(</span><span·class="n">Data</span><span·class="p"·data-group-id="2341788783-4[·...·truncated·by·diffoscope;·len:·52,·SHA:·d05c01445e4739c28ff1dd7ba7bc43f329caca3a5e5366e2897d7e4d203d0e70·...·]-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="7322809258-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="7322809258-40">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7322809258-4[·...·truncated·by·diffoscope;·len:·52,·SHA:·c177dece2689fc3f4584c2313e94bf3ab827ec3d5458102fd000a2638ff685a7·...·]-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="2341788783-41">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2341788783-41">)</span><span·class="p">;</span><span·class="w">230 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7322809258-41">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7322809258-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="2341788783-42">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2341788783-43">(</span><span·class="p"·data-group-id="2341788783-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:·af0815d295e1b364746fcc22f7658215f676ef1bb717302c7be26dbdfc401a24·...·]-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="7322809258-42">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7322809258-43">(</span><span·class="p"·data-group-id="7322809258-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:·aadcef579c017e844ea24db9435297162ddcdf4776b7e3e3d6722ffcfc522e41·...·]-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="2341788783-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="2341788783-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">234 »       »       </span><span·class="p"·data-group-id="7322809258-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="7322809258-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="2341788783-45">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="2341788783-45">)</span><span·class="w">235 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="7322809258-45">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="7322809258-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="2341788783-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="2341788783-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">237 »       </span><span·class="p"·data-group-id="7322809258-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="7322809258-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="2341788783-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="2341788783-48">[</sp[·...·truncated·by·diffoscope;·len:·127,·SHA:·7ec324904572c2b2f3340e674d5e92734e44026dfaac2834e65bdfa26dab1001·...·]-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="7322809258-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="7322809258-48">[</sp[·...·truncated·by·diffoscope;·len:·127,·SHA:·cf43151a2222cdf65ce58a3d5a2c63bf92bbd13c080201a7345c95ab669d3bd7·...·]-47">)</span><span·class="p">,</span><span·class="w">
239 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="2341788783-49">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="2341788783-49">)</span><span·class="w">239 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="7322809258-49">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="7322809258-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="2341788783-50">(</span><span·class="p"·data-group-id="2341788783-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="2341788783-51">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·0e7f26b24265cced14a23c44d1fd9e199422c2429fad213beb57d18a6341682a·...·]-52">]</span><span·class="p">;</span><span·class="w">241 </span><span·class="nf">encode</span><span·class="p"·data-group-id="7322809258-50">(</span><span·class="p"·data-group-id="7322809258-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="7322809258-51">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·db1c8a991a9268d404a558b845bf022ded096fb9288f630e0df8cad223776bce·...·]-52">]</span><span·class="p">;</span><span·class="w">
242 </span><span·class="nf">encode</span><span·class="p"·data-group-id="2341788783-53">(</span><span·class="p"·data-group-id="2341788783-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="2341788783-54">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·5e9e3b4d308478b28ed386c0b4e62323c8ae87ecf31027b495d4fe64a3ba70fe·...·]-55">]</span><span·class="p">.</span><span·class="w">242 </span><span·class="nf">encode</span><span·class="p"·data-group-id="7322809258-53">(</span><span·class="p"·data-group-id="7322809258-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="7322809258-54">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·df8409424d1a02d00e5e820ffca0f6eb0ad7fc252e4d8852a5dc56b205ced21a·...·]-55">]</span><span·class="p">.</span><span·class="w">
  
243 </span><span·class="nf">decode</span><span·class="p"·data-group-id="2341788783-56">(</span><span·class="p"·data-group-id="2341788783-57">[</span><span·class="n">Int</span><span·class="p"·data-group-id="2341788783-57">]</span><span·class="p"·data-group-id="2341788783-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="7322809258-56">(</span><span·class="p"·data-group-id="7322809258-57">[</span><span·class="n">Int</span><span·class="p"·data-group-id="7322809258-57">]</span><span·class="p"·data-group-id="7322809258-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="3189494721-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="3189494721-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="3189494721-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1283,·SHA:·0781a39da914b58bc3593faaee5216ba33dc9db465f8a0b8ec85a3c1661d87ac·...·]-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="9899066052-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="9899066052-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="9899066052-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1283,·SHA:·f00569e5810b424397d408d03d6a11d64077bc61fafa88ebe169bef0f9cbf06d·...·]-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="3189494721-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:·cb4886a00749109e83a64f3ff5ace56fddd8c87deeb91001544ee0d47e705b49·...·]-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="9899066052-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:·0262eaf459abfefd0ce94226497bd1dc2ead0c5b49b3570d899dd1ed28eb5bac·...·]-8">)</span><span·class="gp·unselectable">
356 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="3189494721-10">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="3189494721-10">)</span><span·class="p">.</span><span·class="w">356 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="9899066052-10">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="9899066052-10">)</span><span·class="p">.</span><span·class="w">
357 </span><span·class="p"·data-group-id="3189494721-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex5</span><span·class="p"·data-group-id="3189494721-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:·63c7b6078d173f99a340677b5458f476da4583a660db038ab5992a69f587fc2c·...·]-1">)</span><span·class="p">.</span><span·class="w">357 </span><span·class="p"·data-group-id="9899066052-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex5</span><span·class="p"·data-group-id="9899066052-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:·93a82087caf7d18763f5877e78da994480f398342c3c5c1e8f7eff8d508bc5d3·...·]-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="2464343421-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="2464343421-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="4792430329-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="4792430329-2">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 2019/65848 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2025·<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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>169 <p>Copyright·©·1996-2025·<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.4 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-8.6.1/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="3659227964-1">(</span><span·class="n">Module</span><span·class="p"·data-group-id="3659227964-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-8.6.1/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="9344707250-1">(</span><span·class="n">Module</span><span·class="p"·data-group-id="9344707250-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="3659227964-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="3659227964-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="9344707250-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="9344707250-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.1/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.1/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-15.2.7/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-15.2.7/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-15.2.7/doc/html/erlc_cmd.html">erlc</a>·executable·in·ERTS.·It135 shell,·see·the·<a·href="../../erts-15.2.7/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="5728327935-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="5728327935-1">)</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="9783647131-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="9783647131-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="5728327935-2">(</span><span·class="p"·data-group-id="5728327935-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5728327935-3">]</span><span·class="p"·data-group-id="5728327935-2">)</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="9783647131-2">(</span><span·class="p"·data-group-id="9783647131-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9783647131-3">]</span><span·class="p"·data-group-id="9783647131-2">)</span><span·class="p">.</span><span·class="w">
  
165 </span><span·class="nf">loop</span><span·class="p"·data-group-id="5728327935-4">(</span><span·class="p"·data-group-id="5728327935-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="9783647131-4">(</span><span·class="p"·data-group-id="9783647131-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="5728327935-5">(</span><span·class="p"·data-group-id="5728327935-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="9783647131-5">(</span><span·class="p"·data-group-id="9783647131-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="5728327935-6">(</span><span·class="p"·data-group-id="5728327935-6">)</span><span·class="w">171 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="9783647131-6">(</span><span·class="p"·data-group-id="9783647131-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="0271193490-1">(</span><span·class="n">Name</span><span·class="o">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0271193490-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="1341161639-1">(</span><span·class="n">Name</span><span·class="o">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1341161639-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="6734680270-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="6734680270-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="5978369327-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="5978369327-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="6734680270-2">(</span><span·class="ss">load_my_nifs</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6734680270-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="5978369327-2">(</span><span·class="ss">load_my_nifs</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5978369327-2">)</span><span·class="p">.</span><span·class="w">
  
197 </span><span·class="nf">load_my_nifs</span><span·class="p"·data-group-id="6734680270-3">(</span><span·class="p"·data-group-id="6734680270-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="5978369327-3">(</span><span·class="p"·data-group-id="5978369327-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="6734680270-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="6734680270-4">)</span><span·class="p">.</span></code></pre><p>If·the·call·to·<a·href="../../erts-15.2.7/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="5978369327-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="5978369327-4">)</span><span·class="p">.</span></code></pre><p>If·the·call·to·<a·href="../../erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>252 <p>Copyright·©·1996-2025·<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
53.0 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="0451287128-1">(</span><span·class="p"·data-group-id="0451287128-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0451287128-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·16c0b151fdb02adc198a99c390075c716fbfa2bf95179eed0850b38ad8355b0d·...·]-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="6686807029-1">(</span><span·class="p"·data-group-id="6686807029-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6686807029-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·c855e7b0d2d6f1f849a480560ab4abae58005496d94bdd0867aa533549a3c620·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
126 ····</span><span·class="p"·data-group-id="0451287128-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="0451287128-4">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·22317f00cec2e1e28a8a8e44abbe55c2c249d07ebcdce86f344c81c1ba6a7902·...·]-3">]</span><span·class="p">;</span><span·class="w">126 ····</span><span·class="p"·data-group-id="6686807029-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="6686807029-4">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·4f1a8d3944244abd7b54f2b3045190efc012aef7d2b8136648af6f93fe1e7290·...·]-3">]</span><span·class="p">;</span><span·class="w">
127 </span><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="0451287128-5">(</span><span·class="p"·data-group-id="0451287128-6">[</span><span·class="p"·data-group-id="0451287128-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="0451287128-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="6686807029-5">(</span><span·class="p"·data-group-id="6686807029-6">[</span><span·class="p"·data-group-id="6686807029-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="6686807029-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="6989349743-1">(</span><span·class="p"·data-group-id="6989349743-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6989349743-2">]</span><span·class="p"·data-group-id="6989349743-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="2974482406-1">(</span><span·class="p"·data-group-id="2974482406-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="2974482406-2">]</span><span·class="p"·data-group-id="2974482406-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="6989349743-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="6989349743-3">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="6989349743-4">[</span><span·class="n">H</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·df817b01289b2269b9d24e241003e0bfdd28720e21c90348b9518e49f4998ebc·...·]-4">]</span><span·class="p">;</span><span·class="w">129 ····</span><span·class="nf">naive_reverse</span><span·class="p"·data-group-id="2974482406-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="2974482406-3">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="2974482406-4">[</span><span·class="n">H</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·078d6118938bc59f7651cc0c4b2cfdeb44614ba3057b64f144dd195be9af7a02·...·]-4">]</span><span·class="p">;</span><span·class="w">
130 </span><span·class="nf">naive_reverse</span><span·class="p"·data-group-id="6989349743-5">(</span><span·class="p"·data-group-id="6989349743-6">[</span><span·class="p"·data-group-id="6989349743-6">]</span><span·class="p"·data-group-id="6989349743-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="2974482406-5">(</span><span·class="p"·data-group-id="2974482406-6">[</span><span·class="p"·data-group-id="2974482406-6">]</span><span·class="p"·data-group-id="2974482406-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
131 ····</span><span·class="p"·data-group-id="6989349743-7">[</span><span·class="p"·data-group-id="6989349743-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="2974482406-7">[</span><span·class="p"·data-group-id="2974482406-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="2395757694-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="2395757694-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="6934214579-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="6934214579-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="2395757694-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2395757694-3">[</span><span·class="p"·data-group-id="2395757694-3">]</span><span·class="p"·data-group-id="2395757694-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="6934214579-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6934214579-3">[</span><span·class="p"·data-group-id="6934214579-3">]</span><span·class="p"·data-group-id="6934214579-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="2395757694-4">(</span><span·class="p"·data-group-id="2395757694-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="2395757694-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·b506aed5a623ca122829de1505b4b3a0c1c1c366414704da2a22b5bf1073df27·...·]-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="6934214579-4">(</span><span·class="p"·data-group-id="6934214579-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6934214579-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·d5cc37ffad420d500988cbe666ed104a20346d10749ab50c3892e4e684952b48·...·]-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="2395757694-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2395757694-7">[</span><span·class="n">H</span><span·class="p"·data-group-id="2395757694-7">]</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·108,·SHA:·0328dce390091f099ac346a35fdd7ef7956e16aca6ebadef2ffa2f685cf83fbf·...·]-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="6934214579-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6934214579-7">[</span><span·class="n">H</span><span·class="p"·data-group-id="6934214579-7">]</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·108,·SHA:·0ef94d46f82641ece994e687ff50f687ebfd3c5cd0d6a7007340924e801947c2·...·]-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="2395757694-8">(</span><span·class="p"·data-group-id="2395757694-9">[</span><span·class="p"·data-group-id="2395757694-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="2395757694-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="6934214579-8">(</span><span·class="p"·data-group-id="6934214579-9">[</span><span·class="p"·data-group-id="6934214579-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="6934214579-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="8369883928-1">(</span><span·class="p"·data-group-id="8369883928-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="8369883928-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·a942224bb165d832e3bf6ea9735ea274cbb6584a0a19d39b95d54d4f9097cbe7·...·]-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="3224762636-1">(</span><span·class="p"·data-group-id="3224762636-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="3224762636-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·e7e4a858a986a901ad0ffe0e08c0f794b474b52b23e92f61fc73d4f2da9f3466·...·]-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="8369883928-3">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8369883928-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="8369[·...·truncated·by·diffoscope;·len:·59,·SHA:·443b6be9a2a2d38a9ed074adc8ebc8e91826354e6b7cf17e90ee81b59e4456a6·...·]-3">)</span><span·class="p">;</span><span·class="w">139 ····</span><span·class="nf">vanilla_reverse</span><span·class="p"·data-group-id="3224762636-3">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3224762636-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="3224[·...·truncated·by·diffoscope;·len:·59,·SHA:·c2fc2ddd8c49ae86c7ff996c959aa78a224f11d94d8074e82f0d698b21cc2441·...·]-3">)</span><span·class="p">;</span><span·class="w">
140 </span><span·class="nf">vanilla_reverse</span><span·class="p"·data-group-id="8369883928-5">(</span><span·class="p"·data-group-id="8369883928-6">[</span><span·class="p"·data-group-id="8369883928-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="8369883928-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="3224762636-5">(</span><span·class="p"·data-group-id="3224762636-6">[</span><span·class="p"·data-group-id="3224762636-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="3224762636-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="1725088436-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="1725088436-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="1339458777-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="1339458777-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="1725088436-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1725088436-3">(</span><span·class="p"·data-group-id="1725088436-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="1339458777-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1339458777-3">(</span><span·class="p"·data-group-id="1339458777-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="1725088436-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="1725088436-5">[</span><span·class="n">State</span><span·class="o">#</s[·...·truncated·by·diffoscope;·len:·179,·SHA:·d6b0e20c1eea710b4a32c8fa79f1f2160fe20dd790aee60bde5caee23211e6b6·...·]-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="1339458777-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="1339458777-5">[</span><span·class="n">State</span><span·class="o">#</s[·...·truncated·by·diffoscope;·len:·179,·SHA:·bc9d57981823bff2e38b12d7f628455ba5d3c4aa41944b1fb75693d19cec2412·...·]-4">)</span><span·class="w">
170 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="1725088436-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="1339458777-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-15.2.7/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-15.2.7/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="5047297898-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="5047297898-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="9730200210-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="9730200210-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="5047297898-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5047297898-3">(</span><span·class="p"·data-group-id="5047297898-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="9730200210-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9730200210-3">(</span><span·class="p"·data-group-id="9730200210-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="5047297898-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="5047297898-5">[</span><span·class="nf">map_get</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·288,·SHA:·87aebe7a447c32153cb38d2c1d834944e0eae5e660b4a8e759c9419785092e64·...·]-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="9730200210-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="9730200210-5">[</span><span·class="nf">map_get</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·288,·SHA:·a26d4265f52851c972b83ceea02cf9e10936f67e14bebaaefdd1ba78b0379c63·...·]-4">)</span><span·class="w">
175 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="5047297898-2">)</span><span·class="p">.</span></code></pre><p>In·the·following·example·(part·of·a·module·implementing·the·<a·href="../../lib/stdlib-6.2.2/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="9730200210-2">)</span><span·class="p">.</span></code></pre><p>In·the·following·example·(part·of·a·module·implementing·the·<a·href="../../lib/stdlib-6.2.2/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="9800195234-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:·4de68713a8b0ab3e26a4984785337370f3724b2c710069ea1232fff2485b8820·...·]-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="8992648812-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:·b1fe8bdf0edeee7cce072e5de0b0ee78a35214fc496ac7f6c949eda41becd44b·...·]-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="9800195234-2">(</span><span·class="p"·data-group-id="9800195234-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="8992648812-2">(</span><span·class="p"·data-group-id="8992648812-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="9800195234-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="9800195234-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="8992648812-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="8992648812-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="5764368739-1">(</span><span·class="p"·data-group-id="5764368739-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="9993910600-1">(</span><span·class="p"·data-group-id="9993910600-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="5764368739-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="5764368739-3">(</span><span·class="mi">1</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·147,·SHA:·cc6915c1077e213459cbddd48883e42c95d1bd4ae4a04b97e8fe8b50e6877358·...·]-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="9993910600-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="9993910600-3">(</span><span·class="mi">1</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·147,·SHA:·150efa48196dd958290f0ab2f0b8d1a90e917977e5e1450344d14874ac336dc8·...·]-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="6683634366-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="6683634366-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="4955202629-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="4955202629-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="4514700947-1">(</span><span·class="p"·data-group-id="4514700947-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="2222323588-1">(</span><span·class="p"·data-group-id="2222323588-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="4514700947-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4514700947-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="4514700947-3">)</span><span[·...·truncated·by·diffoscope;·len:·852,·SHA:·2e1f695d8e9fc7b0ce6791f943a07284397a58f6e735d1dc2d2c25c060125d96·...·]-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="2222323588-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2222323588-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="2222323588-3">)</span><span[·...·truncated·by·diffoscope;·len:·852,·SHA:·d29dc83922c0de68d912f374f5514b3bc4441924a5b8b06811673f4c8ed1da21·...·]-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="4514700947-7">{</span><span·class="ss">data</span><span·class="o">=</span><span·class="n">Shared</span><span·class="p"·data-group-id="4514700947-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="2222323588-7">{</span><span·class="ss">data</span><span·class="o">=</span><span·class="n">Shared</span><span·class="p"·data-group-id="2222323588-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="9419735013-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="9419735013-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="8920127316-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="8920127316-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="9419735013-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9419735013-3">(</span><span·class="p"·data-group-id="9419735013-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="8920127316-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="8920127316-3">(</span><span·class="p"·data-group-id="8920127316-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="9419735013-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="9419735013-5">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·e120159b9d3e81717971a5bedf9a4d3913714be944d4df9197bc407c59002b54·...·]-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="8920127316-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="8920127316-5">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·b9d2de583f4fb4360f5027c65163741763591ec3e21b0e270715197764fc9ddc·...·]-4">)</span><span·class="w">
196 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="9419735013-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="8920127316-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="1135767505-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="1135767505-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="5668085010-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="5668085010-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="1135767505-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="1135767505-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="5668085010-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="5668085010-2">)</span><span·class="p">,</span><span·class="w">
199 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="1135767505-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1135767505-4">(</span><span·class="p"·data-group-id="1135767505-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="5668085010-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5668085010-4">(</span><span·class="p"·data-group-id="5668085010-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="1135767505-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="1135767505-6">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·032a5eceddcc5badfe893da1c1eff3a6622381985cf0fe7bb5807a1bfb9f7991·...·]-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="5668085010-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="5668085010-6">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·6bc522ac45ef28c93e3a222d4a0ac5550ad013d9fa2f4c58e78f25c96f2b8432·...·]-5">)</span><span·class="w">
201 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="1135767505-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="5668085010-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-15.2.7/doc/html/erlang.html#list_to_existing_atom/1"><code·class="inline">list_to_existing_atom/1</code></a>·or211 input,·<a·href="../../erts-15.2.7/doc/html/erlang.html#list_to_existing_atom/1"><code·class="inline">list_to_existing_atom/1</code></a>·or
212 <a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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="1965189774-1">(</span><span·class="nf">list_to_atom</span><span·class="p"·data-group-id="1965189774-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="1965189774-2">)</s[·...·truncated·by·diffoscope;·len:·195,·SHA:·c10a136c8db09227222b63b844b3c0dff4e811ad10cd1142c088b24609bb5d34·...·]-1">)</span></code></pre><h2·id="length-1"·class="section-heading">216 is·passed·to·<a·href="../../erts-15.2.7/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="1011956023-1">(</span><span·class="nf">list_to_atom</span><span·class="p"·data-group-id="1011956023-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="1011956023-2">)</s[·...·truncated·by·diffoscope;·len:·195,·SHA:·d103d465a7edea53048f212026fa7dfe3b354085dbaf3b36d670d2efdc710f16·...·]-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-15.2.7/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>,223 the·list,·as·opposed·to·<a·href="../../erts-15.2.7/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>,
224 <a·href="../../erts-15.2.7/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size/1</code></a>,·and·<a·href="../../erts-15.2.7/doc/html/erlang.html#bit_size/1"><code·class="inline">bit_size/1</code></a>,·which·all224 <a·href="../../erts-15.2.7/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size/1</code></a>,·and·<a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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="0083892943-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="0083892943-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="0083892943-2">(</span><span·class="n">L</span><span·class="p"·data-group-id="0083892943-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="4908768625-1">(</span><span[·...·truncated·by·diffoscope;·len:·363,·SHA:·1fb0cd8064ac1514e2396cf3ff8bb76fa7a426840813a17ebfc8b3ea0488f417·...·]</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="1942796287-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="1942796287-1">)</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·301,·SHA:·7541c2dbdf48f49bc7630a9f3bb1902b4b23682fc11d5bf917dc8bd9fcaeef3a·...·]</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="6877084355-1">(</span><span·class="p"·data-group-id="6877084355-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="6877084355-2">]</span><span·class="o">=</span><span·class="n">L</span><span·class="p"·data-group-id="6877084355-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-15.2.7/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-15.2.7/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-15.2.7/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·copies·the·tuple·it·modifies.·Therefore,238 <p><a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·call·copies·the·tuple244 code·sequence,·the·first·<a·href="../../erts-15.2.7/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="6463285131-1">(</span><span·class="n">T0</span><span·class="p"·data-group-id="6463285131-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="6463285131-2">(<[·...·truncated·by·diffoscope;·len:·72,·SHA:·b301f466c6f29de96a1cb5c97114f41af1194d7b86156703e078f5ed49c434d1·...·]-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="5752508697-1">(</span><span·class="n">T0</span><span·class="p"·data-group-id="5752508697-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="5752508697-2">(<[·...·truncated·by·diffoscope;·len:·72,·SHA:·c00db9b39875c6b785c697f963055845c0bd53a1f6dcf8fa2a2b2b580140fe26·...·]-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="6463285131-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="6463285131-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="5752508697-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="5752508697-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="6463285131-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="6463285131-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="5752508697-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="5752508697-4">)</span><span·class="p">,</span><span·class="w">
248 ····</span><span·class="nf">setelement</span><span·class="p"·data-group-id="6463285131-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="6463285131-5">)</span><span·class="p">.</span></code></pre><p>The·two·following·<a·href="../../erts-15.2.7/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="5752508697-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="5752508697-5">)</span><span·class="p">.</span></code></pre><p>The·two·following·<a·href="../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>.</li><li>The·tuple·returned·from·one·<a·href="../../erts-15.2.7/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·call·must·only·be250 <a·href="../../erts-15.2.7/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>.</li><li>The·tuple·returned·from·one·<a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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/53283 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.5 KB
./usr/share/doc/erlang-doc/html/doc/system/data_types.html
    
Offset 192, 18 lines modifiedOffset 192, 18 lines modified
192 ··</a>192 ··</a>
193 ··<span·class="text">Representation·of·Floating·Point·Numbers</span>193 ··<span·class="text">Representation·of·Floating·Point·Numbers</span>
194 </h3>194 </h3>
195 <p>When·working·with·floats·you·may·not·see·what·you·expect·when·printing·or·doing195 <p>When·working·with·floats·you·may·not·see·what·you·expect·when·printing·or·doing
196 arithmetic·operations.·This·is·because·floats·are·represented·by·a·fixed·number196 arithmetic·operations.·This·is·because·floats·are·represented·by·a·fixed·number
197 of·bits·in·a·base-2·system·while·printed·floats·are·represented·with·a·base-10197 of·bits·in·a·base-2·system·while·printed·floats·are·represented·with·a·base-10
198 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">198 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">
199 </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="9804324505-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">199 </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="4835655344-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">
200 ··</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="9804324505-1">}</span><span·class="p">.</span><span·class="w">200 ··</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="4835655344-1">}</span><span·class="p">.</span><span·class="w">
201 </span><span·class="p"·data-group-id="9804324505-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">201 </span><span·class="p"·data-group-id="4835655344-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">
202 ·</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="9804324505-2">}</span><span·class="p">.</span></code></pre><p>The·value·<code·class="inline">36028797018963968</code>·can·be·represented·exactly·as·a·float·value·but202 ·</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="4835655344-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
203 Erlang's·pretty·printer·rounds·<code·class="inline">36028797018963968.0</code>·to·<code·class="inline">3.602879701896397e16</code>203 Erlang's·pretty·printer·rounds·<code·class="inline">36028797018963968.0</code>·to·<code·class="inline">3.602879701896397e16</code>
204 (<code·class="inline">=36028797018963970.0</code>)·as·all·values·in·the·range204 (<code·class="inline">=36028797018963970.0</code>)·as·all·values·in·the·range
205 <code·class="inline">[36028797018963966.0,·36028797018963972.0]</code>·are·represented·by205 <code·class="inline">[36028797018963966.0,·36028797018963972.0]</code>·are·represented·by
206 <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·represent206 <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
207 money,·it·is·recommended·to·use·a·library·that·handles·that,·or·work·in207 money,·it·is·recommended·to·use·a·library·that·handles·that,·or·work·in
208 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,208 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,
209 in·that·neither·<em>Inf</em>·nor·<em>NaN</em>·are·supported·in·Erlang.·Any209 in·that·neither·<em>Inf</em>·nor·<em>NaN</em>·are·supported·in·Erlang.·Any
Offset 237, 52 lines modifiedOffset 237, 52 lines modified
237 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;.237 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;.
238 &lt;&lt;10,20&gt;&gt;238 &lt;&lt;10,20&gt;&gt;
239 2&gt;·&lt;&lt;&quot;ABC&quot;&gt;&gt;.239 2&gt;·&lt;&lt;&quot;ABC&quot;&gt;&gt;.
240 &lt;&lt;&quot;ABC&quot;&gt;&gt;240 &lt;&lt;&quot;ABC&quot;&gt;&gt;
241 3&gt;·&lt;&lt;1:1,0:1&gt;&gt;.241 3&gt;·&lt;&lt;1:1,0:1&gt;&gt;.
242 &lt;&lt;2:2&gt;&gt;</code></pre><p>The·<a·href="../../erts-15.2.7/doc/html/erlang.html#is_bitstring/1"><code·class="inline">is_bitstring/1</code></a>·BIF·tests·whether·a242 &lt;&lt;2:2&gt;&gt;</code></pre><p>The·<a·href="../../erts-15.2.7/doc/html/erlang.html#is_bitstring/1"><code·class="inline">is_bitstring/1</code></a>·BIF·tests·whether·a
243 term·is·a·bit·string,·and·the·<a·href="../../erts-15.2.7/doc/html/erlang.html#is_binary/1"><code·class="inline">is_binary/1</code></a>243 term·is·a·bit·string,·and·the·<a·href="../../erts-15.2.7/doc/html/erlang.html#is_binary/1"><code·class="inline">is_binary/1</code></a>
244 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="8715253307-1">(</span><span·class="p"·data-group-id="8715253307-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="8715253307-2">&gt;&gt;</span><span·class="p"·data-group-id="871525330[·...·truncated·by·diffoscope;·len:·1,·SHA:·7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451·...·]-1">)</span><span·class="p">.</span><span·class="w">244 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="3889299748-1">(</span><span·class="p"·data-group-id="3889299748-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="3889299748-2">&gt;&gt;</span><span·class="p"·data-group-id="388929974[·...·truncated·by·diffoscope;·len:·1,·SHA:·2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3·...·]-1">)</span><span·class="p">.</span><span·class="w">
245 </span><span·class="ss">true</span><span·class="gp·unselectable">245 </span><span·class="ss">true</span><span·class="gp·unselectable">
246 2&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="8715253307-3">(</span><span·class="p"·data-group-id="8715253307-4">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="8715253307-4">&gt;&gt;</span><span·class="p"·data-group-id="871525330[·...·truncated·by·diffoscope;·len:·1,·SHA:·7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451·...·]-3">)</span><span·class="p">.</span><span·class="w">246 2&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="3889299748-3">(</span><span·class="p"·data-group-id="3889299748-4">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="3889299748-4">&gt;&gt;</span><span·class="p"·data-group-id="388929974[·...·truncated·by·diffoscope;·len:·1,·SHA:·2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3·...·]-3">)</span><span·class="p">.</span><span·class="w">
247 </span><span·class="ss">false</span><span·class="gp·unselectable">247 </span><span·class="ss">false</span><span·class="gp·unselectable">
248 3&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="8715253307-5">(</span><span·class="p"·data-group-id="8715253307-6">&lt;&lt;</span><span·class="mi">42</span><span·class="p"·data-group-id="8715253307-6">&gt;&gt;</span><span·class="p"·data-group-id="8715253307-5">)</span><span·class="p">.</span><span·class="w">248 3&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="3889299748-5">(</span><span·class="p"·data-group-id="3889299748-6">&lt;&lt;</span><span·class="mi">42</span><span·class="p"·data-group-id="3889299748-6">&gt;&gt;</span><span·class="p"·data-group-id="3889299748-5">)</span><span·class="p">.</span><span·class="w">
249 </span><span·class="ss">true</span><span·class="w">249 </span><span·class="ss">true</span><span·class="w">
250 </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">250 </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">
251 ··<a·href="#reference"·class="hover-link">251 ··<a·href="#reference"·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">Reference</span>254 ··<span·class="text">Reference</span>
255 </h2>255 </h2>
256 <p>A·term·that·is·<a·href="../../doc/system/system_limits.html#unique_references">unique</a>256 <p>A·term·that·is·<a·href="../../doc/system/system_limits.html#unique_references">unique</a>
257 among·connected·nodes.·A·reference·is·created·by·calling·the257 among·connected·nodes.·A·reference·is·created·by·calling·the
258 <a·href="../../erts-15.2.7/doc/html/erlang.html#make_ref/0"><code·class="inline">make_ref/0</code></a>·BIF.·The258 <a·href="../../erts-15.2.7/doc/html/erlang.html#make_ref/0"><code·class="inline">make_ref/0</code></a>·BIF.·The
259 <a·href="../../erts-15.2.7/doc/html/erlang.html#is_reference/1"><code·class="inline">is_reference/1</code></a>·BIF·tests·whether·a·term259 <a·href="../../erts-15.2.7/doc/html/erlang.html#is_reference/1"><code·class="inline">is_reference/1</code></a>·BIF·tests·whether·a·term
260 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="2297118284-1">(</span><span·class="p"·data-group-id="2297118284-1">)</span><span·class="p">.</span><span·class="w">260 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="7250981962-1">(</span><span·class="p"·data-group-id="7250981962-1">)</span><span·class="p">.</span><span·class="w">
261 </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">261 </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">
262 2&gt;·</span><span·class="nf">is_reference</span><span·class="p"·data-group-id="2297118284-2">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="2297118284-2">)</span><span·class="p">.</span><span·class="w">262 2&gt;·</span><span·class="nf">is_reference</span><span·class="p"·data-group-id="7250981962-2">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="7250981962-2">)</span><span·class="p">.</span><span·class="w">
263 </span><span·class="ss">true</span></code></pre><h2·id="fun"·class="section-heading">263 </span><span·class="ss">true</span></code></pre><h2·id="fun"·class="section-heading">
264 ··<a·href="#fun"·class="hover-link">264 ··<a·href="#fun"·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">Fun</span>267 ··<span·class="text">Fun</span>
268 </h2>268 </h2>
269 <p>A·fun·is·a·functional·object.·Funs·make·it·possible·to·create·an·anonymous269 <p>A·fun·is·a·functional·object.·Funs·make·it·possible·to·create·an·anonymous
270 function·and·pass·the·function·itself··not·its·name··as·argument·to·other270 function·and·pass·the·function·itself··not·its·name··as·argument·to·other
271 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="5689923386-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="5689923386-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">271 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="4725798635-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="4725798635-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">
272 </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">272 </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">
273 2&gt;·</span><span·class="n">Fun1</span><span·class="p"·data-group-id="5689923386-2">(</span><span·class="mi">2</span><span·class="p"·data-group-id="5689923386-2">)</span><span·class="p">.</span><span·class="w">273 2&gt;·</span><span·class="n">Fun1</span><span·class="p"·data-group-id="4725798635-2">(</span><span·class="mi">2</span><span·class="p"·data-group-id="4725798635-2">)</span><span·class="p">.</span><span·class="w">
274 </span><span·class="mi">3</span></code></pre><p>The·<a·href="../../erts-15.2.7/doc/html/erlang.html#is_function/1"><code·class="inline">is_function/1</code></a>·and·<a·href="../../erts-15.2.7/doc/html/erlang.html#is_function/2"><code·class="inline">is_function/2</code></a>274 </span><span·class="mi">3</span></code></pre><p>The·<a·href="../../erts-15.2.7/doc/html/erlang.html#is_function/1"><code·class="inline">is_function/1</code></a>·and·<a·href="../../erts-15.2.7/doc/html/erlang.html#is_function/2"><code·class="inline">is_function/2</code></a>
275 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="3466525383-1">(</span><span·class="p"·data-group-id="3466525383-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">275 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="2000795496-1">(</span><span·class="p"·data-group-id="2000795496-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">
276 </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">276 </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">
277 2&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="3466525383-2">(</span><span·class="n">F</span><span·class="p"·data-group-id="3466525383-2">)</span><span·class="p">.</span><span·class="w">277 2&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="2000795496-2">(</span><span·class="n">F</span><span·class="p"·data-group-id="2000795496-2">)</span><span·class="p">.</span><span·class="w">
278 </span><span·class="ss">true</span><span·class="gp·unselectable">278 </span><span·class="ss">true</span><span·class="gp·unselectable">
279 3&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="3466525383-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="3466525383-3">)</span><span·class="p">.</span><span·class="w">279 3&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="2000795496-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="2000795496-3">)</span><span·class="p">.</span><span·class="w">
280 </span><span·class="ss">true</span><span·class="gp·unselectable">280 </span><span·class="ss">true</span><span·class="gp·unselectable">
281 4&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="3466525383-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="3466525383-4">)</span><span·class="p">.</span><span·class="w">281 4&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="2000795496-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="2000795496-4">)</span><span·class="p">.</span><span·class="w">
282 </span><span·class="ss">false</span></code></pre><p>Read·more·about·funs·in·<a·href="expressions.html#fun-expressions">Fun·Expressions</a>.·For·more282 </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
283 examples,·see·<a·href="../../doc/system/funs.html">Programming·Examples</a>.</p><h2·id="port-identifier"·class="section-heading">283 examples,·see·<a·href="../../doc/system/funs.html">Programming·Examples</a>.</p><h2·id="port-identifier"·class="section-heading">
284 ··<a·href="#port-identifier"·class="hover-link">284 ··<a·href="#port-identifier"·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">Port·Identifier</span>287 ··<span·class="text">Port·Identifier</span>
288 </h2>288 </h2>
Offset 300, 94 lines modifiedOffset 300, 94 lines modified
300 for·a·new·process·after·a·while.</p><p>The·BIF·<a·href="../../erts-15.2.7/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·returns·the·Pid·of·the·calling·process.·When300 for·a·new·process·after·a·while.</p><p>The·BIF·<a·href="../../erts-15.2.7/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·returns·the·Pid·of·the·calling·process.·When
301 <a·href="ref_man_processes.html#process-creation">creating·a·new·process</a>,·the·parent301 <a·href="ref_man_processes.html#process-creation">creating·a·new·process</a>,·the·parent
302 process·will·be·able·to·get·the·Pid·of·the·child·process·either·via·the·return302 process·will·be·able·to·get·the·Pid·of·the·child·process·either·via·the·return
303 value,·as·is·the·case·when·calling·the·<a·href="../../erts-15.2.7/doc/html/erlang.html#spawn/3"><code·class="inline">spawn/3</code></a>·BIF,·or·via303 value,·as·is·the·case·when·calling·the·<a·href="../../erts-15.2.7/doc/html/erlang.html#spawn/3"><code·class="inline">spawn/3</code></a>·BIF,·or·via
304 a·message,·which·is·the·case·when·calling·the304 a·message,·which·is·the·case·when·calling·the
305 <a·href="../../erts-15.2.7/doc/html/erlang.html#spawn_request/5"><code·class="inline">spawn_request/5</code></a>·BIF.·A·Pid·is·typically·used·when305 <a·href="../../erts-15.2.7/doc/html/erlang.html#spawn_request/5"><code·class="inline">spawn_request/5</code></a>·BIF.·A·Pid·is·typically·used·when
306 when·sending·a·process·a·<a·href="ref_man_processes.html#signals">signal</a>.·The306 when·sending·a·process·a·<a·href="ref_man_processes.html#signals">signal</a>.·The
307 <a·href="../../erts-15.2.7/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="3964559139-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="3964559139-1">)</span><span·class="p">.</span><span·class="w">307 <a·href="../../erts-15.2.7/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="6687585894-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="6687585894-1">)</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="3964559139-2">(</span><span·class="p"·data-group-id="3964559139-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="3964559139-3">]</span><span·class="p"·data-group-id="3964559139-2">)</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="6687585894-2">(</span><span·class="p"·data-group-id="6687585894-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6687585894-3">]</span><span·class="p"·data-group-id="6687585894-2">)</span><span·class="p">.</span><span·class="w">
  
309 </span><span·class="nf">loop</span><span·class="p"·data-group-id="3964559139-4">(</span><span·class="p"·data-group-id="3964559139-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">309 </span><span·class="nf">loop</span><span·class="p"·data-group-id="6687585894-4">(</span><span·class="p"·data-group-id="6687585894-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
310 ····</span><span·class="k">receive</span><span·class="w">310 ····</span><span·class="k">receive</span><span·class="w">
311 ········</span><span·class="ss">who_are_you</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">311 ········</span><span·class="ss">who_are_you</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
312 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3964559139-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="3964559139-6">[</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·210,·SHA:·6fa6ce892c7389a66a543b1fc66280b8be3ac879e84c61b3aeeef5ca72e6e983·...·]-5">)</span><span·class="p">,</span><span·class="w">312 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6687585894-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="6687585894-6">[</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·210,·SHA:·f29bad1b52dfe30a8e4a143d87db7a25b080ea7f7936f883b90947275bbcb58f·...·]-5">)</span><span·class="p">,</span><span·class="w">
313 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="3964559139-8">(</span><span·class="p"·data-group-id="3964559139-8">)</span><span·class="w">313 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="6687585894-8">(</span><span·class="p"·data-group-id="6687585894-8">)</span><span·class="w">
314 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">314 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
315 </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="3964559139-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="3964559139-10">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·64,·SHA:·9f05e67785b9abdccffc32ef65d757ab3bdac502c72d349c7095ce022be2de09·...·]-9">)</span><span·class="p">.</span><span·class="w">315 </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="6687585894-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="6687585894-10">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·64,·SHA:·943e2f2044fb6ab1f6526f7b39dd65889e0b1ce3a031487b4c917281ce278b2a·...·]-9">)</span><span·class="p">.</span><span·class="w">
316 </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">316 </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">
317 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">317 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">
318 </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">318 </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">
319 </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">319 </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">
320 ··<a·href="#tuple"·class="hover-link">320 ··<a·href="#tuple"·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">Tuple</span>323 ··<span·class="text">Tuple</span>
324 </h2>324 </h2>
325 <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·is325 <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
326 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="2805952356-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="2805952356-2">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·59b7d442d5211c93cf5be04d2807e52feb353530a1b0136289e6d4568852012c·...·]-1">}</span><span·class="p">.</span><span·class="w">326 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="9152955475-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="9152955475-2">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·342643b8eb1110ec5981082d800b494afe1465850ad21bb9197a8841994a1148·...·]-1">}</span><span·class="p">.</span><span·class="w">
327 </span><span·class="p"·data-group-id="2805952356-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="2805952356-4">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·e0ffb76ed6d3ca9665329edb23563d23ecdd01762204a3bd609ccd107dca1567·...·]-3">}</span><span·class="gp·unselectable">327 </span><span·class="p"·data-group-id="9152955475-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="9152955475-4">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·5cac8b59078b7a2e3321f9cfa71cc07dff17b5ec73acd1993e38c310fd221661·...·]-3">}</span><span·class="gp·unselectable">
328 2&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="2805952356-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="2805952356-5">)</span><span·class="p">.</span><span·class="w">328 2&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="9152955475-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="9152955475-5">)</span><span·class="p">.</span><span·class="w">
329 </span><span·class="ss">adam</span><span·class="gp·unselectable">329 </span><span·class="ss">adam</span><span·class="gp·unselectable">
330 3&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="2805952356-6">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="2805952356-6">)</span><span·class="p">.</span><span·class="w">330 3&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="9152955475-6">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="9152955475-6">)</span><span·class="p">.</span><span·class="w">
331 </span><span·class="p"·data-group-id="2805952356-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="2805952356-7">}</span><span·class="gp·unselectable">331 </span><span·class="p"·data-group-id="9152955475-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="9152955475-7">}</span><span·class="gp·unselectable">
332 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="2805952356-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="2805952356-8">)</span><span·class="p">.</span><span·class="w">332 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="9152955475-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="9152955475-8">)</span><span·class="p">.</span><span·class="w">
333 </span><span·class="p"·data-group-id="2805952356-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="2805952356-10">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span>[·...·truncated·by·diffoscope;·len:·95,·SHA:·70048201781aa30286a583e9d44860363f217920386518046d58920f204aaa2d·...·]-9">}</span><span·class="gp·unselectable">333 </span><span·class="p"·data-group-id="9152955475-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="9152955475-10">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span>[·...·truncated·by·diffoscope;·len:·95,·SHA:·5084ecb51a57817518881e2eeb47effa9597ba20f4aea48538dcc92e242a2440·...·]-9">}</span><span·class="gp·unselectable">
334 5&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="2805952356-11">(</span><span·class="n">P</span><span·class="p"·data-group-id="2805952356-11">)</span><span·class="p">.</span><span·class="w">334 5&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="9152955475-11">(</span><span·class="n">P</span><span·class="p"·data-group-id="9152955475-11">)</span><span·class="p">.</span><span·class="w">
335 </span><span·class="mi">3</span><span·class="gp·unselectable">335 </span><span·class="mi">3</span><span·class="gp·unselectable">
336 6&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="2805952356-12">(</span><span·class="p"·data-group-id="2805952356-13">{</span><span·class="p"·data-group-id="2805952356-13">}</span><span·class="p"·data-group-id="2805952356-12">)</span><span·class="p">.</span><span·class="w">336 6&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="9152955475-12">(</span><span·class="p"·data-group-id="9152955475-13">{</span><span·class="p"·data-group-id="9152955475-13">}</span><span·class="p"·data-group-id="9152955475-12">)</span><span·class="p">.</span><span·class="w">
337 </span><span·class="mi">0</span><span·class="gp·unselectable">337 </span><span·class="mi">0</span><span·class="gp·unselectable">
338 7&gt;·</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="2805952356-14">(</span><span·class="p"·data-group-id="2805952356-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="2805952356-15">}</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·cb0489a98fd9a19cff2f9f4699e27e549bda235f3eb7b8b1cc215b98f95cf35b·...·]-14">)</span><span·class="p">.</span><span·class="w">338 7&gt;·</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="9152955475-14">(</span><span·class="p"·data-group-id="9152955475-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="9152955475-15">}</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·837e89ccf6cba781f7e66ce13b1d7888ab66c9c8627fd88c247471178e8735e0·...·]-14">)</span><span·class="p">.</span><span·class="w">
339 </span><span·class="ss">true</span></code></pre><h2·id="map"·class="section-heading">339 </span><span·class="ss">true</span></code></pre><h2·id="map"·class="section-heading">
340 ··<a·href="#map"·class="hover-link">340 ··<a·href="#map"·class="hover-link">
341 ····<i·class="ri-link-m"·aria-hidden="true"></i>341 ····<i·class="ri-link-m"·aria-hidden="true"></i>
342 ··</a>342 ··</a>
343 ··<span·class="text">Map</span>343 ··<span·class="text">Map</span>
344 </h2>344 </h2>
345 <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·key345 <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
346 and·value·parts·of·the·pair·are·called·<em>elements</em>.·The·number·of·association346 and·value·parts·of·the·pair·are·called·<em>elements</em>.·The·number·of·association
347 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="7659562419-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:·452,·SHA:·eda4a76a0a6a60449a009205dac1952cbb72b72ee9d76bfad93dac104a6b67b1·...·]9-1">}</span><span·class="p">.</span><span·class="w">347 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="5702338709-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:·452,·SHA:·ae9891d7a05fd352bdaa91790c43d8492fa29b778c42d9dc2af051a5a6cfdece·...·]9-1">}</span><span·class="p">.</span><span·class="w">
348 </span><span·class="p"·data-group-id="7659562419-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:·404,·SHA:·d6fc55bd50e46f1f992fffd2994c90fb9df20342f055e0237570baa7b770e91e·...·]9-3">}</span><span·class="gp·unselectable">348 </span><span·class="p"·data-group-id="5702338709-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:·404,·SHA:·7abb848ed32a2454fb09616d0ed079b9c567321d4f3eb8deff2df40a9a989a48·...·]9-3">}</span><span·class="gp·unselectable">
349 2&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="7659562419-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="7659562419-5">)</span><span·class="p">.</span><span·class="w">349 2&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="5702338709-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="5702338709-5">)</span><span·class="p">.</span><span·class="w">
350 </span><span·class="ss">adam</span><span·class="gp·unselectable">350 </span><span·class="ss">adam</span><span·class="gp·unselectable">
351 3&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="7659562419-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="7659562419-6">)</span><span·class="p">.</span><span·class="w">351 3&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="5702338709-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="5702338709-6">)</span><span·class="p">.</span><span·class="w">
352 </span><span·class="p"·data-group-id="7659562419-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="7659562419-7">}</span><span·class="gp·unselectable">352 </span><span·class="p"·data-group-id="5702338709-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="5702338709-7">}</span><span·class="gp·unselectable">
Max diff block lines reached; 38953/79529 bytes (48.98%) 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>336 <p>Copyright·©·1996-2025·<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="0581043119-1">(</span><span·class="ss">ch1</span><span·class="p"·data-group-id="0581043119-1">)</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="7231113172-1">(</span><span·class="ss">ch1</span><span·class="p"·data-group-id="7231113172-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="0581043119-2">(</span><span·class="p"·data-group-id="0581043119-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0581043119-3">]</span><span·class="p"·data-group-id="0581043119-2">)</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="7231113172-2">(</span><span·class="p"·data-group-id="7231113172-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7231113172-3">]</span><span·class="p"·data-group-id="7231113172-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="0581043119-4">(</span><span·class="p"·data-group-id="0581043119-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:·6a834c0ff117b7c6b2bf35f70377e41fa108cb38da7e7b69ea805459add48f2e·...·]-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="7231113172-4">(</span><span·class="p"·data-group-id="7231113172-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:·89a30d8043f956c7ceed16dedfad5d11d39f4648e081acafa7b7a6288d11200d·...·]-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="0581043119-6">(</span><span·class="p"·data-group-id="0581043119-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0581043119-7">]</span><span·class="p"·data-group-id="0581043119-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="7231113172-6">(</span><span·class="p"·data-group-id="7231113172-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7231113172-7">]</span><span·class="p"·data-group-id="7231113172-6">)</span><span·class="p">.</span><span·class="w">
  
163 </span><span·class="nf">start</span><span·class="p"·data-group-id="0581043119-8">(</span><span·class="p"·data-group-id="0581043119-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="7231113172-8">(</span><span·class="p"·data-group-id="7231113172-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="0581043119-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="0581043119-10">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·0ea37024d0fcc3b8a97e16444939f4c4422daddcadf4ca2ec6453e3ceea075c3·...·]-9">)</span><span·class="p">.</span><span·class="w">164 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7231113172-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="7231113172-10">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·310eec6a3c88d08880333062bd2524eca6434d689a2b141e2b2dc5e561f2a1bf·...·]-9">)</span><span·class="p">.</span><span·class="w">
  
165 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="0581043119-11">(</span><span·class="p"·data-group-id="0581043119-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="7231113172-11">(</span><span·class="p"·data-group-id="7231113172-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="0581043119-12">{</span><span·class="nf">self</span><span·class="p"·data-group-id="0581043119-13">(</span><span·class="p"·data-group-id="0581043119-13">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·2a7cd8a983f6e8a54654a29fd174af07e67dd9ffa34d57b505768c10411fd1be·...·]-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="7231113172-12">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7231113172-13">(</span><span·class="p"·data-group-id="7231113172-13">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·464f23344532c60a581dd98491bd5038e0ae363ac1b01e32f0c71fd0ffbc7e31·...·]-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="0581043119-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="0581043119-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">168 ········</span><span·class="p"·data-group-id="7231113172-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="7231113172-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="0581043119-15">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="0581043119-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="7231113172-15">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="7231113172-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="0581043119-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="0581043119-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="7231113172-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="7231113172-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="0581043119-17">(</span><span·class="p"·data-group-id="0581043119-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="7231113172-17">(</span><span·class="p"·data-group-id="7231113172-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="0581043119-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="0581043119-19">(</span><span·class="p"·data-group-id="0581043119-19">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·0da176f980541b62799498e0ed44e71e329122ce4f8636c00f9121b827a7ecc8·...·]-18">)</span><span·class="p">,</span><span·class="w">175 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="7231113172-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="7231113172-19">(</span><span·class="p"·data-group-id="7231113172-19">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·2880d8a4300308ebc30d70747a1815947c5af85a383b7da23eea39f3f0e8a6bc·...·]-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="0581043119-20">(</span><span·class="p"·data-group-id="0581043119-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="7231113172-20">(</span><span·class="p"·data-group-id="7231113172-20">)</span><span·class="p">,</span><span·class="w">
177 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="0581043119-21">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="0581043119-21">)</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7231113172-21">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="7231113172-21">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">loop</span><span·class="p"·data-group-id="0581043119-22">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="0581043119-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="7231113172-22">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="7231113172-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="0581043119-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="0581043119-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 ········</span><span·class="p"·data-group-id="7231113172-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="7231113172-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
181 ············</span><span·class="p"·data-group-id="0581043119-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="0581043119-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·9b24101d39c233474c0d5ed4cc5feb9272386e5d2885ed68110add8d9d65b0cc·...·]-25">)</span><span·class="p">,</span><span·class="w">181 ············</span><span·class="p"·data-group-id="7231113172-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="7231113172-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·74db41d353c554c22f72ee64cd5ca01d54a7634cfe0a7f0aeb240472e631903c·...·]-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="0581043119-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="0581043119-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="7231113172-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="7231113172-26">}</span><span·class="p">,</span><span·class="w">
183 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="0581043119-27">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="0581043119-27">)</span><span·class="p">;</span><span·class="w">183 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="7231113172-27">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="7231113172-27">)</span><span·class="p">;</span><span·class="w">
184 ········</span><span·class="p"·data-group-id="0581043119-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="0581043119-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">184 ········</span><span·class="p"·data-group-id="7231113172-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="7231113172-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="0581043119-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="0581043119-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="7231113172-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="7231113172-29">)</span><span·class="p">,</span><span·class="w">
186 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="0581043119-30">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="0581043119-30">)</span><span·class="w">186 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="7231113172-30">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="7231113172-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="9105992504-1">(</span><span·class="ss">server</span><span·class="p"·data-group-id="9105992504-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="8657259539-1">(</span><span·class="ss">server</span><span·class="p"·data-group-id="8657259539-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="9105992504-2">(</span><span·class="p"·data-group-id="9105992504-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9105992504-3">]</span><span·class="p"·data-group-id="9105992504-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="8657259539-2">(</span><span·class="p"·data-group-id="8657259539-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8657259539-3">]</span><span·class="p"·data-group-id="8657259539-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="9105992504-4">(</span><span·class="p"·data-group-id="9105992504-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:·f9b5dea03a8b81d53b5914e53030846e397c9754ba76bd5710fca68602518982·...·]-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="8657259539-4">(</span><span·class="p"·data-group-id="8657259539-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:·ef3c6bc615b7b4894f52caf54849dc00243e91f331bab710dc6725134da45467·...·]-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="9105992504-6">(</span><span·class="p"·data-group-id="9105992504-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9105992504-7">]</span><span·class="p"·data-group-id="9105992504-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="8657259539-6">(</span><span·class="p"·data-group-id="8657259539-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8657259539-7">]</span><span·class="p"·data-group-id="8657259539-6">)</span><span·class="p">.</span><span·class="w">
  
191 </span><span·class="nf">start</span><span·class="p"·data-group-id="9105992504-8">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="9105992504-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="8657259539-8">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="8657259539-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="9105992504-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="9105992504-10">[</span><span·class="n">Mod</span>[·...·truncated·by·diffoscope;·len:·95,·SHA:·4aa0d5ac58c9416dd615c4d18590ee50c92eca72853637de70d8598642f4eecd·...·]-9">)</span><span·class="p">.</span><span·class="w">192 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="8657259539-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="8657259539-10">[</span><span·class="n">Mod</span>[·...·truncated·by·diffoscope;·len:·95,·SHA:·07be9610c47013f776037b7b18659a3e90fd2cd09a277b7715e0e3c710b9d031·...·]-9">)</span><span·class="p">.</span><span·class="w">
  
193 </span><span·class="nf">call</span><span·class="p"·data-group-id="9105992504-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="9105992504-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="8657259539-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="8657259539-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="9105992504-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="9105992504-13">(</span><span·class="p"·data-group-id="9105992504-13">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·be115afbe7db80effdc9f38100f2d27b9451a8466b645f05b2554bf5047ab3fa·...·]-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="8657259539-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="8657259539-13">(</span><span·class="p"·data-group-id="8657259539-13">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·a351bbd40bc96a651273406d843e0839d04bbcb490602cb1dd0c9e32f9f872b6·...·]-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="9105992504-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="9105992504-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">196 ········</span><span·class="p"·data-group-id="8657259539-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="8657259539-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="9105992504-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="9105992504-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="8657259539-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="8657259539-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="9105992504-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="9105992504-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="8657259539-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="8657259539-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="9105992504-17">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="9105992504-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="8657259539-17">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="8657259539-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="9105992504-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="9105992504-19">(</span><span·class="p"·data-group-id="9105992504-19">)</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·697537c7068a0916b4d5686a49c9c0372e881feb09543a604e3e6d34f4792404·...·]-18">)</span><span·class="p">,</span><span·class="w">203 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="8657259539-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="8657259539-19">(</span><span·class="p"·data-group-id="8657259539-19">)</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·ceb010684d709b746fabb0181ccec1399aa579f4b430b816c3a4f025e4f967b5·...·]-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="9105992504-20">(</span><span·class="p"·data-group-id="9105992504-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="8657259539-20">(</span><span·class="p"·data-group-id="8657259539-20">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="9105992504-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="9105992504-21">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="8657259539-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="8657259539-21">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">loop</span><span·class="p"·data-group-id="9105992504-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="9105992504-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="8657259539-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="8657259539-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="9105992504-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="9105992504-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ········</span><span·class="p"·data-group-id="8657259539-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="8657259539-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ············</span><span·class="p"·data-group-id="9105992504-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="9105992504-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·278,·SHA:·988873b421472a402d9095dea88cf6ce79329b8d6028f484a416973af641df52·...·]-25">)</span><span·class="p">,</span><span·class="w">209 ············</span><span·class="p"·data-group-id="8657259539-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="8657259539-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·278,·SHA:·766439629b6b967a72ae0b2fd6ab9fe048d53c966cf14a4bdeb91541c7c42e3e·...·]-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="9105992504-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="9105992504-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="8657259539-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="8657259539-26">}</span><span·class="p">,</span><span·class="w">
211 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="9105992504-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="9105992504-27">)</span><span·class="p">;</span><span·class="w">211 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="8657259539-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="8657259539-27">)</span><span·class="p">;</span><span·class="w">
212 ········</span><span·class="p"·data-group-id="9105992504-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="9105992504-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 ········</span><span·class="p"·data-group-id="8657259539-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="8657259539-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="9105992504-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="9105992504-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="8657259539-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="8657259539-29">)</span><span·class="p">,</span><span·class="w">
214 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="9105992504-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="9105992504-30">)</span><span·class="w">214 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="8657259539-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="8657259539-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="5602974716-1">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="5602974716-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="7061786265-1">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="7061786265-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="5602974716-2">(</span><span·class="p"·data-group-id="5602974716-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5602974716-3">]</span><span·class="p"·data-group-id="5602974716-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="7061786265-2">(</span><span·class="p"·data-group-id="7061786265-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7061786265-3">]</span><span·class="p"·data-group-id="7061786265-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="5602974716-4">(</span><span·class="p"·data-group-id="5602974716-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:·9c835b9ab93693c88cab26d34e52aa7325ee756d4a795a047fb843b6be12dc0d·...·]-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="7061786265-4">(</span><span·class="p"·data-group-id="7061786265-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:·4e8403b7ae7e4e1e23a7eba1a80f9ac2fe812a712849109093fbf38eec4a93eb·...·]-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="5602974716-6">(</span><span·class="p"·data-group-id="5602974716-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:·84996e8e219761b86eb57eecb539e41a9bab0aa4055a424fd3ffab86d8d368c8·...·]-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="7061786265-6">(</span><span·class="p"·data-group-id="7061786265-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:·bc01c73e62cf5f4316cebdf4c862a4778c8a383d22983f9db792f2448f0542b7·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
219 </span><span·class="nf">start</span><span·class="p"·data-group-id="5602974716-8">(</span><span·class="p"·data-group-id="5602974716-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="7061786265-8">(</span><span·class="p"·data-group-id="7061786265-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="5602974716-9">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="5602974716-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="7061786265-9">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="7061786265-9">)</span><span·class="p">.</span><span·class="w">
  
221 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="5602974716-10">(</span><span·class="p"·data-group-id="5602974716-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="7061786265-10">(</span><span·class="p"·data-group-id="7061786265-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="5602974716-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="5602974716-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="7061786265-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="7061786265-11">)</span><span·class="p">.</span><span·class="w">
  
223 </span><span·class="nf">free</span><span·class="p"·data-group-id="5602974716-12">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="5602974716-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="7061786265-12">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="7061786265-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="5602974716-13">(</span><span·class="ss">ch2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5602974716-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:·f8072e119bd934d67a77f7f9308599904e14c2a126174e88a50cb9d8580401d8·...·]-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="7061786265-13">(</span><span·class="ss">ch2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7061786265-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:·330f00b85ea75832bfb1dad2704261dcd2e221f3279cf1feb1f5fa958f57fba5·...·]-13">)</span><span·class="p">.</span><span·class="w">
  
225 </span><span·class="nf">init</span><span·class="p"·data-group-id="5602974716-15">(</span><span·class="p"·data-group-id="5602974716-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="7061786265-15">(</span><span·class="p"·data-group-id="7061786265-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="5602974716-16">(</span><span·class="p"·data-group-id="5602974716-16">)</span><span·class="p">.</span><span·class="w">226 ····</span><span·class="nf">channels</span><span·class="p"·data-group-id="7061786265-16">(</span><span·class="p"·data-group-id="7061786265-16">)</span><span·class="p">.</span><span·class="w">
  
227 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="5602974716-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="5602974716-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="7061786265-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="7061786265-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="5602974716-18">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="5602974716-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="7061786265-18">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="7061786265-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="5602974716-19">(</span><span·class="p"·data-group-id="5602974716-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="5602974716-20">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·5ae7479c420163df77f75f6a279362d9bde260dbbea5dbb5c12550962e145651·...·]-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="7061786265-19">(</span><span·class="p"·data-group-id="7061786265-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="7061786265-20">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·7f796ef40f35de856049107462d928c46b4863296f58ff796025e197227f3726·...·]-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="5602974716-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="5602974716-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="7061786265-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="7061786265-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="1997849883-1">(</span><span·class="p"·data-group-id="1997849883-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="4827282673-1">(</span><span·class="p"·data-group-id="4827282673-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ···</span><span·class="p"·data-group-id="1997849883-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="1997849883-3">[</span><span·class="p"·data-group-id="1997849883-3">]</span>[·...·truncated·by·diffoscope;·len:·497,·SHA:·474b8d259ea4de66b68f93017f8f70a5b3561c7f494d752b940b1bd52b47d571·...·]3-2">}</span><span·class="p">.</span><span·class="w">240 ···</span><span·class="p"·data-group-id="4827282673-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="4827282673-3">[</span><span·class="p"·data-group-id="4827282673-3">]</span>[·...·truncated·by·diffoscope;·len:·497,·SHA:·dcff30f665259c7c598c2637644a36fb8db7823a5bdf8a7f81dbc2599164ef9b·...·]3-2">}</span><span·class="p">.</span><span·class="w">
  
241 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="1997849883-5">(</span><span·class="p"·data-group-id="1997849883-6">{</span><span·class="n">Allocated</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1997849883-7">[</span><span·class="n">H</span><span·class="p">|</span>[·...·truncated·by·diffoscope;·len:·293,·SHA:·8e15a9651e0abda336dfa7008f51282482c0bf9f6e7c69a42220c6b22e6aab90·...·]3-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="4827282673-5">(</span><span·class="p"·data-group-id="4827282673-6">{</span><span·class="n">Allocated</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4827282673-7">[</span><span·class="n">H</span><span·class="p">|</span>[·...·truncated·by·diffoscope;·len:·293,·SHA:·744c6d0c3c2d9c9b8a07d0532378ef67f197b949bf6705b2b20518208c44334c·...·]3-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
242 ···</span><span·class="p"·data-group-id="1997849883-8">{</span><span·class="n">H</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1997849883-9">{</span><span·class="p"·data-group-id="1997849883-10">[</span><span·class="n">H</span><span·class="p">|</span><span·c[·...·truncated·by·diffoscope;·len:·244,·SHA:·ba023b2aba2ec72fff2bff7f8e64a3fc19f16a583dce6ea81e0da4545dc7538a·...·]3-8">}</span><span·class="p">.</span><span·class="w">242 ···</span><span·class="p"·data-group-id="4827282673-8">{</span><span·class="n">H</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4827282673-9">{</span><span·class="p"·data-group-id="4827282673-10">[</span><span·class="n">H</span><span·class="p">|</span><span·c[·...·truncated·by·diffoscope;·len:·244,·SHA:·7d87f5b8058a87a6616ae74861155a52655f5e47bb7ca76d22f42ba8167302cd·...·]3-8">}</span><span·class="p">.</span><span·class="w">
  
243 </span><span·class="nf">free</span><span·class="p"·data-group-id="1997849883-11">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1997849883-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:·194,·SHA:·488740ef0830670cd692aa7ff41f7e7a2343756a9aced452ea891c1948ed94f2·...·]3-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="4827282673-11">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4827282673-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:·194,·SHA:·9e5099b4b6ccbbf4b8afc4e8115d1822d4afe2436520afb63094add85a8b61f4·...·]3-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="1997849883-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="1997849883-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="4827282673-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="4827282673-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="1997849883-14">{</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="1997849883-15">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Alloc</[·...·truncated·by·diffoscope;·len:·331,·SHA:·b8c406b505d2db6b7b34b1eda052d1f39b8e9ddeaf749862edb95ba0a55771d1·...·]3-14">}</span><span·class="p">;</span><span·class="w">246 ·········</span><span·class="p"·data-group-id="4827282673-14">{</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="4827282673-15">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Alloc</[·...·truncated·by·diffoscope;·len:·331,·SHA:·045723219a4d858f2b34cb6838b2d0edf4f96485322691198dc825ca94be085d·...·]3-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="0530628704-1">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="0530628704-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="9863860090-1">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="9863860090-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="0530628704-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="0530628704-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="9863860090-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="9863860090-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="0530628704-3">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="0530628704-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="9863860090-3">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="9863860090-3">)</span><span·class="p">.</span><span·class="w">
259 </span><span·class="p">.</span><span·class="o">/</span><span·class="ss">chs3</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">undefined</span><span·class="w">·</span><span·class="ss">call</span><span·class="o">-</span><span·class="ss">back</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">handle_call</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">259 </span><span·class="p">.</span><span·class="o">/</span><span·class="ss">chs3</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">undefined</span><span·class="w">·</span><span·class="ss">call</span><span·class="o">-</span><span·class="ss">back</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">handle_call</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">
Max diff block lines reached; 977/60378 bytes (1.62%) 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-15.2.7/doc/html/erl_cmd.html#name"><code·class="inline">-name</code></a>·(long·names)·or144 the·command-line·flag·<a·href="../../erts-15.2.7/doc/html/erl_cmd.html#name"><code·class="inline">-name</code></a>·(long·names)·or
145 <a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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="0634959686-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="0634959686-1">)</span><span·class="mi">1</span><span·class="o">[·...·truncated·by·diffoscope;·len:·157,·SHA:·52ca99861393ce7c2fb45276484ce9a79ebe1f130b77792575457ce77484d1d7·...·]-2">)</span><span·class="p">.</span><span·class="w">149 </span><span·class="p"·data-group-id="0582192129-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="0582192129-1">)</span><span·class="mi">1</span><span·class="o">[·...·truncated·by·diffoscope;·len:·157,·SHA:·7954d6db5e75c4d37bc74461d6ce6b772f9c0057aedb74139836328e40164492·...·]-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="0634959686-3">(</span><span·class="p"·data-group-id="0634959686-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="0582192129-3">(</span><span·class="p"·data-group-id="0582192129-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.2.7/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.2.7/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="8436160875-1">(</span><span·class="p"·data-group-id="8436160875-1">)</span><span·class="p">.</span><span·class="w">154 1&gt;·</span><span·class="nf">node</span><span·class="p"·data-group-id="4334201814-1">(</span><span·class="p"·data-group-id="4334201814-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="8436160875-2">(</span><span·class="p"·data-group-id="8436160875-3">[</span><span·class="ss">dilbert</span><span·class="p">,</span><span·class="ss">shortnames</span><span·class="p"·data-group-id="8436160875-3">]</span><span·class="p"·data-group-id="84361608[·...·truncated·by·diffoscope;·len:·2,·SHA:·f369cb89fc627e668987007d121ed1eacdc01db9e28f8bb26f358b7d8c4f08ac·...·]-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="4334201814-2">(</span><span·class="p"·data-group-id="4334201814-3">[</span><span·class="ss">dilbert</span><span·class="p">,</span><span·class="ss">shortnames</span><span·class="p"·data-group-id="4334201814-3">]</span><span·class="p"·data-group-id="43342018[·...·truncated·by·diffoscope;·len:·2,·SHA:·8527a891e224136950ff32ca212b45bc93f69fbb801c3b1ebedac52775f99e61·...·]-2">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="8436160875-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="8436160875-4">}</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="4334201814-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="4334201814-4">}</span><span·class="gp·unselectable">
158 (dilbert@uab)3&gt;·</span><span·class="nf">node</span><span·class="p"·data-group-id="8436160875-5">(</span><span·class="p"·data-group-id="8436160875-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="4334201814-5">(</span><span·class="p"·data-group-id="4334201814-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>361 <p>Copyright·©·1996-2025·<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="1116549615-1">[</span><span·class="p"·data-group-id="1116549615-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="5415625959-1">[</span><span·class="p"·data-group-id="5415625959-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
158 ··</span><span·class="p"·data-group-id="1116549615-3">[</span><span·class="p"·data-group-id="1116549615-4">{</span><span·class="ss">distributed</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1116549615-5">[</span><span·class="p"·data-group-id="1116549615-6">[·...·truncated·by·diffoscope;·len:·712,·SHA:·75b9d9c5bcfd4b27c3b3378408781d068ab98e05fc5159548feb7fde212ee405·...·]-4">}</span><span·class="p">,</span><span·class="w">158 ··</span><span·class="p"·data-group-id="5415625959-3">[</span><span·class="p"·data-group-id="5415625959-4">{</span><span·class="ss">distributed</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5415625959-5">[</span><span·class="p"·data-group-id="5415625959-6">[·...·truncated·by·diffoscope;·len:·712,·SHA:·bbb7c90f37929b535b8ee7e2f63c8c10ad12f0538101001a648d51776d0956a5·...·]-4">}</span><span·class="p">,</span><span·class="w">
159 ···</span><span·class="p"·data-group-id="1116549615-9">{</span><span·class="ss">sync_nodes_mandatory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1116549615-10">[</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·ca7131fa49100d07a02b36e962c5e9446d431fe26fa8d6d22e7705efd3b4d1ba·...·]-9">}</span><span·class="p">,</span><span·class="w">159 ···</span><span·class="p"·data-group-id="5415625959-9">{</span><span·class="ss">sync_nodes_mandatory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5415625959-10">[</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·a1aff9ffdad3edcbb627b5b19258c062a6b7ce1e5db10b94fe0b5a80afc77e3e·...·]-9">}</span><span·class="p">,</span><span·class="w">
160 ···</span><span·class="p"·data-group-id="1116549615-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="1116549615-11">}</span><span·class="w">160 ···</span><span·class="p"·data-group-id="5415625959-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="5415625959-11">}</span><span·class="w">
161 ··</span><span·class="p"·data-group-id="1116549615-3">]</span><span·class="w">161 ··</span><span·class="p"·data-group-id="5415625959-3">]</span><span·class="w">
162 ·</span><span·class="p"·data-group-id="1116549615-2">}</span><span·class="w">162 ·</span><span·class="p"·data-group-id="5415625959-2">}</span><span·class="w">
163 </span><span·class="p"·data-group-id="1116549615-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="5415625959-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="9801545069-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="9801545069-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="5605841287-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="5605841287-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="0633564416-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="0633564416-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="5707609616-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="5707609616-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="9910125921-1">(</span><span·class="p"·data-group-id="9910125921-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="9910125921-2">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·fa3130fcfdbfc3fa2949ef561accdfd98a8565d34a2f09a3ac9c2cd0de0c342a·...·]-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="6845626346-1">(</span><span·class="p"·data-group-id="6845626346-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="6845626346-2">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·3fff7a9efc06e9d63a9df6a5b4e9555472231f79d3bc2881604b690be290d137·...·]-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="1011240140-1">(</span><span·class="p"·data-group-id="1011240140-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="1011240140-2">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·f8733e36a3a1e4d080c23085e7afcf1d9b2313623c923863cf2b73f6aec22de0·...·]-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="6192007734-1">(</span><span·class="p"·data-group-id="6192007734-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="6192007734-2">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·5527d1fa5c0ddf5dcd325c1834fb138ed8a3e64152092a7f7ed427a87ebce181·...·]-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.2.7/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.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>262 <p>Copyright·©·1996-2025·<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.2 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="9522973449-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="9522973449-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="6498674976-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="6498674976-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="9522973449-2">(</span><span·class="p"·data-group-id="9522973449-3">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="9522973449-3">]</span><span·class="p"·data-group-id="9522973449-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="6498674976-2">(</span><span·class="p"·data-group-id="6498674976-3">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="6498674976-3">]</span><span·class="p"·data-group-id="6498674976-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="9522973449-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="9522973449-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="6498674976-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="6498674976-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="7687684144-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="7687684144-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="1797526989-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="1797526989-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="7687684144-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="7687684144-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="1797526989-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="1797526989-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="7687684144-3">(</span><span·class="p"·data-group-id="7687684144-4">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="7687684144-4">]</span><span·class="p"·data-group-id="7687684144-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="1797526989-3">(</span><span·class="p"·data-group-id="1797526989-4">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="1797526989-4">]</span><span·class="p"·data-group-id="1797526989-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="7687684144-5">(</span><span·class="p"·data-group-id="7687684144-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="768768[·...·truncated·by·diffoscope;·len:·57,·SHA:·6fe99643a7fdb897b222f8d7f8a9cfa32b7a95b8fbacd4e81bf30c731ce11a2c·...·]-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="1797526989-5">(</span><span·class="p"·data-group-id="1797526989-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="179752[·...·truncated·by·diffoscope;·len:·57,·SHA:·d786fd05bab6b9be18134af3bebfa635e2b954ba65d250ccde9138a69c967a49·...·]-5">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="nf">add</span><span·class="p"·data-group-id="7687684144-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="7687684144-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="1797526989-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="1797526989-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="5585236799-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:·143,·SHA:·2fcf0cf212b5932e1513a725a2929d4d6311448265ebf5122d95fe34e7e143e0·...·]-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="8103074932-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:·143,·SHA:·2afcb77eb1eab0061a7dfe69ee3bf35ff0b93f2e30fef8d34c9dbbbb3d280b10·...·]-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="5585236799-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="5585236799-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="8103074932-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="8103074932-2">}</span><span·class="p">.</span><span·class="w">
163 </span><span·class="nf">add</span><span·class="p"·data-group-id="5585236799-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="5585236799-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="8103074932-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="8103074932-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="8884833596-1">(</span><span·class="p"·data-group-id="8884833596-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="8884833596-2">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·9aaa5434b1616e355d4ab1e39a711783e73b3f09114969905aa742fa5d8863aa·...·]-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="2512384749-1">(</span><span·class="p"·data-group-id="2512384749-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="2512384749-2">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·bb57eb0f4825fddbc70b5f2b2f747fe432e17e6fce8446bc75640d5d17398d2f·...·]-1">)</span><span·class="p">.</span><span·class="w">
176 </span><span·class="nf">add</span><span·class="p"·data-group-id="8884833596-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="8884833596-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="2512384749-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="2512384749-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="3354952725-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="3354952725-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="7338932931-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="7338932931-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, 94 lines modifiedOffset 203, 94 lines modified
203 <p>There·are·three·reserved·metadata·keys·for·<code·class="inline">-moduledoc</code>:</p><ul><li><code·class="inline">since</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</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</code>·-·Shows·a·text·in·the·documentation·explaining·that·it·is206 or·callback.</li><li><code·class="inline">deprecated</code>·-·Shows·a·text·in·the·documentation·explaining·that·it·is
207 deprecated·and·what·to·use·instead.</li><li><code·class="inline">format</code>·-·The·format·to·use·for·all·documentation·in·this·module.·The207 deprecated·and·what·to·use·instead.</li><li><code·class="inline">format</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="8095225859-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="8095225859-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="2333073304-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="2333073304-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="8095225859-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:·fbbf965d2ae8974802217c2d4a776636c2107a1882f9d418293f2e8c1522da74·...·]-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="2333073304-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:·ae5bd1841f51e5ae0772fa581812abe62978a0a38b123c232efaab9c07c48b8c·...·]-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="8095225859-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="8095225859-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="2333073304-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="2333073304-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-6.2.2/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-6.2.2/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="5043140663-1">(</span><span·class="p"·data-group-id="5043140663-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="5043140663-2">{</span><span·class="ss">arith</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·ebbc9f91b3eb910dc32624d1a9c735b4da8e08783579afab1d655c6eed40733f·...·]-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="8783478839-1">(</span><span·class="p"·data-group-id="8783478839-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8783478839-2">{</span><span·class="ss">arith</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·b488adde1faec442ca910a2cb554cac2f5fa77f3809216c83f5d20d40d70ee56·...·]-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="5043140663-4">(</span><span·class="nf">number</span><span·class="p"·data-group-id="5043140663-5">(</span><span·class="p"·data-group-id="5043140663-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:·4c96bdad88b6eac40537ce9a625d17b09b95188cf1d1f337195c1a7a9aaa1b1c·...·]-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="8783478839-4">(</span><span·class="nf">number</span><span·class="p"·data-group-id="8783478839-5">(</span><span·class="p"·data-group-id="8783478839-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:·a7d939478a7917fff30f8c9f4c0d63d8f1a1eaa0bb279dc4ea1196493b4a6c0e·...·]-7">)</span><span·class="p">.</span><span·class="w">
236 </span><span·class="nf">add</span><span·class="p"·data-group-id="5043140663-8">(</span><span·class="p"·data-group-id="5043140663-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="5043140663-9">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·662,·SHA:·6a3f736b60db21b05d3b6fded35748afe80a00c0cf75359496ac887492c5a249·...·]-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="8783478839-8">(</span><span·class="p"·data-group-id="8783478839-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="8783478839-9">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·662,·SHA:·f33a6be85ceb224ac1e2f6565d72943f96a96facd205af87f96697bc5e14008e·...·]-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">equiv·=&gt;·unicode:chardata()·|·F/A·|·F(...)</code>·-·Notes·that·this·function·is·equivalent·to246 function·as·deprecated.</p></li><li><p><code·class="inline">equiv·=&gt;·unicode:chardata()·|·F/A·|·F(...)</code>·-·Notes·that·this·function·is·equivalent·to
Max diff block lines reached; 38027/67044 bytes (56.72%) 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="5175919499-1">(</span><span·class="n">PORT_NAMES</span><span·class="p"·data-group-id="5175919499-2">(</span><span·class="p"·data-group-id="5175919499-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="9473388550-1">(</span><span·class="n">PORT_NAMES</span><span·class="p"·data-group-id="9473388550-2">(</span><span·class="p"·data-group-id="9473388550-2">)</span><span·class="p">,</span><span·class="w">
130 »       </span><span·class="p"·data-group-id="5175919499-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="9473388550-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="5175919499-3">}</span><span·class="p"·data-group-id="5175919499-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="9473388550-3">}</span><span·class="p"·data-group-id="9473388550-1">)</span><span·class="p">.</span><span·class="w">
  
134 </span><span·class="nf">client_port</span><span·class="p"·data-group-id="5175919499-4">(</span><span·class="p"·data-group-id="5175919499-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="9473388550-4">(</span><span·class="p"·data-group-id="9473388550-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="5175919499-5">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="5175919499-6">(</span><span·class="ss">scheduler_id</span><span·class="p"·data-group-id="5175919499-6">)</span><sp[·...·truncated·by·diffoscope;·len:·363,·SHA:·0b373cf9799337190c8060288d968cfe209f143ae8f650a57a78192750105bdb·...·]-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">135 ····</span><span·class="nf">element</span><span·class="p"·data-group-id="9473388550-5">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="9473388550-6">(</span><span·class="ss">scheduler_id</span><span·class="p"·data-group-id="9473388550-6">)</span><sp[·...·truncated·by·diffoscope;·len:·363,·SHA:·1f6a9be2279441a0bd153e45e6953f179f6bb82a9337b80ec55e74899dc0e507·...·]-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="5175919499-9">(</span><span·class="p"·data-group-id="5175919499-9">)</span><span·class="p"·data-group-id="5175919499-5">)</span><span·class="p">.</span></code></pre><p>As·long·as·there·are·no·more·than·16·schedulers,·there·will·never·be·any·lock136 »       ····</span><span·class="o">?</span><span·class="n">PORT_NAMES</span><span·class="p"·data-group-id="9473388550-9">(</span><span·class="p"·data-group-id="9473388550-9">)</span><span·class="p"·data-group-id="9473388550-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-15.2.7/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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>230 <p>Copyright·©·1996-2025·<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="9804568628-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="9804568628-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="4529488879-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="4529488879-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="9804568628-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="9804568628-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="4529488879-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="4529488879-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="9804568628-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="9804568628-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="4529488879-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="4529488879-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="9804568628-4">(</span><span·class="n">Int</span><span·class="p"·data-group-id="9804568628-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="9804568628-5">([·...·truncated·by·diffoscope;·len:·74,·SHA:·db5a9e52d477e4eb42a19713a3efcf400a886cd4137e1d41032572994bea4771·...·]-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="4529488879-4">(</span><span·class="n">Int</span><span·class="p"·data-group-id="4529488879-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="4529488879-5">([·...·truncated·by·diffoscope;·len:·74,·SHA:·087d29d71d634f806a607545dcbdbf5befb528f3c656d1761233b71cc1a10472·...·]-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="9804568628-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="9804568628-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="4529488879-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="4529488879-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="9804568628-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="9804568628-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="4529488879-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="4529488879-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="9804568628-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="9804568628-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="4529488879-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="4529488879-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-15.2.7/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-15.2.7/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="8874717598-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="8874717598-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="8299551742-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="8299551742-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="8874717598-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="8874717598-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="8299551742-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="8299551742-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="8874717598-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="8874717598-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="8299551742-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="8299551742-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="8874717598-4">(</span><span·class="ss">four</span><span·class="p"·data-group-id="8874717598-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="8299551742-4">(</span><span·class="ss">four</span><span·class="p"·data-group-id="8299551742-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="8874717598-5">(</span><span·class="ss">five</span><span·class="p"·data-group-id="8874717598-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="8299551742-5">(</span><span·class="ss">five</span><span·class="p"·data-group-id="8299551742-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="8874717598-6">(</span><span·class="ss">six</span><span·class="p"·data-group-id="8874717598-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="8299551742-6">(</span><span·class="ss">six</span><span·class="p"·data-group-id="8299551742-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="8874717598-7">(</span><span·class="n">Int</span><span·class="p"·data-group-id="8874717598-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="8874717598-8">(<[·...·truncated·by·diffoscope;·len:·702,·SHA:·c845b446f6d2f4d902f5dea1227a22b8c67bf950c53ec2cb6683f6f0d1ba0571·...·]-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="8299551742-7">(</span><span·class="n">Int</span><span·class="p"·data-group-id="8299551742-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="8299551742-8">(<[·...·truncated·by·diffoscope;·len:·702,·SHA:·53a358b72976df20c0f27ed0166e33dd84c2602f3c67a5c174dd4dc3585898a9·...·]-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="2988052841-3">(</span><span·class="ss">one</span><span·class="p"·data-group-id="2988052841-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="7148006865-3">(</span><span·class="ss">one</span><span·class="p"·data-group-id="7148006865-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="2988052841-4">(</span><span·class="ss">two</span><span·class="p"·data-group-id="2988052841-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="7148006865-4">(</span><span·class="ss">two</span><span·class="p"·data-group-id="7148006865-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="2988052841-5">(</span><span·class="ss">three</span><span·class="p"·data-group-id="2988052841-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="7148006865-5">(</span><span·class="ss">three</span><span·class="p"·data-group-id="7148006865-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="2988052841-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="2988052841-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="7148006865-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="7148006865-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="2988052841-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="2988052841-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="7148006865-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="7148006865-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="2988052841-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="2988052841-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·slightl[·...·truncated·by·diffoscope;·len:·541,·SHA:·75a8ad1309eeaa44e3f171f0319695aa296bff83271a3034437f7312167e0bfa·...·]-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="7148006865-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="7148006865-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·slightl[·...·truncated·by·diffoscope;·len:·541,·SHA:·0bd6e65daef31126f9859885b3ede19c16295a84fcc4bd9d13bb38155c6f3cf8·...·]-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="9620332562-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="9620332562-4">[</span><span·clas[·...·truncated·by·diffoscope;·len:·84,·SHA:·547bf420c5253bb61ae2382c2fec1f9b054385905274d5f252606de17824cd2d·...·]-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="0195816393-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="0195816393-4">[</span><span·clas[·...·truncated·by·diffoscope;·len:·84,·SHA:·e13d8d20c648c0dc1667c2bacb67cc08b5a9048e366f03614901bf062ce3230e·...·]-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="9620332562-5">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9620332562-6">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="962[·...·truncated·by·diffoscope;·len:·287,·SHA:·54f195b578556ace99e6f2c8d9a4976913afb28e7fc8498ab651d72715b96fa6·...·]-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="0195816393-5">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0195816393-6">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="019[·...·truncated·by·diffoscope;·len:·287,·SHA:·05d929e4c31ebd62959a66c8006ae3e94b9a6c1586371acd3513ded00a92e9a6·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 ····</span><span·class="p"·data-group-id="9620332562-8">[</span><span·class="n">Map</span><span·class="p"·data-group-id="9620332562-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="9620332562-9">)</span><span·[·...·truncated·by·diffoscope;·len:·373,·SHA:·76122dfc2fd64d1dcd3fa08b6ea9bfdecef7abac30ed0041eff09d43a48b5b96·...·]-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="0195816393-8">[</span><span·class="n">Map</span><span·class="p"·data-group-id="0195816393-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="0195816393-9">)</span><span·[·...·truncated·by·diffoscope;·len:·373,·SHA:·8bf32d148e8ea70703e9831f0834ac577b1cdf9decbbd11264e43e737f532d1a·...·]-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="2744830136-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="2744830136-2">[</span><span·class="p"·data-group-id="2744830136-2">]</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·84,·SHA:·66220e5dea808dd48d24957fbf36027848702d174f6c1536d2eb318c8a4ba537·...·]-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="4597457458-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="4597457458-2">[</span><span·class="p"·data-group-id="4597457458-2">]</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·84,·SHA:·4eeb17131a4a9e25bf070be28cb1287dc1b99132363b80f3363066978117ab0f·...·]-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="2744830136-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="2744830136-4">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class[·...·truncated·by·diffoscope;·len:·310,·SHA:·e2b521205621caed6683047d066b12c9b6016aaf06d71fcc8ba18726791a26a3·...·]-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="4597457458-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="4597457458-4">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class[·...·truncated·by·diffoscope;·len:·310,·SHA:·f63657676a95199bd2c349a4d2a9b02a1a149198c3b17fc8b827e1c4e49edce1·...·]-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="2744830136-6">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2744830136-7">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="274[·...·truncated·by·diffoscope;·len:·287,·SHA:·77a03c58dade06d37ec104245573210cafe10ba4f2499ce67859b90a4826a1c6·...·]-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="4597457458-6">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4597457458-7">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="459[·...·truncated·by·diffoscope;·len:·287,·SHA:·fcbfe57ba62dacfa52fcfbfe806a689ab42b79f0e910ea3e26abf4f1b814a15c·...·]-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ····</span><span·class="p"·data-group-id="2744830136-9">[</span><span·class="n">Map</span><span·class="p"·data-group-id="2744830136-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="2744830136-10">)</span><spa[·...·truncated·by·diffoscope;·len:·898,·SHA:·7516de066830da331803311ae808660d03920b438b236f473245acf7e6c82ed1·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 ····</span><span·class="p"·data-group-id="4597457458-9">[</span><span·class="n">Map</span><span·class="p"·data-group-id="4597457458-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="4597457458-10">)</span><spa[·...·truncated·by·diffoscope;·len:·898,·SHA:·4a980e4fc8e4a2c7fd9c5128d10e5671f2e4d047a6d66a8bc8752d4aaca51a38·...·]-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="3482148589-2">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="3482148589-2">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">174 »       </span><span·class="p"·data-group-id="4745017241-2">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="4745017241-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="3482148589-3">[</span><span·class="n">Y</span><span·class="p">|</span><span·class="n">Ys</span><span·class="p"·data-group-id="3482148589-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 »       »       </span><span·class="p"·data-group-id="4745017241-3">[</span><span·class="n">Y</span><span·class="p">|</span><span·class="n">Ys</span><span·class="p"·data-group-id="4745017241-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 »       »       ····</span><span·class="p"·data-group-id="3482148589-4">[</span><span·class="n">Map</span><span·class="p"·data-group-id="3482148589-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="3482148589-5">)</span><span·[·...·truncated·by·diffoscope;·len:·379,·SHA:·b0c39a7a47297739bfa0d52fdeb40f1b87ce61999041af7d648612a060462f48·...·]-4">]</span><span·class="p">;</span><span·class="w">177 »       »       ····</span><span·class="p"·data-group-id="4745017241-4">[</span><span·class="n">Map</span><span·class="p"·data-group-id="4745017241-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="4745017241-5">)</span><span·[·...·truncated·by·diffoscope;·len:·379,·SHA:·df61f68bacfce61b569dd793256fc47e0d427dbe95c28a672c0fe20c5a10e613·...·]-4">]</span><span·class="p">;</span><span·class="w">
178 »       »       </span><span·class="p"·data-group-id="3482148589-7">[</span><span·class="p"·data-group-id="3482148589-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 »       »       </span><span·class="p"·data-group-id="4745017241-7">[</span><span·class="p"·data-group-id="4745017241-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="3482148589-8">[</span><span·class="p"·data-group-id="3482148589-8">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">181 »       </span><span·class="p"·data-group-id="4745017241-8">[</span><span·class="p"·data-group-id="4745017241-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>255 <p>Copyright·©·1996-2025·<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="4795668474-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="4795668474-1">]</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·1122,·SHA:·9b2e52b3a21dec44b6b904a2d484c44d44447a7d774e93bf93f8b708b21563ca·...·]-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="2750716750-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="2750716750-1">]</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·1122,·SHA:·64b7bcb79a8139b37a3f6f87d90c63c65a5cb29fec59170a984e66eff3e4dc12·...·]-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="4795668474-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:·636307d81a2429534de16d820819f651ad228b0242b2feb26505d88542db6866·...·]-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="2750716750-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:·a006ab45f1fb585e1880d5b310d6c691afccf3896bc16f80e588f72fe13307c8·...·]-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="4795668474-9">(</span><span·class="p"·data-group-id="4795668474-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="2750716750-9">(</span><span·class="p"·data-group-id="2750716750-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="4795668474-10">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Bytes</span><span·class="p"·data-group-id="4795668474-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:·d2d0ad22fd20f1f00fbf56c094f6d8ee5feb1b6b1eedd5364b7be5c3fb8f29af·...·]-11">)</span><span·class="p">.</span><span·class="w">130 2&gt;·</span><span·class="p"·data-group-id="2750716750-10">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Bytes</span><span·class="p"·data-group-id="2750716750-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:·a5a6b79ef255f53ccd309fc8ba22aa52729cac2a45eed86d7fdca236826a6d45·...·]-11">)</span><span·class="p">.</span><span·class="w">
131 </span><span·class="p"·data-group-id="4795668474-13">{</span><span·class="nb">memory</span><span·class="p">,</span><span·class="mi">2616</span><span·class="p"·data-group-id="4795668474-13">}</span><span·class="gp·unselectable">131 </span><span·class="p"·data-group-id="2750716750-13">{</span><span·class="nb">memory</span><span·class="p">,</span><span·class="mi">2616</span><span·class="p"·data-group-id="2750716750-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="4795668474-14">(</span><span·class="ss">wordsize</span><span·class="p"·data-group-id="4795668474-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="2750716750-14">(</span><span·class="ss">wordsize</span><span·class="p"·data-group-id="2750716750-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="3844690687-1">(</span><span·class="p"·data-group-id="3844690687-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="4942744619-1">(</span><span·class="p"·data-group-id="4942744619-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="3844690687-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="3844690687-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">137 ·····</span><span·class="p"·data-group-id="4942744619-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="4942744619-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="3844690687-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="3844690687-3">)</span><span·class="p">,</span><span·class="w">138 ·········</span><span·class="nf">handle_sys_msg</span><span·class="p"·data-group-id="4942744619-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="4942744619-3">)</span><span·class="p">,</span><span·class="w">
139 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="3844690687-4">(</span><span·class="p"·data-group-id="3844690687-4">)</span><span·class="p">;</span><span·class="w">139 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="4942744619-4">(</span><span·class="p"·data-group-id="4942744619-4">)</span><span·class="p">;</span><span·class="w">
140 ·····</span><span·class="p"·data-group-id="3844690687-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="3844690687-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">140 ·····</span><span·class="p"·data-group-id="4942744619-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="4942744619-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="3844690687-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="3844690687-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="4942744619-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="4942744619-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="3844690687-7">(</span><span·class="p"·data-group-id="3844690687-7">)</span><span·class="w">143 ··········</span><span·class="nf">loop</span><span·class="p"·data-group-id="4942744619-7">(</span><span·class="p"·data-group-id="4942744619-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="3844690687-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="3844690687-9">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·84d6618ebf573ec1eaba3d649001b0ccde228860c47371bd4aeba979d754335e·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·call·to·<a·href="../../lib/stdlib-6.2.2/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="4942744619-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="4942744619-9">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·d89281637bcd4ab9e75c84666fbdbea93846a60b17ddfdf8e45dc6813954069c·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·call·to·<a·href="../../lib/stdlib-6.2.2/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="5224227248-1">(</span><span·class="p"·data-group-id="5224227248-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="5408978523-1">(</span><span·class="p"·data-group-id="5408978523-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="5224227248-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="5224227248-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">149 ······</span><span·class="p"·data-group-id="5408978523-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="5408978523-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="5224227248-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="5224227248-3">)</span><span·class="p">,</span><span·class="w">150 ·········</span><span·class="nf">handle_sys_msg</span><span·class="p"·data-group-id="5408978523-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="5408978523-3">)</span><span·class="p">,</span><span·class="w">
151 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="5224227248-4">(</span><span·class="p"·data-group-id="5224227248-4">)</span><span·class="p">;</span><span·class="w">151 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="5408978523-4">(</span><span·class="p"·data-group-id="5408978523-4">)</span><span·class="p">;</span><span·class="w">
152 ······</span><span·class="p"·data-group-id="5224227248-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="5224227248-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">152 ······</span><span·class="p"·data-group-id="5408978523-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="5408978523-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="5224227248-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="5224227248-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="5408978523-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="5408978523-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="5224227248-7">(</span><span·class="p"·data-group-id="5224227248-7">)</span><span·class="w">155 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="5408978523-7">(</span><span·class="p"·data-group-id="5408978523-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 189, 30 lines modifiedOffset 189, 30 lines modified
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">Receiving·messages</span>191 ··<span·class="text">Receiving·messages</span>
192 </h2>192 </h2>
193 <p>The·cost·of·receiving·messages·depends·on·how·complicated·the·<code·class="inline">receive</code>193 <p>The·cost·of·receiving·messages·depends·on·how·complicated·the·<code·class="inline">receive</code>
194 expression·is.·A·simple·expression·that·matches·any·message·is·very·cheap194 expression·is.·A·simple·expression·that·matches·any·message·is·very·cheap
195 because·it·retrieves·the·first·message·in·the·message·queue:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">195 because·it·retrieves·the·first·message·in·the·message·queue:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">
196 ····</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="2842391625-1">(</span><span·class="n">Message</span><span·class="p"·data-group-id="2842391625-1">)</span><span·class="w">196 ····</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="5660083706-1">(</span><span·class="n">Message</span><span·class="p"·data-group-id="5660083706-1">)</span><span·class="w">
197 </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·not197 </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
198 know·how·to·handle·at·this·point,·so·it·is·common·to·only·match·the·messages·we198 know·how·to·handle·at·this·point,·so·it·is·common·to·only·match·the·messages·we
199 expect:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">199 expect:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">
200 ····</span><span·class="p"·data-group-id="4312747595-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="4312747595-1">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·751acb026d09e93418cf6fa05e82adab216d38ae0cc021ac137500e98836fb23·...·]-2">)</span><span·class="w">200 ····</span><span·class="p"·data-group-id="1490261298-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="1490261298-1">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·fbdc747c1899d2aa62cd2790d2688572d9608e1abee9ba3615a5327717310b06·...·]-2">)</span><span·class="w">
201 </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·searched201 </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
202 until·it·finds·a·matching·message.·This·is·very·expensive·for·processes·with202 until·it·finds·a·matching·message.·This·is·very·expensive·for·processes·with
203 long·message·queues,·so·there·is·an·optimization·for·the·common·case·of203 long·message·queues,·so·there·is·an·optimization·for·the·common·case·of
204 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="7976015088-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="7976015088-1">)</span><span·class="p">,</span><span·class="w">204 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="5484017260-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="5484017260-1">)</span><span·class="p">,</span><span·class="w">
205 </span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7976015088-2">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7976015088-3">(</span><span·class="p"·data-group-id="7976015088-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:·dda9689c42f30c90cc1ce2fbacbea7c2eee04a1f6052b3f9407e54de11162a40·...·]-2">}</span><span·class="p">,</span><span·class="w">205 </span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5484017260-2">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5484017260-3">(</span><span·class="p"·data-group-id="5484017260-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:·8d30bf381fa1b4be5be6bce7c718a3e1c95083d71e44a08a88bbdcb60a4fccd8·...·]-2">}</span><span·class="p">,</span><span·class="w">
206 </span><span·class="k">receive</span><span·class="w">206 </span><span·class="k">receive</span><span·class="w">
207 ····</span><span·class="p"·data-group-id="7976015088-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="7976015088-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">207 ····</span><span·class="p"·data-group-id="5484017260-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="5484017260-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
208 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="7976015088-5">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7976015088-6">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="7976015088-6">]</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·7c455fb5caca919e836f6aae314c5169f1681a6e056b64072802ea4aa2632cf2·...·]-5">)</span><span·class="p">,</span><span·class="w">208 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="5484017260-5">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5484017260-6">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="5484017260-6">]</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·0f3a7624f24b1ded1c0d27831016c50d25d502cfd053f107e3c4107e58dbbb71·...·]-5">)</span><span·class="p">,</span><span·class="w">
209 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="7976015088-7">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="7976015088-7">)</span><span·class="p">;</span><span·class="w">209 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="5484017260-7">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="5484017260-7">)</span><span·class="p">;</span><span·class="w">
210 ····</span><span·class="p"·data-group-id="7976015088-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:·617eeab2b30d25754bb9efd46ecb41c741459ebac5bddb137f6843e668cc978c·...·]-8">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">210 ····</span><span·class="p"·data-group-id="5484017260-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:·6bfc82ede67885830d20e858e98e39ab57306a291962a68f9202e09ee8d6c449·...·]-8">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ········</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="7976015088-9">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="7976015088-9">)</span><span·class="w">211 ········</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="5484017260-9">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="5484017260-9">)</span><span·class="w">
212 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Since·the·compiler·knows·that·the·reference·created·by212 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Since·the·compiler·knows·that·the·reference·created·by
213 <a·href="../../erts-15.2.7/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>·cannot·exist·before·the·call·(since·it·is·a·globally213 <a·href="../../erts-15.2.7/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>·cannot·exist·before·the·call·(since·it·is·a·globally
214 unique·identifier),·and·that·the·<code·class="inline">receive</code>·only·matches·messages·that·contain214 unique·identifier),·and·that·the·<code·class="inline">receive</code>·only·matches·messages·that·contain
215 said·reference,·it·will·tell·the·emulator·to·search·only·the·messages·that215 said·reference,·it·will·tell·the·emulator·to·search·only·the·messages·that
216 arrived·after·the·call·to·<a·href="../../erts-15.2.7/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>.</p><p>The·above·is·a·simple·example·where·one·is·but·guaranteed·that·the·optimization216 arrived·after·the·call·to·<a·href="../../erts-15.2.7/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>.</p><p>The·above·is·a·simple·example·where·one·is·but·guaranteed·that·the·optimization
217 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">217 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 ··<a·href="#option-recv_opt_info"·class="hover-link">218 ··<a·href="#option-recv_opt_info"·class="hover-link">
Offset 228, 101 lines modifiedOffset 228, 101 lines modified
228 </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">228 </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">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">229 </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">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">230 </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">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">231 </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">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·the232 </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
233 following·examples·are·inserted·as·comments·after·the·clause·they·refer·to,·for233 following·examples·are·inserted·as·comments·after·the·clause·they·refer·to,·for
234 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·DO</span><span·class="w">234 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·DO</span><span·class="w">
235 </span><span·class="nf">simple_receive</span><span·class="p"·data-group-id="6231861647-1">(</span><span·class="p"·data-group-id="6231861647-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">235 </span><span·class="nf">simple_receive</span><span·class="p"·data-group-id="9596035404-1">(</span><span·class="p"·data-group-id="9596035404-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
236 </span><span·class="c1">%%·efficiency_guide.erl:194:·Warning:·INFO:·not·a·selective·receive,·this·is·always·fast</span><span·class="w">236 </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="k">receive</span><span·class="w">237 </span><span·class="k">receive</span><span·class="w">
238 ····</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="6231861647-2">(</span><span·class="n">Message</span><span·class="p"·data-group-id="6231861647-2">)</span><span·class="w">238 ····</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="9596035404-2">(</span><span·class="n">Message</span><span·class="p"·data-group-id="9596035404-2">)</span><span·class="w">
239 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">239 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
240 </span><span·class="c1">%%·DO·NOT,·unless·Tag·is·known·to·be·a·suitable·reference:·see</span><span·class="w">240 </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">%%·cross_function_receive/0·further·down.</span><span·class="w">241 </span><span·class="c1">%%·cross_function_receive/0·further·down.</span><span·class="w">
242 </span><span·class="nf">selective_receive</span><span·class="p"·data-group-id="6231861647-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="6231861647-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">242 </span><span·class="nf">selective_receive</span><span·class="p"·data-group-id="9596035404-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="9596035404-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
243 </span><span·class="c1">%%·efficiency_guide.erl:200:·Warning:·NOT·OPTIMIZED:·all·clauses·do·not·match·a·suitable·reference</span><span·class="w">243 </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="k">receive</span><span·class="w">244 </span><span·class="k">receive</span><span·class="w">
245 ····</span><span·class="p"·data-group-id="6231861647-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="6231861647-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·5cd93d0dbb12f242e0d55e28baa5974fe9f297eb017e8229f97aee4542568b06·...·]-5">)</span><span·class="w">245 ····</span><span·class="p"·data-group-id="9596035404-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="9596035404-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·c5c793c86e6849fe4f97c885ab32350f8c8fc6c419b1c926c7f044f9ac5f3a54·...·]-5">)</span><span·class="w">
246 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">246 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
247 </span><span·class="c1">%%·DO</span><span·class="w">247 </span><span·class="c1">%%·DO</span><span·class="w">
248 </span><span·class="nf">optimized_receive</span><span·class="p"·data-group-id="6231861647-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="6231861647-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">248 </span><span·class="nf">optimized_receive</span><span·class="p"·data-group-id="9596035404-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="9596035404-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
249 </span><span·class="c1">%%·efficiency_guide.erl:206:·Warning:·OPTIMIZED:·reference·used·to·mark·a·message·queue·position</span><span·class="w">249 </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="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="6231861647-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="6231861647-7">)</span><span·class="p">,</span><span·class="w">250 ····</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="9596035404-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="9596035404-7">)</span><span·class="p">,</span><span·class="w">
251 ····</span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6231861647-8">{</span><span·class="nf">self</span><span·class="p"·data-group-id="6231861647-9">(</span><span·class="p"·data-group-id="6231861647-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:·78081bcd580c097e6e5c66847bc3b26bf26709a2eeb3cc44362811b52ecdf7b2·...·]-8">}</span><span·class="p">,</span><span·class="w">251 ····</span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9596035404-8">{</span><span·class="nf">self</span><span·class="p"·data-group-id="9596035404-9">(</span><span·class="p"·data-group-id="9596035404-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:·123b43d3700fc9b604cdde7bdf7a11e2b4033a6f1ddba6396b86c64ff0730d5b·...·]-8">}</span><span·class="p">,</span><span·class="w">
252 ····</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">252 ····</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="k">receive</span><span·class="w">253 ····</span><span·class="k">receive</span><span·class="w">
254 ········</span><span·class="p"·data-group-id="6231861647-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="6231861647-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">254 ········</span><span·class="p"·data-group-id="9596035404-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="9596035404-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
255 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="6231861647-11">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6231861647-12">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="6231861647-12">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·b6c681a3e2bcad888cc29e13558fb2c26a2d0d0b025e0c379c3512a0f6d5dec1·...·]-11">)</span><span·class="p">,</span><span·class="w">255 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="9596035404-11">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9596035404-12">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="9596035404-12">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·19baa7991d4b078deb9063e9df725ce8f2a07af0cfc32462bc2fea1e24e1496d·...·]-11">)</span><span·class="p">,</span><span·class="w">
256 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="6231861647-13">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="6231861647-13">)</span><span·class="p">;</span><span·class="w">256 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="9596035404-13">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="9596035404-13">)</span><span·class="p">;</span><span·class="w">
257 ····</span><span·class="p"·data-group-id="6231861647-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:·7adcfa428a3de5d4996bddaf5e2a605a450af86565d71ad9c6bb562edb260747·...·]-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">257 ····</span><span·class="p"·data-group-id="9596035404-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:·3b0bcc70a10d006c464caf5d600081ce5f3d318d5f484793be57975414a0b512·...·]-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
258 ····</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="6231861647-15">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="6231861647-15">)</span><span·class="w">258 ····</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="9596035404-15">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="9596035404-15">)</span><span·class="w">
259 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">259 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
260 </span><span·class="c1">%%·DO</span><span·class="w">260 </span><span·class="c1">%%·DO</span><span·class="w">
261 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="6231861647-16">(</span><span·class="p"·data-group-id="6231861647-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">261 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="9596035404-16">(</span><span·class="p"·data-group-id="9596035404-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
262 ····</span><span·class="c1">%%·efficiency_guide.erl:218:·Warning:·OPTIMIZED:·reference·used·to·mark·a·message·queue·position</span><span·class="w">262 ····</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="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="6231861647-17">(</span><span·class="p"·data-group-id="6231861647-17">)</span><span·class="p">,</span><span·class="w">263 ····</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="9596035404-17">(</span><span·class="p"·data-group-id="9596035404-17">)</span><span·class="p">,</span><span·class="w">
264 ····</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">264 ····</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="nf">cross_function_receive</span><span·class="p"·data-group-id="6231861647-18">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="6231861647-18">)</span><span·class="p">.</span><span·class="w">265 ····</span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="9596035404-18">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="9596035404-18">)</span><span·class="p">.</span><span·class="w">
  
266 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="6231861647-19">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="6231861647-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">266 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="9596035404-19">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="9596035404-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
267 ····</span><span·class="c1">%%·efficiency_guide.erl:222:·Warning:·OPTIMIZED:·all·clauses·match·reference·in·function·parameter·1</span><span·class="w">267 ····</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="k">receive</span><span·class="w">268 ····</span><span·class="k">receive</span><span·class="w">
269 ········</span><span·class="p"·data-group-id="6231861647-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="6231861647-20">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·160,·SHA:·c5d9f1bfa449f574d04d92421650d6f021c2291d8947e8896e5bdd8440b3b0ff·...·]-21">)</span><span·class="w">269 ········</span><span·class="p"·data-group-id="9596035404-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="9596035404-20">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·160,·SHA:·ff8a5a5be89a45e59304546f5a1861b0d466d37e69186c014504f6d79a62482a·...·]-21">)</span><span·class="w">
270 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><h2·id="literal-pool"·class="section-heading">270 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><h2·id="literal-pool"·class="section-heading">
271 ··<a·href="#literal-pool"·class="hover-link">271 ··<a·href="#literal-pool"·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>
Max diff block lines reached; 20632/67821 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2025·<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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>403 <p>Copyright·©·1996-2025·<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="2009232459-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="2009232459-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="7876630086-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="7876630086-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="2009232459-2">(</span><span·class="p"·data-group-id="2009232459-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:·782326e2c235b121196f75812ba48a9d76754440f5c10ab2996677c6a806cdb6·...·]-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="7876630086-2">(</span><span·class="p"·data-group-id="7876630086-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:·e0ba0c7e926721602ca11bd1fb2ce27d94a21c24f9b65561290caa554f0a4ee3·...·]-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="2009232459-4">(</span><span·class="p"·data-group-id="2009232459-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:·155c2b2fbb688d0309e7e993d29b769cd4d255389c67b50c3ce2aa8e427f2f1d·...·]-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="7876630086-4">(</span><span·class="p"·data-group-id="7876630086-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:·67efe9d46cd924effc2eaf834b1b0768e6870102e73802422c6be12353416356·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
130 </span><span·class="nf">start</span><span·class="p"·data-group-id="2009232459-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="2009232459-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="7876630086-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="7876630086-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="2009232459-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="2009232459-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·6bb6cb1bac7edc9ab13d5821ef43aa2b914862669e4cb75bc05e1326141313d6·...·]-7">)</span><span·class="p">.</span><span·class="w">131 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7876630086-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="7876630086-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·6278321e5a91a6c0a857be6c0563553471ba9439b0a5dd5fd1327ca28d8df9b1·...·]-7">)</span><span·class="p">.</span><span·class="w">
132 </span><span·class="nf">stop</span><span·class="p"·data-group-id="2009232459-9">(</span><span·class="p"·data-group-id="2009232459-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="7876630086-9">(</span><span·class="p"·data-group-id="7876630086-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="2009232459-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="2009232459-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="7876630086-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="7876630086-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="2009232459-11">(</span><span·class="p"·data-group-id="2009232459-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="2009232459-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·7d6c950b72c45cf63f04e034a71c449864ec7723d31d4ada3b40e3661a1a574a·...·]-11">)</span><span·class="p">.</span><span·class="w">135 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7876630086-11">(</span><span·class="p"·data-group-id="7876630086-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="7876630086-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·5afdd4ffb863677ea58e9505d14f7b56ff03093efa6add3c501cac4bfdd2b253·...·]-11">)</span><span·class="p">.</span><span·class="w">
136 </span><span·class="nf">bar</span><span·class="p"·data-group-id="2009232459-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="2009232459-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="7876630086-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="7876630086-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="2009232459-14">(</span><span·class="p"·data-group-id="2009232459-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="2009232459-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·7d6c950b72c45cf63f04e034a71c449864ec7723d31d4ada3b40e3661a1a574a·...·]-14">)</span><span·class="p">.</span><span·class="w">137 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7876630086-14">(</span><span·class="p"·data-group-id="7876630086-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="7876630086-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·5afdd4ffb863677ea58e9505d14f7b56ff03093efa6add3c501cac4bfdd2b253·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
138 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="2009232459-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2009232459-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="7876630086-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="7876630086-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="2009232459-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="2009232459-18">(</span><span·class="p"·data-group-id="2009232459-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·e4d8233809efbf7ce068c80b435c95933678e2a1819bab7f7c2062c687bb325e·...·]-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="7876630086-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="7876630086-18">(</span><span·class="p"·data-group-id="7876630086-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·64b786de2ade40f92b68f662ba214ebc8ad997175943a66c9df38053f1cc9453·...·]-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="2009232459-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="2009232459-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">141 »       </span><span·class="p"·data-group-id="7876630086-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="7876630086-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="2009232459-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="2009232459-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="7876630086-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="7876630086-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="2009232459-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="2009232459-22">(</span><span·class="p"·data-group-id="2009232459-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·413c20d8ca34778b52352be17aa0123ac962b567c73d396167e57772641a7e30·...·]-21">)</span><span·class="p">,</span><span·class="w">145 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="7876630086-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="7876630086-22">(</span><span·class="p"·data-group-id="7876630086-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·f7393051aa7b7bec906020559c72848735413f4ccd5ca12232df853ee1b90ede·...·]-21">)</span><span·class="p">,</span><span·class="w">
146 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="2009232459-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="2009232459-23">)</span><span·class="p">,</span><span·class="w">146 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="7876630086-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="7876630086-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="2009232459-24">(</span><span·class="p"·data-group-id="2009232459-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="2009232459-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·782923fd362c57dcf461e3487d6aa40dfa2cc5b580649bd308c4d607ab68607b·...·]-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="7876630086-24">(</span><span·class="p"·data-group-id="7876630086-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="7876630086-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·e0476391819ca2298f0963900fe8bc7bf009d2c97db5a263d0a524e4cd7cb4e3·...·]-24">)</span><span·class="p">,</span><span·class="w">
148 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="2009232459-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2009232459-28">)</span><span·class="p">.</span><span·class="w">148 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7876630086-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7876630086-28">)</span><span·class="p">.</span><span·class="w">
  
149 </span><span·class="nf">loop</span><span·class="p"·data-group-id="2009232459-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2009232459-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="7876630086-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7876630086-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="2009232459-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="2009232459-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">151 »       </span><span·class="p"·data-group-id="7876630086-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="7876630086-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="2009232459-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2009232459-32">(</span><span·class="p"·data-group-id="2009232459-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2009232459-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·08f599df116cd450132cf3e0bd2091f3c070c3bebe302d6eb5fb580fc1a12937·...·]-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="7876630086-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7876630086-32">(</span><span·class="p"·data-group-id="7876630086-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7876630086-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·6f7a3eddb546fa69c8339385ee79ba8cb0fbe9b219cc29fc35dc1d0773e58aa0·...·]-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="2009232459-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2009232459-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:·a6932c8444be4b6ffa0b815c85d1f9b0bdf75bcb8bc1265ab3eca6d6c6a21a8f·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">154 »       »       </span><span·class="p"·data-group-id="7876630086-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7876630086-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:·1e8633acb61aeac2168f6434bfd4253e2dfd34044f3285a5eeea4b68249d2ef2·...·]-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="2009232459-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="2009232459-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="2009232459-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·138ab5058ced81a8e05094dbab20a835adec8d28a3960a3e30c3fca6a971b8cb·...·]-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="7876630086-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="7876630086-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7876630086-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·311f7edc90b4c70bd05eb11b12ca9015b035a29b08aa5d49ab922c0147190182·...·]-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="2009232459-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2009232459-39">)</span><span·class="p">;</span><span·class="w">157 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7876630086-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7876630086-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="2009232459-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2009232459-41">(</span><span·class="p"·data-group-id="2009232459-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:·f183a33ac81f0b29bdd92f991e299c1c375d5477b35d43a0efdd6ef3df79c37e·...·]-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="7876630086-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7876630086-41">(</span><span·class="p"·data-group-id="7876630086-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:·4872fca5b54a8279c534f3333597254d4ba38f3a75e2e7e3bac0d01e49b27f93·...·]-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="2009232459-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="2009232459-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">161 »       »       </span><span·class="p"·data-group-id="7876630086-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="7876630086-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="2009232459-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="2009232459-43">)</span><span·class="w">162 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="7876630086-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="7876630086-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="2009232459-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="2009232459-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">164 »       </span><span·class="p"·data-group-id="7876630086-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="7876630086-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="2009232459-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="2009232459-45">)</span><span·class="w">165 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="7876630086-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="7876630086-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="2009232459-46">(</span><span·class="p"·data-group-id="2009232459-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="2009232459-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·917b55ddffe6eaf487c5b559f42ecfc5d39242ff9e9ec05e33feb0abb9a3d866·...·]-48">]</span><span·class="p">;</span><span·class="w">167 </span><span·class="nf">encode</span><span·class="p"·data-group-id="7876630086-46">(</span><span·class="p"·data-group-id="7876630086-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="7876630086-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·306238ad6d5deb0df7dfcc0cff9f75799cd27cc1ab555513c85386d75a53327e·...·]-48">]</span><span·class="p">;</span><span·class="w">
168 </span><span·class="nf">encode</span><span·class="p"·data-group-id="2009232459-49">(</span><span·class="p"·data-group-id="2009232459-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="2009232459-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·a860ba54b2d8996328803c28cdba0544aed55dcea8bd3dcf6de2bd12b1f293e5·...·]-51">]</span><span·class="p">.</span><span·class="w">168 </span><span·class="nf">encode</span><span·class="p"·data-group-id="7876630086-49">(</span><span·class="p"·data-group-id="7876630086-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="7876630086-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·208b9b9336a130a07b0f8de878ced40b0a0abc3bad0236a2c97c7263a8fa7a75·...·]-51">]</span><span·class="p">.</span><span·class="w">
  
169 </span><span·class="nf">decode</span><span·class="p"·data-group-id="2009232459-52">(</span><span·class="p"·data-group-id="2009232459-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="2009232459-53">]</span><span·class="p"·data-group-id="2009232459-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="7876630086-52">(</span><span·class="p"·data-group-id="7876630086-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="7876630086-53">]</span><span·class="p"·data-group-id="7876630086-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-15.2.7/doc/html/erlang.html#term_to_binary/1"><code·class="inline">term_to_binary/1</code></a>·and172 <a·href="../../erts-15.2.7/doc/html/erlang.html#term_to_binary/1"><code·class="inline">term_to_binary/1</code></a>·and
173 <a·href="../../erts-15.2.7/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="0598808871-1">(</span><span·class="p"·data-group-id="0598808871-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="0598808871-2">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·2065,·SHA:·2de759a111e99f9947ba05188cd08298cfc90174501472807761b8810d56acbc·...·]-1">}</span><span·class="p">,</span><span·class="w">173 <a·href="../../erts-15.2.7/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="6635118177-1">(</span><span·class="p"·data-group-id="6635118177-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="6635118177-2">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·2065,·SHA:·aa40828075fb707690177e4136f34ac7eea7b12bbeca4c368b93d3037538e9ed·...·]-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="4506636395-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4506636395-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:·bb396ae62d78bc3ddbb1531cc5b57997cc4a713ba700bec8bbd273a4d5609c12·...·]-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 ··</span><span·class="p"·data-group-id="7080816016-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7080816016-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:·fc8d2ea2f5bb560720af91af46f3b6dcb9494699929659ac87d4a2a0873300bc·...·]-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="4506636395-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="4506636395-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="4506636395-8">[·...·truncated·by·diffoscope;·len:·49,·SHA:·6e575ee2275b826bfa0158545adb7c549a596a6d120334b14542f5790adbba9c·...·]-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="7080816016-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="7080816016-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7080816016-8">[·...·truncated·by·diffoscope;·len:·49,·SHA:·a4e7542daeeb88f8d56d0e6e543d699104293a4ef77b256212d7015d6cda13b1·...·]-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="1621580054-1">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1621580054-2">(</span><span·class="p"·data-group-id="1621580054-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1621580054-3">{</span[·...·truncated·by·diffoscope;·len:·344,·SHA:·35a6e3eb76616180be1edfd93e27b550c735e5ecd34a98bc32fb5085aab2c6c8·...·]-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="3097264256-1">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3097264256-2">(</span><span·class="p"·data-group-id="3097264256-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3097264256-3">{</span[·...·truncated·by·diffoscope;·len:·344,·SHA:·bbf2939c5dc53f94cf172c85cc7257075cc03367325f01c1b092c54d3f07026f·...·]-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="1621580054-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1621580054-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:·bc58f9cc4d9bb48d968d8596c5c5d572a608b03f58d340439a14af18342df2bc·...·]-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">179 ··</span><span·class="p"·data-group-id="3097264256-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3097264256-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:·9ddbb8c45d45d4af69e562546ff5618fedfefb1c69738c6f08d076257eb5b8d9·...·]-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="1621580054-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="1621580054-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="162158[·...·truncated·by·diffoscope;·len:·57,·SHA:·cad406be203b815fe8acd62aaec08b26ebe7f14e6d687b83356ba5c8cf4e9ff0·...·]-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="3097264256-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="3097264256-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="309726[·...·truncated·by·diffoscope;·len:·57,·SHA:·05ed8a9d143eaf19e702f0706a65118ef82741e76f4b4543d0972725d4acc349·...·]-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="5734913467-1">(</span><span·class="ss">complex2</span><span·class="p"·data-group-id="5734913467-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="7204822045-1">(</span><span·class="ss">complex2</span><span·class="p"·data-group-id="7204822045-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="5734913467-2">(</span><span·class="p"·data-group-id="5734913467-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:·99e6522858a709cb817520d22d2e57603fa8c51ef208d740a6b79a6daba1e4bf·...·]-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="7204822045-2">(</span><span·class="p"·data-group-id="7204822045-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:·216be9b2870577b36696a8bae8099fa42ea92eabde87b5e048c9dc24b2369c7d·...·]-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="5734913467-4">(</span><span·class="p"·data-group-id="5734913467-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:·a9054b0a4c6bb04cef8246b10b9d26e9cd6d6bf6e5e6be6e2ce4ebe5f1105061·...·]-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="7204822045-4">(</span><span·class="p"·data-group-id="7204822045-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:·b0302e1b3ab5d8b334ffc71bfd4d522f13df80500b5c004b6c863114bfa771f7·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
184 </span><span·class="nf">start</span><span·class="p"·data-group-id="5734913467-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="5734913467-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="7204822045-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="7204822045-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="5734913467-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="5734913467-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·6b6fd516e5058e1bd12eb3633a4acda19d6da22622a9d35fd32246214243a878·...·]-7">)</span><span·class="p">.</span><span·class="w">185 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7204822045-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="7204822045-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·76ca3f8ffbe30f0f65362beca49f44a36e183fcc7820236dad37d712b5d4db35·...·]-7">)</span><span·class="p">.</span><span·class="w">
186 </span><span·class="nf">stop</span><span·class="p"·data-group-id="5734913467-9">(</span><span·class="p"·data-group-id="5734913467-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="7204822045-9">(</span><span·class="p"·data-group-id="7204822045-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="5734913467-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="5734913467-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="7204822045-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="7204822045-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="5734913467-11">(</span><span·class="p"·data-group-id="5734913467-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="5734913467-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·31a3e7a2544c3b1ca8d5a80473694de4cf56dca205c79857db4279c74b9f3c1a·...·]-11">)</span><span·class="p">.</span><span·class="w">189 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7204822045-11">(</span><span·class="p"·data-group-id="7204822045-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="7204822045-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·2584249a613d9737bd52e57fb054c23557145f8c5d614492d40e10d6a0fcc5e7·...·]-11">)</span><span·class="p">.</span><span·class="w">
190 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5734913467-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="5734913467-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="7204822045-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="7204822045-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="5734913467-14">(</span><span·class="p"·data-group-id="5734913467-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="5734913467-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·31a3e7a2544c3b1ca8d5a80473694de4cf56dca205c79857db4279c74b9f3c1a·...·]-14">)</span><span·class="p">.</span><span·class="w">191 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7204822045-14">(</span><span·class="p"·data-group-id="7204822045-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="7204822045-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·2584249a613d9737bd52e57fb054c23557145f8c5d614492d40e10d6a0fcc5e7·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="5734913467-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="5734913467-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="7204822045-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="7204822045-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="5734913467-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="5734913467-18">(</span><span·class="p"·data-group-id="5734913467-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·dfda6f91eb943a76d6f566333a93e83ed4524b1bf3fad465ec4b87df1f7489f8·...·]-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="7204822045-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="7204822045-18">(</span><span·class="p"·data-group-id="7204822045-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·90f9ec95895a39a6a9ab5f40de69fa8eac481e857c44702bd556acbd395fa990·...·]-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="5734913467-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="5734913467-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">195 »       </span><span·class="p"·data-group-id="7204822045-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="7204822045-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="5734913467-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="5734913467-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="7204822045-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="7204822045-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="5734913467-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="5734913467-22">(</span><span·class="p"·data-group-id="5734913467-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·26fe40fc8807d7a511999da8ff6b56be93e380162f93bad18a9e58469f2d8262·...·]-21">)</span><span·class="p">,</span><span·class="w">199 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="7204822045-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="7204822045-22">(</span><span·class="p"·data-group-id="7204822045-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·9fa170689bc8a81cd8df29bede4535ae2ce4da7fe6011ab7358c81a834071c88·...·]-21">)</span><span·class="p">,</span><span·class="w">
200 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="5734913467-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="5734913467-23">)</span><span·class="p">,</span><span·class="w">200 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="7204822045-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="7204822045-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="5734913467-24">(</span><span·class="p"·data-group-id="5734913467-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="5734913467-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·467,·SHA:·323623d4dd6ece8e399e88da96afb0cda4a823beee6b2b886ce554fdb5fc830b·...·]-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="7204822045-24">(</span><span·class="p"·data-group-id="7204822045-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="7204822045-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·467,·SHA:·c163050a9631f12d6c998a7debdc5f10c7752ed3295e64c9bb348f19ac736974·...·]-24">)</span><span·class="p">,</span><span·class="w">
202 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="5734913467-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5734913467-28">)</span><span·class="p">.</span><span·class="w">202 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7204822045-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7204822045-28">)</span><span·class="p">.</span><span·class="w">
  
203 </span><span·class="nf">loop</span><span·class="p"·data-group-id="5734913467-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5734913467-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="7204822045-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7204822045-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="5734913467-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="5734913467-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 »       </span><span·class="p"·data-group-id="7204822045-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="7204822045-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="5734913467-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5734913467-32">(</span><span·class="p"·data-group-id="5734913467-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5734913467-33">{</[·...·truncated·by·diffoscope;·len:·351,·SHA:·37fbd413448a230952c516810a52e71f445ed8df2aa5edf031d680df769ccc89·...·]-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="7204822045-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7204822045-32">(</span><span·class="p"·data-group-id="7204822045-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7204822045-33">{</[·...·truncated·by·diffoscope;·len:·351,·SHA:·23e20da3b702b3898e37c7b1f20ac04f31ef492573aff3ef3f743118eb1ef2a4·...·]-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="5734913467-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5734913467-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:·37ee197bfbdf20ed2b7dc1f3c0033421b6f4f6ea359eed79c3e551a44ce8a2cb·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 »       »       </span><span·class="p"·data-group-id="7204822045-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7204822045-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:·dc998c0b6b8cf2cce2d80339f3480a479654dbd082905f0d733161daeadaf7de·...·]-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="5734913467-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="5734913467-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5734[·...·truncated·by·diffoscope;·len:·60,·SHA:·dfea919617291913f5f661b486b631914cfba6be2d9ec4f2b95f0ac90cbe1acb·...·]-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="7204822045-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="7204822045-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7204[·...·truncated·by·diffoscope;·len:·60,·SHA:·4fd40c4d196b86372a841e2a01f08178ee4947e3822c3fce8ca7813c541b837d·...·]-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="5734913467-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5734913467-39">)</span><span·class="p">;</span><span·class="w">211 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7204822045-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7204822045-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="5734913467-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5734913467-41">(</span><span·class="p"·data-group-id="5734913467-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:·404b33f331d7106275ce050153b3527e6d4ac207021d8a6de90e2257af7f0af5·...·]-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="7204822045-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7204822045-41">(</span><span·class="p"·data-group-id="7204822045-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:·ed0bf8fda2e8cfe7800869c92e831fc5ac59f2c948b18f4c4b31890597e1f3b4·...·]-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="5734913467-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="5734913467-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">215 »       »       </span><span·class="p"·data-group-id="7204822045-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="7204822045-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="5734913467-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="5734913467-43">)</span><span·class="w">216 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="7204822045-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="7204822045-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="5734913467-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="5734913467-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">218 »       </span><span·class="p"·data-group-id="7204822045-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="7204822045-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="5734913467-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="5734913467-45">)</span><span·class="w">219 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="7204822045-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="7204822045-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/73373 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.2.7/doc/html/kernel_app.html#logger_sasl_compatible"><code·class="inline">logger_sasl_compatible</code></a>·to147 <a·href="../../lib/kernel-10.2.7/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.2.2/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.2.2/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="2714163440-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">10.0</span><span·class="p"·data-group-id="2714163440-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="2714163440-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1312,·SHA:·a57e54f3a42785ac9166e312342b2b4009ea166febac0ba5e7e8ec603d578e0a·...·]0-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="9732933560-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">10.0</span><span·class="p"·data-group-id="9732933560-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="9732933560-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1312,·SHA:·60953687543c5579bee7e753cb3d455e8e7bfc9b8a1f05074edaadb6010a7c87·...·]0-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="2714163440-8">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="2714163440-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="9732933560-8">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="9732933560-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="2714163440-9">[</span><span·class="p"·data-group-id="2714163440-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:·42,·SHA:·552575b0ed4564aae4711482f5994b83b00b658291ad2a849f5ca8fea90441dc·...·]0-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="9732933560-9">[</span><span·class="p"·data-group-id="9732933560-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:·42,·SHA:·52e6a1758be34cf5dd926a89beed3f9b60ae3378e4216c24e111c0ef2fdaa8e0·...·]0-10">}</span><span·class="p">,</span><span·class="w">
160 ··············</span><span·class="p"·data-group-id="2714163440-11">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_sup</span><span·class="p"·data-group-id="2714163440-11">}</span><span·class="p">,</span><span·class="w">160 ··············</span><span·class="p"·data-group-id="9732933560-11">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_sup</span><span·class="p"·data-group-id="9732933560-11">}</span><span·class="p">,</span><span·class="w">
161 ··············</span><span·class="p"·data-group-id="2714163440-12">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="2714163440-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:·195,·SHA:·4a2707bd46dc9f0beaf9db269a2e21e293dc6bedf2163826ea3ed1c58d2a6f3a·...·]0-12">}</span><span·class="p">,</span><span·class="w">161 ··············</span><span·class="p"·data-group-id="9732933560-12">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="9732933560-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:·195,·SHA:·35de758cda12efd43d7c7742f9379d37985b2dd3e6f1097ff00c5cf98c56af46·...·]0-12">}</span><span·class="p">,</span><span·class="w">
162 ··············</span><span·class="p"·data-group-id="2714163440-15">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="2714163440-15">}</span><span·class="p">,</span><span·class="w">162 ··············</span><span·class="p"·data-group-id="9732933560-15">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="9732933560-15">}</span><span·class="p">,</span><span·class="w">
163 ··············</span><span·class="p"·data-group-id="2714163440-16">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">1000</span><span·class="p"·data-group-id="2714163440-16">}</span><span·class="p">,</span><span·class="w">163 ··············</span><span·class="p"·data-group-id="9732933560-16">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">1000</span><span·class="p"·data-group-id="9732933560-16">}</span><span·class="p">,</span><span·class="w">
164 ··············</span><span·class="p"·data-group-id="2714163440-17">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="2714163440-17">}</span><span·class="p"·data-group-id="2714163440-9">]</span><span·class="w">164 ··············</span><span·class="p"·data-group-id="9732933560-17">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="9732933560-17">}</span><span·class="p"·data-group-id="9732933560-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="2714163440-18">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="2714163440-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="9732933560-18">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="9732933560-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="2714163440-19">[</span><span·class="p"·data-group-id="2714163440-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:·43,·SHA:·73cd6864289e9b92679062914d1a45d25d15739263ee14a1eb4203c5c843fc0a·...·]0-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="9732933560-19">[</span><span·class="p"·data-group-id="9732933560-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:·43,·SHA:·145718731ff35ea50e1606571a7fed2b4528925d76ec4beb1e0d462e89724c13·...·]0-20">}</span><span·class="p">,</span><span·class="w">
168 ··············</span><span·class="p"·data-group-id="2714163440-21">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_server</span><span·class="p"·data-group-id="2714163440-21">}</span><span·class="p">,</span><span·class="w">168 ··············</span><span·class="p"·data-group-id="9732933560-21">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_server</span><span·class="p"·data-group-id="9732933560-21">}</span><span·class="p">,</span><span·class="w">
169 ··············</span><span·class="p"·data-group-id="2714163440-22">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="2714163440-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:·198,·SHA:·1584b4fb67a1774921fe86f97918186d2ddd9fa84176d0591d3b6577e082f877·...·]0-22">}</span><span·class="p">,</span><span·class="w">169 ··············</span><span·class="p"·data-group-id="9732933560-22">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="9732933560-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:·198,·SHA:·022079fb400fd6429703bfdcb96e5f7bc7f5028c243fdf1d255bc22395b2409d·...·]0-22">}</span><span·class="p">,</span><span·class="w">
170 ··············</span><span·class="p"·data-group-id="2714163440-25">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="2714163440-25">}</span><span·class="p">,</span><span·class="w">170 ··············</span><span·class="p"·data-group-id="9732933560-25">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="9732933560-25">}</span><span·class="p">,</span><span·class="w">
171 ··············</span><span·class="p"·data-group-id="2714163440-26">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="2714163440-26">}</span><span·class="p">,</span><span·class="w">171 ··············</span><span·class="p"·data-group-id="9732933560-26">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="9732933560-26">}</span><span·class="p">,</span><span·class="w">
172 ··············</span><span·class="p"·data-group-id="2714163440-27">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="2714163440-27">}</span><span·class="p"·data-group-id="2714163440-19">]</span><span·class="w">172 ··············</span><span·class="p"·data-group-id="9732933560-27">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="9732933560-27">}</span><span·class="p"·data-group-id="9732933560-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="2714163440-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="2714163440-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="9732933560-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="9732933560-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>224 <p>Copyright·©·1996-2025·<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;"><em>Class</em></th><th·style="text-align:·left;"><em>Origin</em></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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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;"><em>Class</em></th><th·style="text-align:·left;"><em>Origin</em></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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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="8367744648-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8367744648-2">{</span><span·class="ss">test</span><span·class="p">,</span><span·class="n">Stacktrace</span><span·class="p"·data-group-id="836[·...·truncated·by·diffoscope;·len:·453,·SHA:·b41bcafe2f3fd0ee0d74aee2f22c42f433b74bc839cc981988e234c53c92c25a·...·]-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="4364338099-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4364338099-2">{</span><span·class="ss">test</span><span·class="p">,</span><span·class="n">Stacktrace</span><span·class="p"·data-group-id="436[·...·truncated·by·diffoscope;·len:·453,·SHA:·1b088a0a98252c8bb1dd1528154e8861e456246575035919b71097a5ef23c7e4·...·]-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="8367744648-5">[</span><span·class="p"·data-group-id="8367744648-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:·d2a8f9bd0a0a41c4fe5ea9e79bbcef04527c114277f539b5e21acac38dad5c20·...·]-6">}</span><span·class="p">,</span><span·class="w">159 </span><span·class="p"·data-group-id="4364338099-5">[</span><span·class="p"·data-group-id="4364338099-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:·0c0ff5347375a80f7eb79614fffd80627b0403393418b95092cf1fa1b49b9f2f·...·]-6">}</span><span·class="p">,</span><span·class="w">
160 ·</span><span·class="p"·data-group-id="8367744648-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="8367744648-9">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·bd53d72d79a0b27b1222f3f8ddfa0be384ddaae7a7adcee1b2b247fc1f815a26·...·]-8">}</span><span·class="p">,</span><span·class="w">160 ·</span><span·class="p"·data-group-id="4364338099-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="4364338099-9">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·00d9cd4179be70869fe0aeca14e1eda551baf1e5da07b8b97b911a0e8461dead·...·]-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="8367744648-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="4364338099-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="8367744648-10">(</span><span·class="ss">test</span><span·class="p"·data-group-id="8367744648-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="4364338099-10">(</span><span·class="ss">test</span><span·class="p"·data-group-id="4364338099-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="8367744648-11">[</span><span·class="p"·data-group-id="8367744648-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:·ee4a0ec18bc16f4a40f61be613357a1dfe4b4848d25ccad1bfa439d39b5519ec·...·]-12">}</span><span·class="p">,</span><span·class="w">163 </span><span·class="p"·data-group-id="4364338099-11">[</span><span·class="p"·data-group-id="4364338099-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:·3de9d2f818e08beabc4cb88f8164e16a00cb0a5f68303a35d37e40b7d0689c5c·...·]-12">}</span><span·class="p">,</span><span·class="w">
164 ·</span><span·class="p"·data-group-id="8367744648-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="8367744648-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·77,·SHA:·ade1cf62667093e7c3cb55095120b97fd6d80d5b8bcb63a65b012bb5bc28702e·...·]-14">}</span><span·class="p">,</span><span·class="w">164 ·</span><span·class="p"·data-group-id="4364338099-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="4364338099-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·77,·SHA:·ec6cb410fae628957c0be2849b0993c0dd662b58a0cb6b3103caa20c217a7a44·...·]-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="8367744648-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="4364338099-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-15.2.7/doc/html/erlang.html#t:stacktrace/0"><em>stacktrace</em></a>)·is·a·list·that171 <p>The·stack·back-trace·(<a·href="../../erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>288 <p>Copyright·©·1996-2025·<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="3031131165-1">(</span><span·class="ss">terminal_logger</span><span·class="p"·data-group-id="3031131165-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="9245832830-1">(</span><span·class="ss">terminal_logger</span><span·class="p"·data-group-id="9245832830-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="3031131165-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="3031131165-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="9245832830-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="9245832830-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="3031131165-3">(</span><span·class="p"·data-group-id="3031131165-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:·e17be2b45506f20d3e49e46fe6d5e3016b5a79a184402c47d38ac9a690bfe31b·...·]-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="9245832830-3">(</span><span·class="p"·data-group-id="9245832830-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:·69fbe0e9dad5c4c50646e1591d5fd89493d2975945d091ac95d4bd8771dfdf65·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
146 </span><span·class="nf">init</span><span·class="p"·data-group-id="3031131165-5">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="3031131165-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="9245832830-5">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="9245832830-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
147 ····</span><span·class="p"·data-group-id="3031131165-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3031131165-7">[</span><span·class="p"·data-group-id="3031131165-7">]</span><span·class="p"·data-group-id="3031131165-6">}</span><span·class="p">.</span><span·class="w">147 ····</span><span·class="p"·data-group-id="9245832830-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9245832830-7">[</span><span·class="p"·data-group-id="9245832830-7">]</span><span·class="p"·data-group-id="9245832830-6">}</span><span·class="p">.</span><span·class="w">
  
148 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="3031131165-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="3031131165-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="9245832830-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="9245832830-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="3031131165-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="3031131165-10">[</span><span·clas[·...·truncated·by·diffoscope;·len:·116,·SHA:·cfef31c45c5f980e06bc1a550aed35eb8aecddb0413724ad15f04aaa744bafed·...·]-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="9245832830-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="9245832830-10">[</span><span·clas[·...·truncated·by·diffoscope;·len:·116,·SHA:·b803564168fa31ef66f4132c8040401ba9fc643e45c66c7b29e8a547f58d5338·...·]-9">)</span><span·class="p">,</span><span·class="w">
150 ····</span><span·class="p"·data-group-id="3031131165-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="3031131165-11">}</span><span·class="p">.</span><span·class="w">150 ····</span><span·class="p"·data-group-id="9245832830-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="9245832830-11">}</span><span·class="p">.</span><span·class="w">
  
151 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="3031131165-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="3031131165-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="9245832830-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="9245832830-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="4793603174-1">(</span><span·class="ss">file_logger</span><span·class="p"·data-group-id="4793603174-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="8468821363-1">(</span><span·class="ss">file_logger</span><span·class="p"·data-group-id="8468821363-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="4793603174-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="4793603174-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="8468821363-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="8468821363-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="4793603174-3">(</span><span·class="p"·data-group-id="4793603174-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:·cfd6dd85d07c281c008fbd776b48bcb553d7a4cfee39cabec231b2e748c5efc6·...·]-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="8468821363-3">(</span><span·class="p"·data-group-id="8468821363-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:·86b30a4194cc3f3d5537f0f4f417968366ecbb4fef639499517d8466de29a72a·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">init</span><span·class="p"·data-group-id="4793603174-5">(</span><span·class="n">File</span><span·class="p"·data-group-id="4793603174-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="8468821363-5">(</span><span·class="n">File</span><span·class="p"·data-group-id="8468821363-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ····</span><span·class="p"·data-group-id="4793603174-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="4793603174-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·8a294d97c98662dac57cf8b9ffe9530f193c36312ecbf15dcc3768ac9391c64f·...·]-7">)</span><span·class="p">,</span><span·class="w">158 ····</span><span·class="p"·data-group-id="8468821363-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="8468821363-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·f3efa0b533d7eb5ff8437a998f0f5ee0ee18889ed334d6aff15e045b139511a9·...·]-7">)</span><span·class="p">,</span><span·class="w">
159 ····</span><span·class="p"·data-group-id="4793603174-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="4793603174-8">}</span><span·class="p">.</span><span·class="w">159 ····</span><span·class="p"·data-group-id="8468821363-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="8468821363-8">}</span><span·class="p">.</span><span·class="w">
  
160 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="4793603174-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="4793603174-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="8468821363-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="8468821363-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="4793603174-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:·d2243bd2cdd9db0d781e623fddba09cef3bbfa3394a464d1ff4ffe306d94cc5a·...·]-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="8468821363-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:·19bfeee186b4b295a0a7378c91c32f6a069b8dc8730683aa1a2170d59b5bdf9d·...·]-10">)</span><span·class="p">,</span><span·class="w">
162 ····</span><span·class="p"·data-group-id="4793603174-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="4793603174-12">}</span><span·class="p">.</span><span·class="w">162 ····</span><span·class="p"·data-group-id="8468821363-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="8468821363-12">}</span><span·class="p">.</span><span·class="w">
  
163 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="4793603174-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="4793603174-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="8468821363-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="8468821363-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="4793603174-14">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="4793603174-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="8468821363-14">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="8468821363-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-6.2.2/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-6.2.2/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="3705753647-1">(</span><span·class="p"·data-group-id="3705753647-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="3705753647-2">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·9364f477e8dd3e4c51e256fc8b3a2150766a3ce7de319916026523fadd8efc46·...·]-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="8475589152-1">(</span><span·class="p"·data-group-id="8475589152-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="8475589152-2">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·3903c44c9b10b18f6fa33398414359f05018c9b1043f61d778cbf21f6d9ec0bb·...·]-1">)</span><span·class="p">.</span><span·class="w">
192 </span><span·class="p"·data-group-id="3705753647-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="3705753647-3">}</span><span·class="gp·unselectable">192 </span><span·class="p"·data-group-id="8475589152-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="8475589152-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="3705753647-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="3705753647-5">[</span><span·class="[·...·truncated·by·diffoscope;·len:·81,·SHA:·4250242a4e835ed6c59fa07a57c43a81626470c75d8c8f81748204f71c89b61d·...·]-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="8475589152-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="8475589152-5">[</span><span·class="[·...·truncated·by·diffoscope;·len:·81,·SHA:·81e61f51babb9c10a671f5829d0eaef03fe92cd55298785dd62187874223fd09·...·]-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="2974737730-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="2974737730-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
199 ····</span><span·class="p"·data-group-id="2974737730-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2974737730-3">[</span><span·class="p"·data-group-id="2974737730-3">]</span><span·class=[·...·truncated·by·diffoscope;·len:·180,·SHA:·25493ac7c5caa404b7594179cb7a6bb692cebf2bd7d8172f3ad58568ee0edcec·...·]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="7028695286-1">(</span><span·class="p">_</span><span·class="n">[·...·truncated·by·diffoscope;·len:·132,·SHA:·f6f164b341022c8761207debf7dc527f8b1cd8185be3c5980bc7cbbf4bd4e8b6·...·]
 199 ····</span><span·class="p"·data-group-id="7028695286-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7028695286-3">[</span><span·class="p"·data-group-id="7028695286-3">]</span><span·class="p"·data-group-id="7028695286-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="4919668714-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="4919668714-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="5898136815-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="5898136815-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
202 ····</span><span·class="p"·data-group-id="4919668714-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="4919668714-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·9d9481c795bf28f987b071b6fc57f1913cf00112e63ab692911233eb38a2091a·...·]-3">)</span><span·class="p">,</span><span·class="w">202 ····</span><span·class="p"·data-group-id="5898136815-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="5898136815-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·2d8bacd3e22d930e0b8c18bd8660d34227ad44783f5138742e0302f459cf56dc·...·]-3">)</span><span·class="p">,</span><span·class="w">
203 ····</span><span·class="p"·data-group-id="4919668714-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="4919668714-4">}</span><span·class="p">.</span></code></pre><h2·id="notifying-about-events"·class="section-heading">203 ····</span><span·class="p"·data-group-id="5898136815-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="5898136815-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="1988472053-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="1988472053-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="1988472053-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="1988472053-3">[</span><span·class="n">ErrorMsg</span><span·class="p"·data-group-id="1988472053-3">]</span><span·class="p"·data-group-id="1988472053-2">)</span><span·class="p">,</span><span·class="w"> 
217 ····</span><span·class="p"·data-group-id="1988472053-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="1988472053-4">}</span><span·class="p">.</span></code></pre>[·...·truncated·by·diffoscope;·len:·332,·SHA:·b1bbb9e7115dd4d8089b8a427d4145144fd12b74dd220a0753f7184648af13ea·...·]-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="3280902739-1">(</span><span·class="n">ErrorMsg</span><sp[·...·truncated·by·diffoscope;·len:·114,·SHA:·961af311e711ad8904a6f30062dd4904297b8e18588adc6519c574cde2007075·...·]-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="3280902739-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="3280902739-3">[</span><span·class="n">ErrorMsg</span><span·class="p"·data-group-id="3280902739-3">]</span><span·class="p"·data-group-id="3280902739-2">)</span><span·class="p">,</span><span·class="w">
 217 ····</span><span·class="p"·data-group-id="3280902739-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="3280902739-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="2206584726-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="2206584726-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="4171879750-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:·7cc42eba45f826092ded2ab4a63d43a4a5ce3329d697ced0dedc809b9143a7f6·...·]-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="2206584726-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:·2d683420247d5e402200d4c904e9c25e12db901ed1c0e1aa7f6988b6bddf84a6·...·]-2">)</span><span·class="p">,</span><span·class="w">
219 ····</span><span·class="p"·data-group-id="4171879750-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="4171879750-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="2206584726-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="2206584726-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="5268476107-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="5268476107-2">[</span><span·class="[·...·truncated·by·diffoscope;·len:·81,·SHA:·f44a3744f359e15be45745bd25615102f83231585ef80b74acfa76a2eb08bea3·...·]-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="1117356504-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="1117356504-2">[</span><span·class="[·...·truncated·by·diffoscope;·len:·81,·SHA:·2f1e06c383d22c73c02d907f720119bcbb42df94c714488f6e309f016df8d8f5·...·]-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="1743633495-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="1743633495-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:·246,·SHA:·65e974a24153416c942dec364fab8cb02d642b5a3b1ed37bbb785b4602e1b1a8·...·]3-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="4202048073-1">(</span><span·class="p">_</span><s[·...·truncated·by·diffoscope;·len:·165,·SHA:·879aa6433c43acaa7a86328c9f375a5d1dd000c83497bc7a5098fd8cac71b16c·...·]3-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="7556260736-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="7556260736-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="1104873253-2">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="1104873253-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="7556260736-2">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="7556260736-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="8522147889-1">(</span><span·class="ss">error_man</span><span·class="p"·data-group-id="8522147889-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="5811595591-1">(</span><span·class="ss">error_man</span><span·class="p"·data-group-id="5811595591-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-6.2.2/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-6.2.2/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="9009443089-1">(</span><span·class="p"·data-group-id="9009443089-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:·700c5a4257bb7b2f9494ed4338ce5cf9f6bf496438e0c32ae2ee3396d92904e5·...·]-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="7181750864-1">(</span><span·class="p"·data-group-id="7181750864-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:·962e9c93134aa08c1b220496aa78674b20c72003a75e9c804611c2eb69bc041d·...·]-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/42339 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="5840443258-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="5840443258-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="5165985425-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="5165985425-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2025·<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
351 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>240 <p>Copyright·©·1996-2025·<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="0216019606-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="0216019606-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="6087960463-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="6087960463-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="0216019606-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="0216019606-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="6087960463-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="6087960463-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="0216019606-3">(</span><span·class="p"·data-group-id="0216019606-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0216019606-4">]</span><span·class="p"·data-group-id="0216019606-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="6087960463-3">(</span><span·class="p"·data-group-id="6087960463-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6087960463-4">]</span><span·class="p"·data-group-id="6087960463-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="0216019606-5">(</span><span·class="p"·data-group-id="0216019606-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:·a99acdcc18d7ea9df15346c4241a30e8c0e0980b69efca1aa79e4cb7a8deb328·...·]-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="6087960463-5">(</span><span·class="p"·data-group-id="6087960463-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:·553a83defaf9747e517b70ddb7ede6860c3ed52540c3749861e52f51e63bba43·...·]-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="0216019606-7">(</span><span·class="p"·data-group-id="0216019606-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:·bc4fe874909742983d31725136305d5941c2cef7d54c65e350a74b00a046b0c2·...·]-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="6087960463-7">(</span><span·class="p"·data-group-id="6087960463-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:·e19e765ff46081b95443a5d511f566c259efe747cfe036c83d6147fea5945ee4·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
170 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="0216019606-9">(</span><span·class="p"·data-group-id="0216019606-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="6087960463-9">(</span><span·class="p"·data-group-id="6087960463-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="0216019606-10">(</span><span·class="p"·data-group-id="0216019606-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="0216019606-11">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·407,·SHA:·96767a4ea2e382d3d30c944b9a6da58bde8b5a338f43b0834401cb9e9a80652a·...·]-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="6087960463-10">(</span><span·class="p"·data-group-id="6087960463-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="6087960463-11">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·407,·SHA:·a64f67d3b2a608e3a3a0a70ce8b00d064224d15c8acf947741f61ba4162fcaff·...·]-10">)</span><span·class="p">.</span><span·class="w">
  
172 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="0216019606-14">(</span><span·class="p"·data-group-id="0216019606-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="6087960463-14">(</span><span·class="p"·data-group-id="6087960463-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="0216019606-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="0216019606-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="6087960463-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="6087960463-15">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">free</span><span·class="p"·data-group-id="0216019606-16">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="0216019606-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="6087960463-16">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="6087960463-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="0216019606-17">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0216019606-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:·ef0b21939316ca70f32b5e06be394b4fcda3c434410c8f7e11cf99577d4cf1bb·...·]-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="6087960463-17">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6087960463-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:·80d8a591475b8d23c9d21d01d312b20f401fa103747892c0334af2d51be69a87·...·]-17">)</span><span·class="p">.</span><span·class="w">
  
176 </span><span·class="nf">init</span><span·class="p"·data-group-id="0216019606-19">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="0216019606-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="6087960463-19">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="6087960463-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="p"·data-group-id="0216019606-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="0216019606-21">(</span><span·class="p"·data-group-id="0216019606-21">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·27fd0aa24720773c5ab98de527aa8d6989bca4429796ba485e04864fa8e5df4f·...·]-20">}</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="p"·data-group-id="6087960463-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="6087960463-21">(</span><span·class="p"·data-group-id="6087960463-21">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·75af013d7b6eeb5471fbb464310d80ae8e6edc96d758ad1984aad4eb5367e3e3·...·]-20">}</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="0216019606-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:·f58735128787aaa48c118fefeac9a682005e8079bb82e2bb11528234e3286063·...·]-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="6087960463-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:·dd64d33a7138d5c426c998765527c2617f2f28eb9a8da29d74a9b221873a87ed·...·]-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ····</span><span·class="p"·data-group-id="0216019606-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="0216019606-23">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·c34394116a35cffceac49b83b2e9e81297f8a58f40f6f3abac739121c8392198·...·]-24">)</span><span·class="p">,</span><span·class="w">179 ····</span><span·class="p"·data-group-id="6087960463-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="6087960463-23">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·fd1472e0e2f36ae0ee3733393320386ee7c61857016357742706b8d5bd7a91d8·...·]-24">)</span><span·class="p">,</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="0216019606-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="0216019606-25">}</span><span·class="p">.</span><span·class="w">180 ····</span><span·class="p"·data-group-id="6087960463-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="6087960463-25">}</span><span·class="p">.</span><span·class="w">
  
181 </span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="0216019606-26">(</span><span·class="p"·data-group-id="0216019606-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="0216019606-27">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·e9d06b2e84275ae5b86ab549e79776a87c414c393e71e8c79dd04a202d2f72e3·...·]-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="6087960463-26">(</span><span·class="p"·data-group-id="6087960463-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="6087960463-27">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·83442d89268a7fa080e661015376ffbab81bb432d460ba71ffc111a86db9a861·...·]-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="0216019606-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="0216019606-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="6087960463-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="6087960463-28">)</span><span·class="p">,</span><span·class="w">
183 ····</span><span·class="p"·data-group-id="0216019606-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="0216019606-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="6087960463-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="6087960463-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="0949939063-1">(</span><span·class="p"·data-group-id="0949939063-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="6555407933-1">(</span><span·class="p"·data-group-id="6555407933-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="0949939063-2">(</span><span·class="p"·data-group-id="0949939063-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="0949939063-3">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·681,·SHA:·82fb096a3dfc6c7cdedb8243aa63b52c5ffad37af74ea8935859d7ebacd1ec30·...·]3-6">}</span></code></pre><p><code·class="inline">start_link/0</code>·calls·function·<a·href="../../lib/stdlib-6.2.2/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="6555407933-2">(</span><span·class="p"·data-group-id="6555407933-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="6555407933-3">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·681,·SHA:·8d7f50ed73500c04cdc53b8929e751664d06124a41cd33ee556516bdc25608d2·...·]3-6">}</span></code></pre><p><code·class="inline">start_link/0</code>·calls·function·<a·href="../../lib/stdlib-6.2.2/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.2.7/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.2.7/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-6.2.2/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-6.2.2/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="5988872871-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="5988872871-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="3440403422-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="3440403422-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ····</span><span·class="p"·data-group-id="5988872871-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="5988872871-3">(</span><span·class="p"·data-group-id="5988872871-3">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·1a9dcd471714083e0865621cd72cbfbe3a5d638eec9b1037f5ca83969c2f2063·...·]-2">}</span><span·class="p">.</span></code></pre><p><a·href="../../lib/stdlib-6.2.2/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="3440403422-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="3440403422-3">(</span><span·class="p"·data-group-id="3440403422-3">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·f3c3883069b8f3c69ec1a1c1f45247e557d16683a14320e7cc49e212663a632a·...·]-2">}</span><span·class="p">.</span></code></pre><p><a·href="../../lib/stdlib-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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="9514319354-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="9[·...·truncated·by·diffoscope;·len:·9,·SHA:·1e2b78151c90cfe8ee98853fbf5514ac8eda9382b22ffe8ee74b491fdf5cae8d·...·]-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="8650791516-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:·1a1290b67c10a2fcb7635737ccb95a06fd11594f585f07c0c730badc0b4f4a65·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
229 ····</span><span·class="p"·data-group-id="9514319354-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="9514319354-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·140,·SHA:·6a1f3d1ca97d481a5da9c6c4fedcc286e7a402f9ea7357621ec5e8c19c466c0f·...·]-3">)</span><span·class="p">,</span><span·class="w">229 ····</span><span·class="p"·data-group-id="8650791516-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="8650791516-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·140,·SHA:·d8201e1d9cd0181a76d177c643ba7597c452eef21c609aba0718e47c73edf243·...·]-3">)</span><span·class="p">,</span><span·class="w">
230 ····</span><span·class="p"·data-group-id="9514319354-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="9514319354-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="8650791516-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="8650791516-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-6.2.2/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="1408878345-1">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="1408878345-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-6.2.2/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="1156942990-1">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="1156942990-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="1408878345-2">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1408878345-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:·5b4107a766e43f42659b458f34a7aaa2aad1825adcdbb7c9f63eca9f7e117453·...·]-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="1156942990-2">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1156942990-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:·aaa4c9c090c161630b306cb026abb7459b0d775346355f17404dd0c89d5354a4·...·]-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="3812032247-1">(</span><span·class="p"·data-group-id="3812032247-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="3812032247-2">}</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·88,·SHA:·79a6458d14de9a64fd27d98b7b416a1a508b7faaa198aa9bf68f23e6d2aa3744·...·]-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="5984174133-1">(</span><span·class="p"·data-group-id="5984174133-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="5984174133-2">}</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·88,·SHA:·835a6622feb4788bc3eb73ac1ed58cccafab7b886157baa3558f5de564cb6bcf·...·]-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="3812032247-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="3812032247-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="5984174133-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="5984174133-3">)</span><span·class="p">,</span><span·class="w">
245 ····</span><span·class="p"·data-group-id="3812032247-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="3812032247-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="5984174133-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="5984174133-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="5337456493-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="5337456493-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="7120600414-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="7120600414-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="5337456493-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="5337456493-2">)</span><span·class="p">,</span><span·class="w">266 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="7120600414-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="7120600414-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="5337456493-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="5337456493-3">}</span><span·class="p">.</span><span·class="w">268 ····</span><span·class="p"·data-group-id="7120600414-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="7120600414-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="5337456493-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="5337456493-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="7120600414-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="7120600414-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="1552166348-1">(</span><span·class="p"·data-group-id="1552166348-2">[</span><span·class="ss">stop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1552166348-2">]</span><span·class="p"·data-group-id="1552166348-1">)</span><span·class="p">.</span><span·class="w">281 </span><span·class="nf">export</span><span·class="p"·data-group-id="4696100121-1">(</span><span·class="p"·data-group-id="4696100121-2">[</span><span·class="ss">stop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="4696100121-2">]</span><span·class="p"·data-group-id="4696100121-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="1552166348-3">(</span><span·class="p"·data-group-id="1552166348-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="4696100121-3">(</span><span·class="p"·data-group-id="4696100121-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 9081/50052 bytes (18.14%) 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2025·<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="9825118326-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="9997309967-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="9825118326-2">[</span><span·class="p"·data-group-id="9825118326-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="9825118326-3">}</span><span·class="p">,</span><span·class="w">169 ·</span><span·class="p"·data-group-id="9997309967-2">[</span><span·class="p"·data-group-id="9997309967-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="9997309967-3">}</span><span·class="p">,</span><span·class="w">
170 ··</span><span·class="p"·data-group-id="9825118326-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="9825118326-4">}</span><span·class="p">,</span><span·class="w">170 ··</span><span·class="p"·data-group-id="9997309967-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="9997309967-4">}</span><span·class="p">,</span><span·class="w">
171 ··</span><span·class="p"·data-group-id="9825118326-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9825118326-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:·775e24a8da4b6dbcdb58c027a24e8288f091dea6791355e184dde25e1df917dc·...·]-5">}</span><span·class="p">,</span><span·class="w">171 ··</span><span·class="p"·data-group-id="9997309967-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9997309967-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:·4b47bd44a58bb9cdf97e90e13375e6d89e32b22a87c89dce7d5b127bd147a300·...·]-5">}</span><span·class="p">,</span><span·class="w">
172 ··</span><span·class="p"·data-group-id="9825118326-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9825118326-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="9825118326-8">]</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·c32329fcc68d1b41c4b2ec10ee59c533366fafb838a9f8f710d7f4c5ab4fd9a7·...·]-7">}</span><span·class="p">,</span><span·class="w">172 ··</span><span·class="p"·data-group-id="9997309967-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9997309967-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="9997309967-8">]</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·628ab85e51be8e66133cf056db09c192c8a55da45a3de411c5b3ed33d1c5bdea·...·]-7">}</span><span·class="p">,</span><span·class="w">
173 ··</span><span·class="p"·data-group-id="9825118326-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9825118326-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="9825118326-10">]</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·aaf65fd38a056f90360dae68834f0184452a06ce7aad36c249b4b09ebf95bfb9·...·]-9">}</span><span·class="p">,</span><span·class="w">173 ··</span><span·class="p"·data-group-id="9997309967-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9997309967-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="9997309967-10">]</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·3402d3d5993cd9322bd47d8af9ee982abd07674544ee4c5a1ae223629bb6781f·...·]-9">}</span><span·class="p">,</span><span·class="w">
174 ··</span><span·class="p"·data-group-id="9825118326-11">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9825118326-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:·a36f384057fd4fa817263d84dcb35de73c21688d094b88a81dc0e2784af063d0·...·]-11">}</span><span·class="p">,</span><span·class="w">174 ··</span><span·class="p"·data-group-id="9997309967-11">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9997309967-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:·f05dfe4900f9d740108a689fb3185a8671c125bc47e16d28b5ad740a9a1211ac·...·]-11">}</span><span·class="p">,</span><span·class="w">
175 ··</span><span·class="p"·data-group-id="9825118326-13">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9825118326-14">{</span><span·class="ss">prim_app_cb</span><span·class="p">,</span><span·class="p"·data-group-id="9825118326-15">[</span><span·class="p"·data-group-id="9825118326-15">]</span><span·class="p"·data-group-id="9825118326-14">}</span><span·class="p"·data-group-id="9825118326-13">}</span><span·class="p">,</span><span·class="w"> 
176 ··</span><span·class="p"·data-group-id="9825118326-16">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9825118326-17">[</span><span·class="p"·data-group-id="9825118326-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="9825118326-18">}</span><span·class="p"·data-group-id="9825118326-17">]</span><span·class="p"·data-group-id="9825118326-16">}</span><span·class="w"> 
177 ·</span><span·class="p"·data-group-id="9825118326-2">]</span><span·class="p"·data-group-id="9825118326-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="9997309967-13">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9997309967-14">{</span><span·class="ss">prim_app_cb</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·248,·SHA:·562d8b0b0837643cc94cea0a9611b6dd2a55056b029af952061f9b9606849687·...·]">
 176 ··</span><span·class="p"·data-group-id="9997309967-16">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9997309967-17">[</span><span·class="p"·data-group-id="9997309967-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="9997309967-18">}</span><span·class="p"·data-group-id="9997309967-17">]</span><span·class="p"·data-group-id="9997309967-16">}</span><span·class="w">
 177 ·</span><span·class="p"·data-group-id="9997309967-2">]</span><span·class="p"·data-group-id="9997309967-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="4611287466-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="2297420661-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="4611287466-2">[</span><span·class="p"·data-group-id="4611287466-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="4611287466-3">}</span><span·class="p">,</span><span·class="w">192 ·</span><span·class="p"·data-group-id="2297420661-2">[</span><span·class="p"·data-group-id="2297420661-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="2297420661-3">}</span><span·class="p">,</span><span·class="w">
193 ··</span><span·class="p"·data-group-id="4611287466-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="4611287466-4">}</span><span·class="p">,</span><span·class="w">193 ··</span><span·class="p"·data-group-id="2297420661-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="2297420661-4">}</span><span·class="p">,</span><span·class="w">
194 ··</span><span·class="p"·data-group-id="4611287466-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-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:·198,·SHA:·ce3f684850ccc9b6d52587db79c0ea5074309f3c9cab1912bd6801e548dc6a29·...·]-5">}</span><span·class="p">,</span><span·class="w">194 ··</span><span·class="p"·data-group-id="2297420661-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-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:·198,·SHA:·1f693ef728ef8d246a831f7b665e2e88f3b61ddf17d89181d4da1ad59a43aa88·...·]-5">}</span><span·class="p">,</span><span·class="w">
195 ··</span><span·class="p"·data-group-id="4611287466-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="4611287466-8">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·de4f06d63b7c0904ad9f59d8d054971ebd6503c3c674f23d9604e43bb4e2fc84·...·]-7">}</span><span·class="p">,</span><span·class="w">195 ··</span><span·class="p"·data-group-id="2297420661-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="2297420661-8">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·f1fce386e544bac34cabbe3890b651df5df4e8663c57e14ae95d68ba7a17f7ac·...·]-7">}</span><span·class="p">,</span><span·class="w">
196 ··</span><span·class="p"·data-group-id="4611287466-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="4611287466-10">]</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·ac5a39e8f682134cb903e87941ff7fbe4bfad8e936c92d83b8b8bb1dc5cf01e7·...·]-9">}</span><span·class="p">,</span><span·class="w">196 ··</span><span·class="p"·data-group-id="2297420661-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="2297420661-10">]</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·7b17df1a4863255614deb850acc043e0e1ef5de2c621818121b054254a42b521·...·]-9">}</span><span·class="p">,</span><span·class="w">
197 ··</span><span·class="p"·data-group-id="4611287466-11">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-12">[</span><span·class="p"·data-group-id="4611287466-13">{</span><span·class="ss">init</span><span·class="[·...·truncated·by·diffoscope;·len:·582,·SHA:·fd5e9f3806f3dae138b3d9c58aa7116db307c1d0f79b8a7b06f940afb621ad35·...·]-11">}</span><span·class="p">,</span><span·class="w">197 ··</span><span·class="p"·data-group-id="2297420661-11">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-12">[</span><span·class="p"·data-group-id="2297420661-13">{</span><span·class="ss">init</span><span·class="[·...·truncated·by·diffoscope;·len:·582,·SHA:·af3bbfa1a6d873c3cb692a92d8bae4c9455d9f94ff6e5f31448724c743c1a018·...·]-11">}</span><span·class="p">,</span><span·class="w">
198 ··</span><span·class="p"·data-group-id="4611287466-17">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-18">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·184,·SHA:·6abfbae7cfae9c8c50c0aac3071db48d53604a14c0c49ce8628ceb5da3ab4f35·...·]-17">}</span><span·class="p">,</span><span·class="w">198 ··</span><span·class="p"·data-group-id="2297420661-17">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-18">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·184,·SHA:·b98530966999ca55266c0f3e3ee4b9ac03fa253535a1f10035478f53f7e91266·...·]-17">}</span><span·class="p">,</span><span·class="w">
199 ··</span><span·class="p"·data-group-id="4611287466-19">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-20">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="461128[·...·truncated·by·diffoscope;·len:·333,·SHA:·582194ab378da6f26c60cdcebb9c95ae54500ec1d3fdfce3982dce193a6b258e·...·]-19">}</span><span·class="p">,</span><span·class="w">199 ··</span><span·class="p"·data-group-id="2297420661-19">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-20">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="229742[·...·truncated·by·diffoscope;·len:·333,·SHA:·3c8429a932a9303f3629c568eb00eee09176f643374ca881c96cadf7393f8d7e·...·]-19">}</span><span·class="p">,</span><span·class="w">
200 ··</span><span·class="p"·data-group-id="4611287466-23">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-24">[</span><span·class="p"·data-group-id="4611287466-25">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·224,·SHA:·c3ce84236d49ae4c9223e495f69559f4a9575a8d75dfb2068d44d9c61e5b4122·...·]-23">}</span><span·class="w">200 ··</span><span·class="p"·data-group-id="2297420661-23">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-24">[</span><span·class="p"·data-group-id="2297420661-25">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·224,·SHA:·4b5822a919cf6a9cdcdb5b962280003861fe174e26dcb04e5e2b9b4e9cafdbe6·...·]-23">}</span><span·class="w">
201 ·</span><span·class="p"·data-group-id="4611287466-2">]</span><span·class="p"·data-group-id="4611287466-1">}</span><span·class="p">.</span><span·class="w">201 ·</span><span·class="p"·data-group-id="2297420661-2">]</span><span·class="p"·data-group-id="2297420661-1">}</span><span·class="p">.</span><span·class="w">
  
202 </span><span·class="p"·data-group-id="4611287466-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="2297420661-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="4611287466-27">[</span><span·class="p"·data-group-id="4611287466-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="4611287466-28">}</span><span·class="p">,</span><span·class="w">203 ·</span><span·class="p"·data-group-id="2297420661-27">[</span><span·class="p"·data-group-id="2297420661-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="2297420661-28">}</span><span·class="p">,</span><span·class="w">
204 ··</span><span·class="p"·data-group-id="4611287466-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="4611287466-29">}</span><span·class="p">,</span><span·class="w">204 ··</span><span·class="p"·data-group-id="2297420661-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="2297420661-29">}</span><span·class="p">,</span><span·class="w">
205 ··</span><span·class="p"·data-group-id="4611287466-30">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-31">[</span><span·class="ss">incl_app_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·201,·SHA:·5accc75cc2267eedea80180b22c573b77f43352fe1cd6dc5ff3c2b3b5b5710d9·...·]-30">}</span><span·class="p">,</span><span·class="w">205 ··</span><span·class="p"·data-group-id="2297420661-30">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-31">[</span><span·class="ss">incl_app_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·201,·SHA:·0e92abd39dfe670625e139b0a7ec7a2c6c1e02e659e95342d83ec70b8b334f57·...·]-30">}</span><span·class="p">,</span><span·class="w">
206 ··</span><span·class="p"·data-group-id="4611287466-32">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-33">[</span><span·class="p"·data-group-id="4611287466-33">]</span><span·class="p"·data-group-id="4611287466-32">}</span><span·class="p">,</span><span·class="w">206 ··</span><span·class="p"·data-group-id="2297420661-32">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-33">[</span><span·class="p"·data-group-id="2297420661-33">]</span><span·class="p"·data-group-id="2297420661-32">}</span><span·class="p">,</span><span·class="w">
207 ··</span><span·class="p"·data-group-id="4611287466-34">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-35">[</span><span·class="p"·data-group-id="4611287466-36">{</span><span·class="ss">go</span><span·class="p"[·...·truncated·by·diffoscope;·len:·266,·SHA:·3ab9627496ede3a278be93702f9c7e0cea2ab66e23fa3724e14689d0abfed87a·...·]-34">}</span><span·class="p">,</span><span·class="w">207 ··</span><span·class="p"·data-group-id="2297420661-34">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-35">[</span><span·class="p"·data-group-id="2297420661-36">{</span><span·class="ss">go</span><span·class="p"[·...·truncated·by·diffoscope;·len:·266,·SHA:·2f37938067992412c9f106eaaa1fea7149743570bdb49b60c1c43bfc5ca88da4·...·]-34">}</span><span·class="p">,</span><span·class="w">
208 ··</span><span·class="p"·data-group-id="4611287466-38">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-39">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·184,·SHA:·17cf4d8f3724b36d5c4446a8dc6005a48673472bd3887403466f415e0c888d54·...·]-38">}</span><span·class="p">,</span><span·class="w">208 ··</span><span·class="p"·data-group-id="2297420661-38">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-39">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·184,·SHA:·6aba755bb5393c1838fda8901df942fee33a1bef7968e0bb3ed2dc379b643a23·...·]-38">}</span><span·class="p">,</span><span·class="w">
209 ··</span><span·class="p"·data-group-id="4611287466-40">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4611287466-41">{</span><span·class="ss">incl_app_cb</span><span·class="p">,</span><span·class="p"·data-group-id="4611287466-42"[·...·truncated·by·diffoscope;·len:·158,·SHA:·d62b6d7ff5f0b95a60682ce71df820b73436ea86bc01a07ac0da8b6ffbd68854·...·]-40">}</span><span·class="w">209 ··</span><span·class="p"·data-group-id="2297420661-40">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2297420661-41">{</span><span·class="ss">incl_app_cb</span><span·class="p">,</span><span·class="p"·data-group-id="2297420661-42"[·...·truncated·by·diffoscope;·len:·158,·SHA:·5d780bf717fb7989a9960bc09ba25e2e9f5655b34aba2d8645326ec297870fb2·...·]-40">}</span><span·class="w">
210 ·</span><span·class="p"·data-group-id="4611287466-27">]</span><span·class="p"·data-group-id="4611287466-26">}</span><span·class="p">.</span></code></pre><p>When·starting·a·primary·application·with·included·applications,·the·primary210 ·</span><span·class="p"·data-group-id="2297420661-27">]</span><span·class="p"·data-group-id="2297420661-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="2478565751-1">(</span><span·class="ss">prim_app</span><span·class="p"·data-group-id="2478565751-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="2177611281-1">(</span><span·class="ss">prim_app</span><span·class="p"·data-group-id="2177611281-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="2478565751-2">(</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2478565751-3">[</span><span·class="p"·data-group-id="2478565751-3">]</span><span·class="p"·data-group-id="2478565751-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="2177611281-2">(</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2177611281-3">[</span><span·class="p"·data-group-id="2177611281-3">]</span><span·class="p"·data-group-id="2177611281-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="2478565751-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="2478565751-5">[</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·65,·SHA:·585939e002877934035823c3fe27a9538c521eb947f550ae1acb8f6d48718e3e·...·]1-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="2177611281-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="2177611281-5">[</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·65,·SHA:·11f229b57c524f707fb3eb53ef097f7f160cd476eac27ab750d3eb822582bff4·...·]1-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="2478565751-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="2478565751-7">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·63,·SHA:·80728a7e8c03d53794c995ae385187cecbaed8408b0108e3f04760d64c895875·...·]1-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="2177611281-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="2177611281-7">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·63,·SHA:·501f3e227b851684a1bdc3fa77df720e3b6d0928889c0d8a6e47611ada78c7e1·...·]1-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="2478565751-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="2478565751-9">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·63,·SHA:·6ccb193ca4509bb4f5b863502a18b2aac3cb505089eb6c6ca889c0457477dd0b·...·]1-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="2177611281-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="2177611281-9">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·63,·SHA:·5ca66c4086de425eca65579bb91b20ab02cef2365d8ab2a91a4c5bdc9db5145e·...·]1-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>278 <p>Copyright·©·1996-2025·<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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>489 <p>Copyright·©·1996-2025·<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="2506753686-1">(</span><span·class="ss">system_version</span><span·class="p"·data-group-id="2506753686-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="4496253274-1">(</span><span·class="ss">system_version</span><span·class="p"·data-group-id="4496253274-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·27·you·have·built·in·the·previous309 doing·this,·preferably·the·plain·27·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="0318796293-1">(</span><span·class="p"·data-group-id="0318796293-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="5718193749-1">(</span><span·class="p"·data-group-id="5718193749-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
326 ····</span><span·class="p"·data-group-id="0318796293-2">{</span><span·class="ss">win32</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="0318796293-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">326 ····</span><span·class="p"·data-group-id="5718193749-2">{</span><span·class="ss">win32</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="5718193749-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="0318796293-3">(</span><span·class="p"·data-group-id="0318796293-3">)</span><span·class="p">;</span><span·class="w">327 ········</span><span·class="nf">do_windows_specific</span><span·class="p"·data-group-id="5718193749-3">(</span><span·class="p"·data-group-id="5718193749-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="0318796293-4">(</span><span·class="p"·data-group-id="0318796293-4">)</span><span·class="w">329 ········</span><span·class="nf">do_fallback_or_exit</span><span·class="p"·data-group-id="5718193749-4">(</span><span·class="p"·data-group-id="5718193749-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2025·<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 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>663 <p>Copyright·©·1996-2025·<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;
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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>176 <p>Copyright·©·1996-2025·<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
78.3 KB
./usr/share/doc/erlang-doc/html/doc/system/list_comprehensions.html
    
Offset 117, 33 lines modifiedOffset 117, 33 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="5161672631-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="516167[·...·truncated·by·diffoscope;·len:·650,·SHA:·ea856694ed43e847cbbc871c0dac2232d940151ef5a3959a592cec67b3141124·...·]-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="9847798985-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="984779[·...·truncated·by·diffoscope;·len:·650,·SHA:·32f3eab4fd0c643090f3782252f41f204eca715b9f1b0def414418cf66d8a315·...·]-1">]</span><span·class="p">.</span><span·class="w">
124 </span><span·class="p"·data-group-id="5161672631-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:·d3c806e85ff4736bce54d2109ac91ba688fe679f4eeae4041b02ca44e0e57b06·...·]-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="9847798985-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:·aba43d08df10fadde46c5be051d75885951bc284a9a5b0a201ce21d74944ef64·...·]-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-15.2.7/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-15.2.7/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="6639909282-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="663990[·...·truncated·by·diffoscope;·len:·862,·SHA:·d8b6ecabd00a616ca664f55a104fc2873acb86e9248dd349eb8b8c3d928b599e·...·]-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="0189211156-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="018921[·...·truncated·by·diffoscope;·len:·862,·SHA:·1a1cfac674d9cc8ce2dad53e8b804f3c834706da4f4ca07e46de2c4250a74263·...·]-1">]</span><span·class="p">.</span><span·class="w">
128 </span><span·class="p"·data-group-id="6639909282-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="6639909282-4">]</span></code></pre><p>Generators·can·be·combined.·For·example,·the·Cartesian·product·of·two·lists·can128 </span><span·class="p"·data-group-id="0189211156-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="0189211156-4">]</span></code></pre><p>Generators·can·be·combined.·For·example,·the·Cartesian·product·of·two·lists·can
129 be·written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="8882662880-1">[</span><span·class="p"·data-group-id="8882662880-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="8882662880-2">}</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·739,·SHA:·997e6e75d8ed4f4ceb90daa85d2d736f58b6ed010f3435834376ed06cd0774f2·...·]-1">]</span><span·class="p">.</span><span·class="w">129 be·written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="4740689519-1">[</span><span·class="p"·data-group-id="4740689519-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="4740689519-2">}</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·739,·SHA:·59d0aeb68fdb8720659188998d5f9e382a10f7b05bd53cb7b0013029cc13c6f8·...·]-1">]</span><span·class="p">.</span><span·class="w">
130 </span><span·class="p"·data-group-id="8882662880-5">[</span><span·class="p"·data-group-id="8882662880-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="8882662880-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·1011,·SHA:·a3442f69b9510ca695ad8202594107d66ce3bc9a9b246a18a0ad6adf36337928·...·]-5">]</span></code></pre><h2·id="quick-sort"·class="section-heading">130 </span><span·class="p"·data-group-id="4740689519-5">[</span><span·class="p"·data-group-id="4740689519-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="4740689519-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·1011,·SHA:·28ef167e3b76a4ce66529556b772a7c0d8ec772d74ccb83c586093971bdc6f10·...·]-5">]</span></code></pre><h2·id="quick-sort"·class="section-heading">
131 ··<a·href="#quick-sort"·class="hover-link">131 ··<a·href="#quick-sort"·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">Quick·Sort</span>134 ··<span·class="text">Quick·Sort</span>
135 </h2>135 </h2>
136 <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="1534290989-1">(</span><span·class="p"·data-group-id="1534290989-2">[</span><span·class="p"·data-group-id="1534290989-2">]</span><span·class="p"·data-group-id="1534290989-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·9a39a96ed17f6552997923fe61c88e0973084dee870ded33e754012bc11da180·...·]9-3">]</span><span·class="p">;</span><span·class="w">136 <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="3762095609-1">(</span><span·class="p"·data-group-id="3762095609-2">[</span><span·class="p"·data-group-id="3762095609-2">]</span><span·class="p"·data-group-id="3762095609-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·455195427fa15d6c27ab8a2609528a4e00e82a5634021b0ebf6137befd862d4d·...·]9-3">]</span><span·class="p">;</span><span·class="w">
137 </span><span·class="nf">sort</span><span·class="p"·data-group-id="1534290989-4">(</span><span·class="p"·data-group-id="1534290989-5">[</span><span·class="p">_</span><span·class="p"·data-group-id="1534290989-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:·32,·SHA:·8f628ba6ce49a367024e8b1928837328825f41b465c5ee74cf51757d862ad78b·...·]9-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">137 </span><span·class="nf">sort</span><span·class="p"·data-group-id="3762095609-4">(</span><span·class="p"·data-group-id="3762095609-5">[</span><span·class="p">_</span><span·class="p"·data-group-id="3762095609-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:·32,·SHA:·b6b5e0f16b980a28598e35e88919ddfc80defae62960b6454bc73a6fbc092cfc·...·]9-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">
138 </span><span·class="nf">sort</span><span·class="p"·data-group-id="1534290989-6">(</span><span·class="p"·data-group-id="1534290989-7">[</span><span·class="n">Pivot</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="1534290989-7">]</span><span·class="p"·data-group-id="1534290989-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">138 </span><span·class="nf">sort</span><span·class="p"·data-group-id="3762095609-6">(</span><span·class="p"·data-group-id="3762095609-7">[</span><span·class="n">Pivot</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="3762095609-7">]</span><span·class="p"·data-group-id="3762095609-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
139 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="1534290989-8">(</span><span·class="p"·data-group-id="1534290989-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:·332,·SHA:·3dde3115333459a34a3731478c7f740c4de4ee2cec851e158c6ddc01f64e2281·...·]9-8">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">139 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="3762095609-8">(</span><span·class="p"·data-group-id="3762095609-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:·332,·SHA:·941f1ebb57e853de60f01b476859d8eb48a98346c0b3e33805f384baf701fb96·...·]9-8">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">
140 ····</span><span·class="p"·data-group-id="1534290989-10">[</span><span·class="n">Pivot</span><span·class="p"·data-group-id="1534290989-10">]</span><span·class="w">·</span><span·class="o">++</span><span·class="w">140 ····</span><span·class="p"·data-group-id="3762095609-10">[</span><span·class="n">Pivot</span><span·class="p"·data-group-id="3762095609-10">]</span><span·class="w">·</span><span·class="o">++</span><span·class="w">
141 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="1534290989-11">(</span><span·class="p"·data-group-id="1534290989-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:·336,·SHA:·543ad4983a998441249d14d9a760152b4d9768f6f5c8e6fa412d05547b13acd4·...·]9-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>141 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="3762095609-11">(</span><span·class="p"·data-group-id="3762095609-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:·336,·SHA:·4832f9fcfad0b5a675113c35c4d05b1669fa72b13478047e82bc9f459532e3ab·...·]9-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>
142 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·greater142 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
143 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·pivot143 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
144 element.</li><li>The·second·sublist·contains·all·elements·that·are·greater·than·or·equal·to144 element.</li><li>The·second·sublist·contains·all·elements·that·are·greater·than·or·equal·to
145 the·pivot·element.</li></ul><ol><li>The·sublists·are·recursively·sorted·by·the·same·algorithm·and·the·results145 the·pivot·element.</li></ul><ol><li>The·sublists·are·recursively·sorted·by·the·same·algorithm·and·the·results
146 are·combined,·resulting·in·a·list·consisting·of:</li></ol><ul><li>All·elements·from·the·first·sublist,·that·is·all·elements·smaller·than·the146 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
147 pivot·element,·in·sorted·order.</li><li>The·pivot·element.</li><li>All·elements·from·the·second·sublist,·that·is·all·elements·greater·than·or147 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
148 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·to148 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 151, 93 lines modifiedOffset 151, 93 lines modified
151 <a·href="../../lib/stdlib-6.2.2/doc/html/lists.html"><code·class="inline">lists</code></a>·module·contains·sorting·functions·that·are·implemented·in·a·more151 <a·href="../../lib/stdlib-6.2.2/doc/html/lists.html"><code·class="inline">lists</code></a>·module·contains·sorting·functions·that·are·implemented·in·a·more
152 efficient·way.</p></section><h2·id="permutations"·class="section-heading">152 efficient·way.</p></section><h2·id="permutations"·class="section-heading">
153 ··<a·href="#permutations"·class="hover-link">153 ··<a·href="#permutations"·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">Permutations</span>156 ··<span·class="text">Permutations</span>
157 </h2>157 </h2>
158 <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="4346469887-1">(</span><span·class="p"·data-group-id="4346469887-2">[</span><span·class="p"·data-group-id="4346469887-2">]</span><span·class="p"·data-group-id="4346469887-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4346469887-3">[</span><span·class="p"·data-group-id="4346469887-4">[</span><span·class="p"·data-group-id="4346469887-4">]</span><span·class="p"·data-group-id="4346469887-3">]</span><span·class="p">;</span><span·class="w"> 
159 </span><span·class="nf">perms</span><span·class="p"·data-group-id="4346469887-5">(</span><span·class="n">L</span><span·class="p"·data-group-id="4346469887-5">)</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p[·...·truncated·by·diffoscope;·len:·1101,·SHA:·cf5d8a9491b2cf236ad1cfa3ef2ac05fdbb87ab9935d6706ce954cc68c7e0438·...·]158 <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="7826138813-1">(</span><span·class="p"·data-group-id="7826138813-2">[·...·truncated·by·diffoscope;·len:·442,·SHA:·b3ecb85d7f7ce408f65b274c5244006d276f15175f6325dc2a80b2e08ffcd26c·...·]
 159 </span><span·class="nf">perms</span><span·class="p"·data-group-id="7826138813-5">(</span><span·class="n">L</span><span·class="p"·data-group-id="7826138813-5">)</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7826138813-6">[</span><span·class="p"·data-group-id="7826138813-7">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="7826138813-7">]</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">H</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">T</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nf">perms</span><span·class="p"·data-group-id="7826138813-8">(</span><span·class="n">L</span><span·class="o">--</span><span·class="p"·data-group-id="7826138813-9">[</span><span·class="n">H</span><span·class="p"·data-group-id="7826138813-9">]</span><span·class="p"·data-group-id="7826138813-8">)</span><span·class="p"·data-group-id="7826138813-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
160 <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>160 <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>
161 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="2683135356-1">(</span><span·class="p"·data-group-id="2683135356-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="2683135356-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·28eb19406cbc68755daac5a078e60e47e086f83180abc5134c339bb704e5acf9·...·]-1">)</span><span·class="p">.</span><span·class="w">161 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="6260768304-1">(</span><span·class="p"·data-group-id="6260768304-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="6260768304-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·6193204550806a682d629e7aee63c9b841c78843fe08fc3f607811eb730479ba·...·]-1">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p"·data-group-id="2683135356-3">[</span><span·class="p"·data-group-id="2683135356-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="2683135356-4">]</span><span[·...·truncated·by·diffoscope;·len:·1301,·SHA:·eec35713d112fa71ed8180c9768a6feb789904c1f53970943e8cc178d8e75e2f·...·]-3">]</span></code></pre><h2·id="pythagorean-triplets"·class="section-heading">162 </span><span·class="p"·data-group-id="6260768304-3">[</span><span·class="p"·data-group-id="6260768304-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="6260768304-4">]</span><span[·...·truncated·by·diffoscope;·len:·1301,·SHA:·21176f66469afe6be3b5a09acf64d4425fc46f29d4fc94011d318d63e441694a·...·]-3">]</span></code></pre><h2·id="pythagorean-triplets"·class="section-heading">
163 ··<a·href="#pythagorean-triplets"·class="hover-link">163 ··<a·href="#pythagorean-triplets"·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">Pythagorean·Triplets</span>166 ··<span·class="text">Pythagorean·Triplets</span>
167 </h2>167 </h2>
168 <p>Pythagorean·triplets·are·sets·of·integers·<code·class="inline">{A,B,C}</code>·such·that168 <p>Pythagorean·triplets·are·sets·of·integers·<code·class="inline">{A,B,C}</code>·such·that
169 <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·that169 <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
170 <code·class="inline">A**2·+·B**2·=·C**2</code>·and·where·the·sum·of·the·sides·is·equal·to,·or·less·than,170 <code·class="inline">A**2·+·B**2·=·C**2</code>·and·where·the·sum·of·the·sides·is·equal·to,·or·less·than,
171 <code·class="inline">N</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">pyth</span><span·class="p"·data-group-id="1087441261-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="1087441261-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">171 <code·class="inline">N</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">pyth</span><span·class="p"·data-group-id="6265024292-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="6265024292-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ····</span><span·class="p"·data-group-id="1087441261-2">[</span><span·class="w">·</span><span·class="p"·data-group-id="1087441261-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="108744[·...·truncated·by·diffoscope;·len:·4,·SHA:·b81d00e65f747a4161b56ab92f400b81862c2bbefe84f220fcefab0399081798·...·]-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">172 ····</span><span·class="p"·data-group-id="6265024292-2">[</span><span·class="w">·</span><span·class="p"·data-group-id="6265024292-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="626502[·...·truncated·by·diffoscope;·len:·4,·SHA:·bcdc35b056897c2743a1371bc4bc1652e8a1c2b7b6fc7c65788bb412b6a0bf52·...·]-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">
173 ········</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="1087441261-4">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="1087441261-4">)</span><span·class="p">,</span><span·class="w">173 ········</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="6265024292-4">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="6265024292-4">)</span><span·class="p">,</span><span·class="w">
174 ········</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="1087441261-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="1087441261-5">)</span><span·class="p">,</span><span·class="w">174 ········</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="6265024292-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="6265024292-5">)</span><span·class="p">,</span><span·class="w">
175 ········</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="1087441261-6">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="1087441261-6">)</span><span·class="p">,</span><span·class="w">175 ········</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="6265024292-6">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="6265024292-6">)</span><span·class="p">,</span><span·class="w">
176 ········</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">176 ········</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">
177 ········</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">177 ········</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">
178 ····</span><span·class="p"·data-group-id="1087441261-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="4917127134-1">(</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·d0cfc8293736547627f9dcd9edb6f0b56e1e7b532333faf174ac3a8c0ce1441f·...·]-1">)</span><span·class="p">.</span><span·class="w">178 ····</span><span·class="p"·data-group-id="6265024292-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="9893052805-1">(</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·36d95e59b482b08bb6d3cf544cd13f0cfdbc73241bd61dca117b2737be88553d·...·]-1">)</span><span·class="p">.</span><span·class="w">
179 </span><span·class="p"·data-group-id="4917127134-2">[</span><span·class="p"·data-group-id="4917127134-2">]</span><span·class="p">.</span><span·class="gp·unselectable">179 </span><span·class="p"·data-group-id="9893052805-2">[</span><span·class="p"·data-group-id="9893052805-2">]</span><span·class="p">.</span><span·class="gp·unselectable">
180 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="4917127134-3">(</span><span·class="mi">11</span><span·class="p"·data-group-id="4917127134-3">)</span><span·class="p">.</span><span·class="w">180 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="9893052805-3">(</span><span·class="mi">11</span><span·class="p"·data-group-id="9893052805-3">)</span><span·class="p">.</span><span·class="w">
181 </span><span·class="p"·data-group-id="4917127134-4">[</span><span·class="p"·data-group-id="4917127134-4">]</span><span·class="p">.</span><span·class="gp·unselectable">181 </span><span·class="p"·data-group-id="9893052805-4">[</span><span·class="p"·data-group-id="9893052805-4">]</span><span·class="p">.</span><span·class="gp·unselectable">
182 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="4917127134-5">(</span><span·class="mi">12</span><span·class="p"·data-group-id="4917127134-5">)</span><span·class="p">.</span><span·class="w">182 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="9893052805-5">(</span><span·class="mi">12</span><span·class="p"·data-group-id="9893052805-5">)</span><span·class="p">.</span><span·class="w">
183 </span><span·class="p"·data-group-id="4917127134-6">[</span><span·class="p"·data-group-id="4917127134-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="4917127134-7">}</span><span[·...·truncated·by·diffoscope;·len:·289,·SHA:·571aa938081ff156eea603fe2fc0c1ef33722a3fa106e664590f7289d40214d2·...·]-6">]</span><span·class="gp·unselectable">183 </span><span·class="p"·data-group-id="9893052805-6">[</span><span·class="p"·data-group-id="9893052805-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="9893052805-7">}</span><span[·...·truncated·by·diffoscope;·len:·289,·SHA:·7366bddad8f4247428a0445a96716a7241f641c2e9cf4ed23724f4501a09a089·...·]-6">]</span><span·class="gp·unselectable">
184 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="4917127134-9">(</span><span·class="mi">50</span><span·class="p"·data-group-id="4917127134-9">)</span><span·class="p">.</span><span·class="w">184 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="9893052805-9">(</span><span·class="mi">50</span><span·class="p"·data-group-id="9893052805-9">)</span><span·class="p">.</span><span·class="w">
185 </span><span·class="p"·data-group-id="4917127134-10">[</span><span·class="p"·data-group-id="4917127134-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="4917127134-11">}</span><span·class="p">,</span><span·class="w">185 </span><span·class="p"·data-group-id="9893052805-10">[</span><span·class="p"·data-group-id="9893052805-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="9893052805-11">}</span><span·class="p">,</span><span·class="w">
186 ·</span><span·class="p"·data-group-id="4917127134-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="4917127134-12">}</span><span·class="p">,</span><span·class="w">186 ·</span><span·class="p"·data-group-id="9893052805-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="9893052805-12">}</span><span·class="p">,</span><span·class="w">
187 ·</span><span·class="p"·data-group-id="4917127134-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="4917127134-13">}</span><span·class="p">,</span><span·class="w">187 ·</span><span·class="p"·data-group-id="9893052805-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="9893052805-13">}</span><span·class="p">,</span><span·class="w">
188 ·</span><span·class="p"·data-group-id="4917127134-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="4917127134-14">}</span><span·class="p">,</span><span·class="w">188 ·</span><span·class="p"·data-group-id="9893052805-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="9893052805-14">}</span><span·class="p">,</span><span·class="w">
189 ·</span><span·class="p"·data-group-id="4917127134-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="4917127134-15">}</span><span·class="p">,</span><span·class="w">189 ·</span><span·class="p"·data-group-id="9893052805-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="9893052805-15">}</span><span·class="p">,</span><span·class="w">
190 ·</span><span·class="p"·data-group-id="4917127134-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="4917127134-16">}</span><span·class="p">,</span><span·class="w">190 ·</span><span·class="p"·data-group-id="9893052805-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="9893052805-16">}</span><span·class="p">,</span><span·class="w">
191 ·</span><span·class="p"·data-group-id="4917127134-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="4917127134-17">}</span><span·class="p">,</span><span·class="w">191 ·</span><span·class="p"·data-group-id="9893052805-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="9893052805-17">}</span><span·class="p">,</span><span·class="w">
192 ·</span><span·class="p"·data-group-id="4917127134-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="4917127134-18">}</span><span·class="p">,</span><span·class="w">192 ·</span><span·class="p"·data-group-id="9893052805-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="9893052805-18">}</span><span·class="p">,</span><span·class="w">
193 ·</span><span·class="p"·data-group-id="4917127134-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="4917127134-19">}</span><span·class="p">,</span><span·class="w">193 ·</span><span·class="p"·data-group-id="9893052805-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="9893052805-19">}</span><span·class="p">,</span><span·class="w">
194 ·</span><span·class="p"·data-group-id="4917127134-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="4917127134-20">}</span><span·class="p">,</span><span·class="w">194 ·</span><span·class="p"·data-group-id="9893052805-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="9893052805-20">}</span><span·class="p">,</span><span·class="w">
195 ·</span><span·class="p"·data-group-id="4917127134-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="4917127134-21">}</span><span·class="p">,</span><span·class="w">195 ·</span><span·class="p"·data-group-id="9893052805-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="9893052805-21">}</span><span·class="p">,</span><span·class="w">
196 ·</span><span·class="p"·data-group-id="4917127134-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="4917127134-22">}</span><span·class="p"·data-group-id="4917127134-10">]</span[·...·truncated·by·diffoscope;·len:·282,·SHA:·f51f7a17f170005afbdb87be91b494921fec0ee209d32c96cd346a803222e4a1·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">196 ·</span><span·class="p"·data-group-id="9893052805-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="9893052805-22">}</span><span·class="p"·data-group-id="9893052805-10">]</span[·...·truncated·by·diffoscope;·len:·282,·SHA:·e4a1638f940ac1cf286acedc2978511acb160690bca3b578a10ace0bc8c75ab9·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ···</span><span·class="p"·data-group-id="5092898572-2">[</span><span·class="p"·data-group-id="5092898572-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="5092898572-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">197 ···</span><span·class="p"·data-group-id="5445096766-2">[</span><span·class="p"·data-group-id="5445096766-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="5445096766-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">
198 ·······</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="5092898572-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="5092898572-4">)</span><span·class="p">,</span><span·class="w">198 ·······</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="5445096766-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="5445096766-4">)</span><span·class="p">,</span><span·class="w">
199 ·······</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="5092898572-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="5092898572-5">)</span><span·class="p">,</span><span·class="w">199 ·······</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="5445096766-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="5445096766-5">)</span><span·class="p">,</span><span·class="w">
200 ·······</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="5092898572-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="5092898572-6">)</span><span·class="p">,</span><span·class="w">200 ·······</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="5445096766-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="5445096766-6">)</span><span·class="p">,</span><span·class="w">
201 ·······</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">201 ·······</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">
202 ·······</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="5092898572-2">]</span><span·class="p">.</span></code></pre><h2·id="simplifications-with-list-comprehensions"·class="section-heading">202 ·······</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="5445096766-2">]</span><span·class="p">.</span></code></pre><h2·id="simplifications-with-list-comprehensions"·class="section-heading">
203 ··<a·href="#simplifications-with-list-comprehensions"·class="hover-link">203 ··<a·href="#simplifications-with-list-comprehensions"·class="hover-link">
204 ····<i·class="ri-link-m"·aria-hidden="true"></i>204 ····<i·class="ri-link-m"·aria-hidden="true"></i>
205 ··</a>205 ··</a>
206 ··<span·class="text">Simplifications·With·List·Comprehensions</span>206 ··<span·class="text">Simplifications·With·List·Comprehensions</span>
207 </h2>207 </h2>
208 <p>As·an·example,·list·comprehensions·can·be·used·to·simplify·some·of·the·functions208 <p>As·an·example,·list·comprehensions·can·be·used·to·simplify·some·of·the·functions
209 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="4373601935-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="4373601935-1">)</span><span·class="w">···</span><span·class="p">-&gt;</span><span·class="w">··</span><span·class="p"·data-group-id="4373601935-2">[</span><span·class="n">X</span><[·...·truncated·by·diffoscope;·len:·411,·SHA:·cebe299a302567eb7f016f7e6aa93ad56e1a9762b26e987cbc83879819ed65d4·...·]-2">]</span><span·class="p">.</span><span·class="w">209 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="8887290301-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="8887290301-1">)</span><span·class="w">···</span><span·class="p">-&gt;</span><span·class="w">··</span><span·class="p"·data-group-id="8887290301-2">[</span><span·class="n">X</span><[·...·truncated·by·diffoscope;·len:·411,·SHA:·4d9a4afd84be3687d5b8b9dfed0a9e2f394b171c875c7d9e412e6d14d7ece4b2·...·]-2">]</span><span·class="p">.</span><span·class="w">
210 </span><span·class="nf">map</span><span·class="p"·data-group-id="4373601935-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="4373601935-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·440,·SHA:·6f1e242106bb0ffbb79376dd0fc123dc3aec5663f4a778a0c01d7c03af953aef·...·]-4">]</span><span·class="p">.</span><span·class="w">210 </span><span·class="nf">map</span><span·class="p"·data-group-id="8887290301-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="8887290301-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·440,·SHA:·fe558d0e6e6f654ac809db4a661e72a30bacc354b8c5b1b8e3be78125f15cfae·...·]-4">]</span><span·class="p">.</span><span·class="w">
211 </span><span·class="nf">filter</span><span·class="p"·data-group-id="4373601935-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="4373601935-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·514,·SHA:·9505fc4c2b22591a1a7fce8c17ca2fb1aa6a7c7f18883735e1e87995618c355d·...·]-7">]</span><span·class="p">.</span></code></pre><h2·id="variable-bindings-in-list-comprehensions"·class="section-heading">211 </span><span·class="nf">filter</span><span·class="p"·data-group-id="8887290301-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="8887290301-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·514,·SHA:·f8df88978a2d9f7456aa1ab2453cfa72111df96988b20f19154a0ba7cc4ad78d·...·]-7">]</span><span·class="p">.</span></code></pre><h2·id="variable-bindings-in-list-comprehensions"·class="section-heading">
212 ··<a·href="#variable-bindings-in-list-comprehensions"·class="hover-link">212 ··<a·href="#variable-bindings-in-list-comprehensions"·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">Variable·Bindings·in·List·Comprehensions</span>215 ··<span·class="text">Variable·Bindings·in·List·Comprehensions</span>
216 </h2>216 </h2>
217 <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;217 <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;
218 variables.</li><li>Any·variables·that·are·defined·before·the·list·comprehension,·and·that·are218 variables.</li><li>Any·variables·that·are·defined·before·the·list·comprehension,·and·that·are
219 used·in·filters,·have·the·values·they·had·before·the·list·comprehension.</li><li>Variables·cannot·be·exported·from·a·list·comprehension.</li></ul><p>As·an·example·of·these·rules,·suppose·you·want·to·write·the·function·<code·class="inline">select</code>,219 used·in·filters,·have·the·values·they·had·before·the·list·comprehension.</li><li>Variables·cannot·be·exported·from·a·list·comprehension.</li></ul><p>As·an·example·of·these·rules,·suppose·you·want·to·write·the·function·<code·class="inline">select</code>,
220 which·selects·certain·elements·from·a·list·of·tuples.·Suppose·you·write220 which·selects·certain·elements·from·a·list·of·tuples.·Suppose·you·write
221 <code·class="inline">select(X,·L)·-&gt;·[Y·||·{X,·Y}·&lt;-·L].</code>·with·the·intention·of·extracting·all221 <code·class="inline">select(X,·L)·-&gt;·[Y·||·{X,·Y}·&lt;-·L].</code>·with·the·intention·of·extracting·all
222 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·as222 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
223 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="6353952634-1">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="6353952634-2">[</span><span·class="p"·data-group-id="6353952634-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span[·...·truncated·by·diffoscope;·len:·754,·SHA:·5bd2e85bd64549c9d5d7b1f7c8108097d5a72984f17d611c925d30578c7bd54e·...·]-1">)</span><span·class="p">.</span><span·class="w">223 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="9545611360-1">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="9545611360-2">[</span><span·class="p"·data-group-id="9545611360-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span[·...·truncated·by·diffoscope;·len:·754,·SHA:·fbf9f45b0941411bd6d4969bcc70585797f7c86c60bbd69edd398a70e0799d27·...·]-1">)</span><span·class="p">.</span><span·class="w">
224 </span><span·class="p"·data-group-id="6353952634-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="6353952634-7">]</span></code></pre><p>This·is·not·the·wanted·result.·To·achieve·the·desired·effect,·<code·class="inline">select</code>·must·be224 </span><span·class="p"·data-group-id="9545611360-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="9545611360-7">]</span></code></pre><p>This·is·not·the·wanted·result.·To·achieve·the·desired·effect,·<code·class="inline">select</code>·must·be
225 written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">select</span><span·class="p"·data-group-id="2809567139-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="2809567139-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">··</span><span·cl[·...·truncated·by·diffoscope;·len:·656,·SHA:·8d7774ba99479cb3895a6112e0176168f5e8b7db17dbe7caa03dd660257525f2·...·]-2">]</span><span·class="p">.</span></code></pre><p>The·generator·now·contains·unbound·variables·and·the·test·has·been·moved·into225 written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">select</span><span·class="p"·data-group-id="4110100672-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="4110100672-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">··</span><span·cl[·...·truncated·by·diffoscope;·len:·656,·SHA:·a6d95e9009e871ae2913b86acd851e679e3a0c389d6238d27b4ae3b07ae53a96·...·]-2">]</span><span·class="p">.</span></code></pre><p>The·generator·now·contains·unbound·variables·and·the·test·has·been·moved·into
226 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="7205691362-1">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="7205691362-2">[</span><span·class="p"·data-group-id="7205691362-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7205691362-3">}</span><span·class="p">,</span><span·class="p"·data-group-id="7205691362-4">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7205691362-4">}</span><span·class="p">,</span><span·class="p"·data-group-id="7205691362-5">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="7205691362-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="7205691362-6">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="7205691362-6">}</span><span·class="p"·data-group-id="7205691362-2">]</span><span·class="p"·data-group-id="7205691362-1">)</span><span·class="p">.</span><span·class="w"> 
227 </span><span·class="p"·data-group-id="7205691362-7">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="7205691362-7">]</span></code></pre><p>Also·note·that·a·variable·in·a·generator·pattern·will·shadow·a·variable·with·the 
228 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="7581477243-1">[</span><span·class="p"·data-group-id="7581477243-2">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p"·data-group-id="7581477243-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="7581477243-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="7581477243-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="7581477243-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="7581477243-4">]</span><span·class="p"·data-group-id="7581477243-1">]</span><span·class="p">.</span><span·class="w"> 
229 </span><span·class="p"·data-group-id="7581477243-5">[</span><span·class="p"·data-group-id="7581477243-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="7581477243-6">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·1775,·SHA:·da3da98c51c0fbd98f9abb8491a7b1b96c8077ed8dd71184411f2b7e778dc40a·...·]226 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="6659442066-1">(</span><span·class="ss">b</span><span·cla[·...·truncated·by·diffoscope;·len:·1006,·SHA:·4f571d07b3afa1a70466e11ab04c5549cb3eb2bfcf6a04c9b0fb74de8ee5e77a·...·]
 227 </span><span·class="p"·data-group-id="6659442066-7">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="6659442066-7">]</span></code></pre><p>Also·note·that·a·variable·in·a·generator·pattern·will·shadow·a·variable·with·the
 228 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="9878851054-1">[</span><span·class="p"·data-group-id="9878851054-2">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p"·data-group-id="9878851054-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="9878851054-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="9878851054-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="9878851054-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="9878851054-4">]</span><span·class="p"·data-group-id="9878851054-1">]</span><span·class="p">.</span><span·class="w">
 229 </span><span·class="p"·data-group-id="9878851054-5">[</span><span·class="p"·data-group-id="9878851054-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="9878851054-6">}</span><span·class="p">,</span><span·class="p"·data-group-id="9878851054-7">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9878851054-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="9878851054-8">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="9878851054-8">}</span><span·class="p">,</span><span·class="p"·data-group-id="9878851054-9">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="9878851054-9">}</span><span·class="p">,</span><span·class="p"·data-group-id="9878851054-10">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9878851054-10">}</span><span·class="p">,</span><span·class="p"·data-group-id="9878851054-11">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="9878851054-11">}</span><span·class="p">,</span><span·class="p"·data-group-id="9878851054-12">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="9878851054-12">}</span><span·class="p">,</span><span·class="p"·data-group-id="9878851054-13">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9878851054-13">}</span><span·class="p">,</span><span·class="p"·data-group-id="9878851054-14">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="9878851054-14">}</span><span·class="p"·data-group-id="9878851054-5">]</span></code></pre><p>A·consequence·of·the·rules·for·importing·variables·into·a·list·comprehensions·is
230 that·certain·pattern·matching·operations·must·be·moved·into·the·filters·and230 that·certain·pattern·matching·operations·must·be·moved·into·the·filters·and
231 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="0652256170-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0652256170-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 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="8875638154-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="8875638154-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</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">232 ····</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">
233 ····</span><span·class="p"·data-group-id="0652256170-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:·3b40a3fc682e655873b70b19425d16ef7f61d6c0653a5504eabce5c38e9af63b·...·]-2">]</span><span·class="w">233 ····</span><span·class="p"·data-group-id="8875638154-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:·aa5d9c8e0dd13ca17554ddb3298cceb69534044cdf0ddbcfb001673c0267a9bf·...·]-2">]</span><span·class="w">
234 ····</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="4915535365-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4915535365-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">234 ····</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="4657686027-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4657686027-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
235 ····</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">235 ····</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="p"·data-group-id="4915535365-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">Y1</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·418,·SHA:·a3a907d313f5c44b4e859f8440b0152c80cde852874cd21bed31374902b74d52·...·]-2">]</span><span·class="w">236 ····</span><span·class="p"·data-group-id="4657686027-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">Y1</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·418,·SHA:·92a12ef04ccd160725867dcbb5bb2726780287fd61504a22641255ffca43dcdf·...·]-2">]</span><span·class="w">
237 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>237 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>
238 </div>238 </div>
  
Max diff block lines reached; 807/79432 bytes (1.02%) of diff not shown.
584 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-6.2.2/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-6.2.2/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="4461782798-1">(</span><span·class="p"·data-group-id="4461782798-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="4461782798-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·2b9c122fdee43e5fcab59b7cc0739b6ed6c32cb8980ceb9181764d21d1af5d97·...·]-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="9050736575-1">(</span><span·class="p"·data-group-id="9050736575-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="9050736575-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·36b497b9507ddbd6b4d7ba31d12fffc31cd0980d0775d89fe5d0d595c5a4c7bf·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
128 ····</span><span·class="p"·data-group-id="4461782798-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">append</span><span·class="p"·data-group-id="4461782798-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:·de57069c885b7bc42aa87cb2bbdb92621f0b035c66dd157eb787cbe57a700cad·...·]-3">]</span><span·class="p">;</span><span·class="w">128 ····</span><span·class="p"·data-group-id="9050736575-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">append</span><span·class="p"·data-group-id="9050736575-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:·52de242f68bb728a516d8e1f9dfe5b4bd5af09d2a4156a88a4ab1dee6995a0ce·...·]-3">]</span><span·class="p">;</span><span·class="w">
129 </span><span·class="nf">append</span><span·class="p"·data-group-id="4461782798-5">(</span><span·class="p"·data-group-id="4461782798-6">[</span><span·class="p"·data-group-id="4461782798-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="4461782798-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="9050736575-5">(</span><span·class="p"·data-group-id="9050736575-6">[</span><span·class="p"·data-group-id="9050736575-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="9050736575-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="4571846032-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="4571846032-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="7333807694-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="7333807694-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="4571846032-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:·55d5253b93eec47190e15aad59557c8b79de9e3bcbc7b784270976e5f4efd278·...·]-2">)</span><span·class="p">.</span><span·class="w">133 ····</span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="7333807694-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:·c045ba0b18dd5caf15b56c3638b490d4c480a2a462398f5f794af4faa4375b86·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
134 </span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="4571846032-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:·69bddd7df512cf34d0cba06063e5433cc4e0cf3d90b0aa4800657a7193f93829·...·]-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="7333807694-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:·f0c4a4b7f8cba3e83a81f0f0bca8b5b709763cb6d4f94841d1cc74dc2bb24739·...·]-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="4571846032-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:·809813580c1f6c58aebafaac17583a8a2d8c3f1fada742001315d1f9fa02f91f·...·]-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="7333807694-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:·d195efcd5e35140b0598ab1c5b543992cf025c0f38466cf0689f66b5271706a9·...·]-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="4571846032-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:·3a3562a0aaf53614decb2a6338424f63f6ae80217c6bba5cf72c297eca4cf581·...·]-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="7333807694-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:·0e3edcb46010ac9ee0f6429681890f596c176e37916847ec3e6fb54d8ed81e18·...·]-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="4643962325-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="4643962325-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="6432662390-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="6432662390-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="4643962325-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:·8b8532e27aefa556989a4d2fcea4568e5719620ac8691a8fdde7a007ead9f1dd·...·]-2">)</span><span·class="p">.</span><span·class="w">140 ····</span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="6432662390-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:·a2adabe7565e8200df844fdf298969276e1633e4c2be79d3c4b414edbe6b144f·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
141 </span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="4643962325-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:·c5a6b383be5cd5229772ac2f48c391a0245fef07c5b915a4008fb891886666cc·...·]-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="6432662390-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:·9c2a883ab74e89113a19a19b6cf30e2ac0e9c71d97c3cd0171ae39781a18bd34·...·]-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="4643962325-5">(</span><span·class="n">Fibs</span><span·class="p"·data-group-id="4643962325-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="6432662390-5">(</span><span·class="n">Fibs</span><span·class="p"·data-group-id="6432662390-5">)</span><span·class="p">;</span><span·class="w">
143 </span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="4643962325-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:·59,·SHA:·90b40cb0af5b95fea9ee7392b1c64e372489330818e2f046e4e61f9e9105330b·...·]-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="6432662390-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:·59,·SHA:·aae7f73eb63b1f66cab0de2327941ea0147606c443855a379e04e8cc88e466aa·...·]-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="4643962325-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:·415,·SHA:·de1ae7f2347b9c2b31d1f828e3193a5d1398b1019099f7122c52d92c1c9f5431·...·]-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="6432662390-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:·415,·SHA:·343cfd089548b713d57b1c1f02ab724235e4f4248f7cde30685488e40c806e0e·...·]-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="7226771247-1">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="7226771247-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="7226771247-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·675,·SHA:·65a9287bc7a2310de9c56666565aa7c75d2df7a271d40b2f8d71da661845d24e·...·]-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="7587900137-1">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="7587900137-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="7587900137-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·675,·SHA:·85d8ed6ad2cc3465b2448a717c2c55d5be58efbb853b7f4a53c980d558b85bce·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
151 ····</span><span·class="p"·data-group-id="1749014897-3">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="1749014897-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="1749014897-4">)</span><span·class="p">|</span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·234,·SHA:·735dbfe5d063669a6ab313c9c4e5c46233490f597c92cf3888678aa7dae3a047·...·]-3">]</span><span·class="p">;</span><span·class="w">151 ····</span><span·class="p"·data-group-id="9389952812-3">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="9389952812-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="9389952812-4">)</span><span·class="p">|</span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·234,·SHA:·72d714d05392352113521f46fc2d9151fce498881fb94a0a7049b82bdac381f0·...·]-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="1749014897-6">(</span><span·class="p"·data-group-id="1749014897-7">[</span><span·class="p"·data-group-id="1749014897-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="1749014897-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1749014897-8">[</span><span·class="p"·data-group-id="1749014897-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="6803775774-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·406,·SHA:·21f8e3ef0ac6dbbf127caf8b9628595748beabf5cf6d340836e2daa51198b8f3·...·]152 </span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="9389952812-6">(</span><span·class="p"·data-group-id="9389952812-7">[</span><span·class="p"·data-group-id="9389952812-7">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·405,·SHA:·32d4ec9ce9a58fff6fde56651e1bb7dfadc6692952a619b5e679147fa55ec32c·...·]
 153 will·not·be·constructed.·For·example,·in·this·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7899054212-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="7899054212-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="7899054212-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="7899054212-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="3747265927-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="3747265927-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="3747265927-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·6dafff16edc2a16986cb255c65f9a895e2af1520ba3526153772c98ec52459b9·...·]-1">]</span><span·class="p">;</span><span·class="w">156 ········</span><span·class="p"·data-group-id="4081779578-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="4081779578-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="4081779578-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·4bbaa8245b387151e833ef4932767b83781f94072ae5ee877693949bea8892bb·...·]-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="3747265927-3">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3747265927-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="4081779578-3">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4081779578-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="7702974489-1">(</span><span·class="p"·data-group-id="7702974489-2">[</span><span·class="n">E</span><span·class="p">|</span><span·class="n">Tail</span><span·class="p"·data-group-id="7702974489-2">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·63,·SHA:·f20c4b18dd8fca412b31407b9c94f59990aba6702ce08835f3242d3b7635a990·...·]-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="0714795207-1">(</span><span·class="p"·data-group-id="0714795207-2">[</span><span·class="n">E</span><span·class="p">|</span><span·class="n">Tail</span><span·class="p"·data-group-id="0714795207-2">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·63,·SHA:·0a0333cb01defe447b0bbd74ebf667fc58c5a897be2edafabbc9064d9757bfff·...·]-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="7702974489-3">(</span><span·class="n">E</span><span·class="p"·data-group-id="7702974489-3">)</span><span·class="p">,</span><span·class="w">162 ····</span><span·class="n">Expr</span><span·class="p"·data-group-id="0714795207-3">(</span><span·class="n">E</span><span·class="p"·data-group-id="0714795207-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="7702974489-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="7702974489-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="0714795207-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="0714795207-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="7702974489-5">(</span><span·class="p"·data-group-id="7702974489-6">[</span><span·class="p"·data-group-id="7702974489-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[·...·truncated·by·diffoscope;·len:·194,·SHA:·219656aa8c16a9365f247b906f0e6892941f10aa2db59b8fd51403b750d043fd·...·]-7">]</span><span·class="p">.</span></code></pre><p>The·compiler·also·understands·that·assigning·to·<code·class="inline">_</code>·means·that·the·value·will164 </span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="0714795207-5">(</span><span·class="p"·data-group-id="0714795207-6">[</span><span·class="p"·data-group-id="0714795207-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[·...·truncated·by·diffoscope;·len:·194,·SHA:·6477d310ea22d4c5bd798af46693af817e0e3cd16ba696b770eec1292af289df·...·]-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-id="2285934554-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="2285934554-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="2285934554-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·84616050776b8f4b3e8b010a67703da42dabbc5a1aeafd3132830ddc3c0c986e·...·]-1">]</span><span·class="p">,</span><span·class="w">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="6126681207-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="6126681207-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="6126681207-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·2d750bfc22355f6086c9e8895002e1e5df83ea5b9329b174101935c24bd95257·...·]-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-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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-15.2.7/doc/html/erlang.html#list_to_binary/1"><code·class="inline">list_to_binary/1</code></a>·or176 <a·href="../../erts-15.2.7/doc/html/erlang.html#list_to_binary/1"><code·class="inline">list_to_binary/1</code></a>·or
177 <a·href="../../erts-15.2.7/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-6.2.2/doc/html/lists.html#append/1"><code·class="inline">lists:append/1</code></a>177 <a·href="../../erts-15.2.7/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-6.2.2/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="8076535686-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="8076535686-1">)</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"[·...·truncated·by·diffoscope;·len:·954,·SHA:·034c30e1f4b97bb3a595831d3d5d49c2c208fc4c4a197693f841bb3499c838ca·...·]-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="0613833576-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="0613833576-1">)</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"[·...·truncated·by·diffoscope;·len:·954,·SHA:·a6d7cd2793f6c13bcf9cb9991ce7f716fc18cda38fe81a441946bb025b150d1c·...·]-1">]</span><span·class="p">,</span><span·class="w">
179 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="3751015095-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="3751015095-2">)</span></code></pre><p>Instead:</p><p><strong>DO</strong></p><pre><code·class[·...·truncated·by·diffoscope;·len:·336,·SHA:·170ba2700da97422874cce0daed929037a557a12a97b1648470c7e40e7cb774d·...·]-1">]</span><span·class="p">,</span><span·class="w">179 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="2703590319-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="2703590319-2">)</span></code></pre><p>Instead:</p><p><strong>DO</strong></p><pre><code·class[·...·truncated·by·diffoscope;·len:·336,·SHA:·82fcea322ed89994fe8a28c91e8cf2b5caf94bdecd3b0a622bcea75665e5ef7c·...·]-1">]</span><span·class="p">,</span><span·class="w">
180 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="4402101959-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="4402101959-2">)</span></code></pre><p><strong>DO</strong></p><pre><code·class="makeup·erlang[·...·truncated·by·diffoscope;·len:·832,·SHA:·d3cb8af1847ce0fb4f108fd5d353529ac8920d3cadd69c1ec3c29a8913810069·...·]-1">)</span><span·class="p">.</span><span·class="w">180 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="5155571854-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="5155571854-2">)</span></code></pre><p><strong>DO</strong></p><pre><code·class="makeup·erlang[·...·truncated·by·diffoscope;·len:·832,·SHA:·c133a31b8ba611dc5ed150ab71cf4ff71611e7faf8b8f3d02984c7d56ca42372·...·]-1">)</span><span·class="p">.</span><span·class="w">
181 </span><span·class="p"·data-group-id="9806334860-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="9806334860-6">]</span></code></pre><p><strong>DO·NOT</strong></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="8068813498-1">(</span><span·class="p"·data-group-id="8068813498-2">[</span><span·class="p"·data-group-id="8068813498-3">[</span><span·class="mi">1</span><span·class="p"·data-group-id="8068813498-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8068813498-4">[</span><span·class="mi">2</span><span·class="p"·data-group-id="8068813498-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8068813498-5">[</span><span·class="mi">3</span><span·class="p"·data-group-id="8068813498-5">]</span><span·class="p"·data-group-id="8068813498-2">]</span><span·class="p"·data-group-id="8068813498-1">)</span><span·class="p">.</span><span·class="w"> 
182 </span><span·class="p"·data-group-id="8068813498-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="8068813498-6">]</span></code></pre><h2·id="recursive-list-functions"·class="sect[·...·truncated·by·diffoscope;·len:·11,·SHA:·d76238685d6674391409a28a2625ed495ed5f23cca412f6778572495a29239df·...·]">181 </span><span·class="p"·data-group-id="5180217164-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="5180217164-6">]</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·clas[·...·truncated·by·diffoscope;·len:·899,·SHA:·625c03fc980c2609e648cfcc98b179218f57222869924304d70bd03303f5122d·...·]">
 182 </span><span·class="p"·data-group-id="5790551002-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="5790551002-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="1095918760-1">(</span><span·class="p"·data-group-id="1095918760-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="1095918760-2">]</span><span·class="p"·data-group-id="1095918760-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="1556367904-1">(</span><span·class="p"·data-group-id="1556367904-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="1556367904-2">]</span><span·class="p"·data-group-id="1556367904-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
191 ····</span><span·class="p"·data-group-id="1095918760-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:·165,·SHA:·fc8976cc1bf099a42f410f2b1b98d9403680a27099fa5bbbb3d82b7c7127c2c2·...·]-3">]</span><span·class="p">;</span><span·class="w">191 ····</span><span·class="p"·data-group-id="1556367904-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:·165,·SHA:·577c60b88a6963f6e2250a022a8bc56608e467098dcbfb54309a9e8ef9ffde7f·...·]-3">]</span><span·class="p">;</span><span·class="w">
192 </span><span·class="nf">add_42_body</span><span·class="p"·data-group-id="1095918760-5">(</span><span·class="p"·data-group-id="1095918760-6">[</span><span·class="p"·data-group-id="1095918760-6">]</span><span·class="p"·data-group-id="1095918760-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="1556367904-5">(</span><span·class="p"·data-group-id="1556367904-6">[</span><span·class="p"·data-group-id="1556367904-6">]</span><span·class="p"·data-group-id="1556367904-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="1095918760-7">[</span><span·class="p"·data-group-id="1095918760-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="1556367904-7">[</span><span·class="p"·data-group-id="1556367904-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="6549597456-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="6549597456-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="7669177029-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="7669177029-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="6549597456-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6549597456-3">[</span><span·class="p"·data-group-id="6549597456-3">]</span><span·class="p"·data-group-id="6549597456-2">)</span><span·class="p">.</span><span·class="w">195 ····</span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="7669177029-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7669177029-3">[</span><span·class="p"·data-group-id="7669177029-3">]</span><span·class="p"·data-group-id="7669177029-2">)</span><span·class="p">.</span><span·class="w">
  
196 </span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="6549597456-4">(</span><span·class="p"·data-group-id="6549597456-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6549597456-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·db08f9423ed8cb0ff9721d08479d2556612a3ebcac6e2a94404ea2ac558d993b·...·]-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="7669177029-4">(</span><span·class="p"·data-group-id="7669177029-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="7669177029-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·05e529b94de672d4e447f3ff5ba6644f9acbb06feb2474b2c2e81cc152598019·...·]-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="6549597456-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6549597456-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:·d42c01bc82a964f0c56b3cd3b4dd33eca6a43083d55b4652f01560031b05981c·...·]-6">)</span><span·class="p">;</span><span·class="w">197 ····</span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="7669177029-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7669177029-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:·8f531f1bdebdc5c201f3e49a599ef323e15807f2c28f74f4075c11f4b86e0071·...·]-6">)</span><span·class="p">;</span><span·class="w">
198 </span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="6549597456-8">(</span><span·class="p"·data-group-id="6549597456-9">[</span><span·class="p"·data-group-id="6549597456-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="6549597456-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="7669177029-8">(</span><span·class="p"·data-group-id="7669177029-9">[</span><span·class="p"·data-group-id="7669177029-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="7669177029-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="6549597456-10">(</span><span·class="n">Acc</span><span·class="p"·data-group-id="6549597456-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="7669177029-10">(</span><span·class="n">Acc</span><span·class="p"·data-group-id="7669177029-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="3215393268-1">(</span><span·class="p"·data-group-id="3215393268-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="3215393268-2">]</span><span·class="p"·data-group-id="3215393268-1">)</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·3de1af8f39b418d54732082a4a24e6c010a712e92c3cd07b0847c31c315bd5ed·...·]-3">)</span><span·class="p">;</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="2302277921-1">(</span><span·class="p"·data-group-id="2302277921-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="2302277921-2">]</span><span·class="p"·data-group-id="2302277921-1">)</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·eea317ed7748d0b5fb6ef793daa16f880bac5ae8040fc67cf3a2e7055ff0b1bd·...·]-3">)</span><span·class="p">;</span><span·class="w">
211 </span><span·class="nf">recursive_sum</span><span·class="p"·data-group-id="3215393268-4">(</span><span·class="p"·data-group-id="3215393268-5">[</span><span·class="p"·data-group-id="3215393268-5">]</span><span·class="p"·data-group-id="3215393268-4">)</span><span·class="w">····</span><span·class="p">-&gt;</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·603,·SHA:·04be1f083fdf2a9d7922b6713f3027571d2ebfdb52c1a802f41653be867b50ac·...·]043-2">)</span><span·class="p">.</span><span·class="w">211 </span><span·class="nf">recursive_sum</span><span·class="p"·data-group-id="2302277921-4">(</span><span·class="p"·data-group-id="2302277921-5">[</span><span·class="p"·data-group-id="2302277921-5">]</span><span·class="p"·data-group-id="2302277921-4">)</span><span·class="w">····</span><span·class="p">-&gt;</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·603,·SHA:·ddd2a0817a9e001ca9c9d9885dcea3e0fed8be9c4a410e552873416d24478a58·...·]043-2">)</span><span·class="p">.</span><span·class="w">
  
212 </span><span·class="nf">sum</span><span·class="p"·data-group-id="7021117043-3">(</span><span·class="p"·data-group-id="7021117043-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="7021117043-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·459,·SHA:·de10298530a0fe10f7d4aa2efa3300a6d65f64d3fb8c217fddca6d0711a8933b·...·]043-5">)</span><span·class="p">;</span><span·class="w">212 </span><span·class="nf">sum</span><span·class="p"·data-group-id="9355651043-3">(</span><span·class="p"·data-group-id="9355651043-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="9355651043-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·459,·SHA:·78a48ef9a19e26f49f9cb2d9ce338059c1c49df8ebccb5ab86cb39cb753b7e6b·...·]043-5">)</span><span·class="p">;</span><span·class="w">
213 </span><span·class="nf">sum</span><span·class="p"·data-group-id="7021117043-6">(</span><span·class="p"·data-group-id="7021117043-7">[</span><span·class="p"·data-group-id="7021117043-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="7021117043-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="9355651043-6">(</span><span·class="p"·data-group-id="9355651043-7">[</span><span·class="p"·data-group-id="9355651043-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="9355651043-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>266 <p>Copyright·©·1996-2025·<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="1853903331-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="1853903331-1">)</span><span·class="p">.</span><span·class="w">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="9060685891-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="9060685891-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="1853903331-2">(</span><span·class="n">File</span><span·class="p"·data-group-id="1853903331-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·included124 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="9060685891-2">(</span><span·class="n">File</span><span·class="p"·data-group-id="9060685891-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-15.2.7/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-15.2.7/doc/html/erlc_cmd.html">erlc</a>·in·ERTS·and
133 <a·href="../../lib/compiler-8.6.1/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="3651634511-1">(</span><span·class="s">&quot;my_records.hrl&quot;</span><span·class="p"·data-group-id="3651634511-1">)</span><span·class="p">.</span><span·class="w">133 <a·href="../../lib/compiler-8.6.1/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="5940143050-1">(</span><span·class="s">&quot;my_records.hrl&quot;</span><span·class="p"·data-group-id="5940143050-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="3651634511-2">(</span><span·class="s">&quot;incdir/my_records.hrl&quot;</span><span·class="p"·data-group-id="3651634511-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="5940143050-2">(</span><span·class="s">&quot;incdir/my_records.hrl&quot;</span><span·class="p"·data-group-id="5940143050-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="3651634511-3">(</span><span·class="s">&quot;/home/user/proj/my_records.hrl&quot;</span><span·class="p"·data-group-id="3651634511-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="5940143050-3">(</span><span·class="s">&quot;/home/user/proj/my_records.hrl&quot;</span><span·class="p"·data-group-id="5940143050-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="3651634511-4">(</span><span·class="s">&quot;$PROJ_ROOT/my_records.hrl&quot;</span><span·class="p"·data-group-id="3651634511-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="5940143050-4">(</span><span·class="s">&quot;$PROJ_ROOT/my_records.hrl&quot;</span><span·class="p"·data-group-id="5940143050-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="8051228687-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="8051228687-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="9887423753-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="9887423753-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="0349706468-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="0349706468-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="0349706468-2">(</span><span·class="n">Func</span><span·class="p"·data-group-id="0349706468-3">(</span><span·class="n">Var1</span><span·class="p">,</span><span·class=[·...·truncated·by·diffoscope;·len:·414,·SHA:·4451cf7c763faed4952e5c036571b9fe1931a1e00d222ec7ee989c7ef94bc45b·...·]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="7896641570-1">(</span><span·class="n">Const</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·138,·SHA:·894e675a02ec5bd69f8d2a75686517f61c7ff26a3e82769f89a579ac8d49186c·...·]
 147 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="7896641570-2">(</span><span·class="n">Func</span><span·class="p"·data-group-id="7896641570-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·class="n">VarN</span><span·class="p"·data-group-id="7896641570-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Replacement</span><span·class="p"·data-group-id="7896641570-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="4442942700-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="4442942700-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="5565747592-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="5565747592-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="4442942700-2">(</span><span·class="n">Request</span><span·class="p"·data-group-id="4442942700-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="5565747592-2">(</span><span·class="n">Request</span><span·class="p"·data-group-id="5565747592-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="4442942700-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:·295,·SHA:·8f342049ce27f3d2260e4426b96278cc17ce4f00ce6c93cc9b8d00dc58fd7cb0·...·]7-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="5565747592-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:·295,·SHA:·998293608ebb8ee5e60b2b051d38a685e49963f102f8433e2f9fbf7713f5a893·...·]7-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="0965291647-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="0965291647-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="4377211857-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="4377211857-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="7544365187-1">(</span><span·class="n">MACRO1</span><span·class="p"·data-group-id="7544365187-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="7544365187-2">)</span><sp[·...·truncated·by·diffoscope;·len:·434,·SHA:·43fc84010bbc12cc986e8f3c38e26f438339d8a2dffb8f6f76fd36e97be6a332·...·]-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="3212331248-1">(</span><span·class="n">MACRO1</span><span·class="p"·data-group-id="3212331248-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="3212331248-2">)</span><sp[·...·truncated·by·diffoscope;·len:·434,·SHA:·5116159086be648d76bff3724b0937a0c40efe59b899cfc0b9d9ca0128a5106d·...·]-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="7544365187-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="7544365187-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="3212331248-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="3212331248-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="7544365187-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="7544365187-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="3212331248-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="3212331248-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="7544365187-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="7544365187-6">)</span></code></pre><p>This·is·expanded·to:</p><pre><code·class="makeup·erlang"·translate[·...·truncated·by·diffoscope;·len:·151,·SHA:·f5c46e460db195cb886bad56cc1a05e5914d152e0f9f39448f79c9f479fad3bd·...·]-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="3212331248-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="3212331248-6">)</span></code></pre><p>This·is·expanded·to:</p><pre><code·class="makeup·erlang"·translate[·...·truncated·by·diffoscope;·len:·151,·SHA:·1c147484f56ff9e923e9e28bafb59fc9208d9447285f4aa91ecd8d0c50116e30·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
163 ····</span><span·class="p"·data-group-id="8130156520-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="8130156520-2">}</span><span·class="p">,</span><span·class="w">163 ····</span><span·class="p"·data-group-id="0852811922-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="0852811922-2">}</span><span·class="p">,</span><span·class="w">
164 ····</span><span·class="p"·data-group-id="8130156520-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="8130156520-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="0852811922-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="0852811922-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="2844185458-1">(</span><span·class="n">F0</span><span·class="p"·data-group-id="2844185458-2">(</span><span·class="p"·data-group-id="2844185458-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:·9d7906e7c76396d3b8cc57e9fe43296116f315d467442d8610e9433e7fcfa48d·...·]-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="7882101983-1">(</span><span·class="n">F0</span><span·class="p"·data-group-id="7882101983-2">(</span><span·class="p"·data-group-id="7882101983-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:·bac4167f0564ab4850c4cdbaafca146c85c924b968f8fbff5f0b031aaa46bb8d·...·]-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="2844185458-3">(</span><span·class="n">F1</span><span·class="p"·data-group-id="2844185458-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="2844185458-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·8824d428c433bbdc04f3a5fb809d3b3a76e2483e59b2023b60a0aca690573aec·...·]-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="7882101983-3">(</span><span·class="n">F1</span><span·class="p"·data-group-id="7882101983-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="7882101983-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·4602f9dda8855a69ca744b939826d17b7a31322ff63b648f1e98bb0684b269f8·...·]-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="2844185458-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="2844185458-5">)</span><span·class="p">.</span></code></pr[·...·truncated·by·diffoscope;·len:·205,·SHA:·9f1b12b6254679f44b89e74c3d61abee103e450b5c243edb894f7dd31a6d72ac·...·]-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="7882101983-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="7882101983-5">)</span><span·class="p">.</span></code></pr[·...·truncated·by·diffoscope;·len:·205,·SHA:·2a1f94cd8402fd60531d1e78c71526224fb5eb2b1d85aca1227d1f3528e44575·...·]-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="9009667468-2">(</span><span·class="n">A</span><span·class="p"·data-group-id="9009667468-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="0319281260-2">(</span><span·class="n">A</span><span·class="p"·data-group-id="0319281260-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="9009667468-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="9009667468-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="0319281260-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="0319281260-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="8064025114-1">(</span><span·class="p"·data-group-id="8064025114-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="0973463865-1">(</span><span·class="p"·data-group-id="0973463865-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="8064025114-2">(</span><span·class="p"·data-group-id="8064025114-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="0973463865-2">(</span><span·class="p"·data-group-id="0973463865-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="7472475537-1">(</span><span·class="n">Macro</span><span·class="p"·data-group-id="7472475537-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="0205163326-1">(</span><span·class="n">Macro</span><span·class="p"·data-group-id="0205163326-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="2169110484-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="2169110484-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="5550342167-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="5550342167-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="2169110484-2">(</span><span·class="ss">debug</span><span·class="p"·data-group-id="2169110484-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="5550342167-2">(</span><span·class="ss">debug</span><span·class="p"·data-group-id="5550342167-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="2169110484-3">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="2169110484-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="2169110484-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">io</span><spa[·...·truncated·by·diffoscope;·len:·740,·SHA:·efc8b0e05a17877de269f090cba9286a368e069567b3bb036a163bf1ef3ce31e·...·]-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="5550342167-3">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="5550342167-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="5550342167-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">io</span><spa[·...·truncated·by·diffoscope;·len:·740,·SHA:·eebb65427a14df4e2ad5b4a4a42eca330559b5f3e906daeb8210c399b502bdba·...·]-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="2169110484-7">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="2169110484-8">(</span><span·class="n">X</span><span·class="p"·data-group-id="2169110484-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·b861e8178ef405d76048a3bf4cffffe843b71d9a8baf07d398bb3e6c7db76a36·...·]-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="5550342167-7">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="5550342167-8">(</span><span·class="n">X</span><span·class="p"·data-group-id="5550342167-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·07bfb8606c9500346d3491e42cd5a76dea77f9824dd71d8b9369128bafe4afa9·...·]-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="5798932102-1">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5798932102-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:·b9c16e4e04055b74a54c494744a9f84821f1965d1fc0d19ed7fa2ee6e6bbd66e·...·]-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="2388610001-1">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2388610001-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:·a9d03c9ef08c470cd3034a9971f605fd4b4b9757ebbe1585a86192ee46018748·...·]-1">)</span><span·class="p">.</span><span·class="w">
238 </span><span·class="p"·data-group-id="5798932102-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">m</span><span·class="p"·data-group-id="5798932102-3">}</span></code></pre><p><code·class="inline">?LOG(Arg)</code>·is·then·expanded·to·a·call·to·<a·href="../../lib/stdlib-6.2.2/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="9062459477-1">(</span><span·class="ss">m</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·51,·SHA:·071560c95776f694ad9dea83a3d1389148651c695cd9e50daa751fae738d95e1·...·]238 </span><span·class="p"·data-group-id="2388610001-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">m</span><span·class="p"·data-group-id="2388610001-3">}</span></code></pre><p><code·class="inline">?LOG(Arg)</code>·is·then·expand[·...·truncated·by·diffoscope;·len:·139,·SHA:·ccde24393d2291c3df2989f7e1a83c4178d0237fc21fc7999575bf9375a21423·...·]
 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="9308045014-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="9308045014-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="9062459477-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="9062459477-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="9308045014-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="9308045014-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="9062459477-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="9062459477-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="9308045014-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="9308045014-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="1201136761-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="1201136761-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="4980269122-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="4980269122-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="1201136761-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:·2a6bdd1c8ac3b8ec1e2e830e4316f127b0e220d86efe04a38467a678ca3e4697·...·]-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="4980269122-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:·de1a51a51a3a95ba61363cd267e563998827a4401cc265f288098bcd61964376·...·]-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">
Max diff block lines reached; 18903/60406 bytes (31.29%) of diff not shown.
736 B
html2text {}
Max HTML report size reached
36.3 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-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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="7642174977-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">·</sp[·...·truncated·by·diffoscope;·len:·125,·SHA:·433ca705e8c6b8684689223806d1852060514d2bcd56e9e22d9aef502b188439·...·]-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="7098766788-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">·</sp[·...·truncated·by·diffoscope;·len:·125,·SHA:·d019bbf39cf24ca3efc5b462252e41cb313ff08ac9543ecd903fb9724577c072·...·]-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="7642174977-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="7642174977-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="7098766788-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="7098766788-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-6.2.2/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-6.2.2/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="1094716503-1">(</span><span·class="p"·data-group-id="1094716503-2">[</span><span·class="p"·data-group-id="1094716503-3">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1094716503-3">}</[·...·truncated·by·diffoscope;·len:·99,·SHA:·c5ef826075b0d6e824b0491d1de6b8459c3eb65919fd908293e83febd771680f·...·]-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="8190278111-1">(</span><span·class="p"·data-group-id="8190278111-2">[</span><span·class="p"·data-group-id="8190278111-3">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="8190278111-3">}</[·...·truncated·by·diffoscope;·len:·99,·SHA:·81efda27a061ab4f5d9e6aae4d6966e284355df8fa7e378f61614d0a8623f0e0·...·]-1">)</span><span·class="p">.</span><span·class="w">
175 </span><span·class="p"·data-group-id="1094716503-4">#{</span><span·class="p"·data-group-id="1094716503-4">}</span><span·class="gp·unselectable">175 </span><span·class="p"·data-group-id="8190278111-4">#{</span><span·class="p"·data-group-id="8190278111-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="1094716503-5">(</span><span·class="p"·data-group-id="1094716503-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="1094716503-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1094716503-7">[</span><span·class="p"·data-group-id="1094716503-8">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1094716503-8">}</span><span·class="p"·data-group-id="1094716503-7">]</span><span·class="p"·data-group-id="1094716503-5">)</span><span·class="p">.</span><span·class="w"> 
177 </span><span·class="p"·data-group-id="1094716503-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="1094716503-10">[</span><span·class="p"·data-group-id="109471650[·...·truncated·by·diffoscope;·len:·655,·SHA:·4db84d3e72aec30a7a8559a1c1953c94a8f6ee1561cf3add76c3683b9a11e07f·...·]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="8190278111-5">(</span><span·class="p"·data-group-id="8190278111-6">[</span><span·class="ss">x</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·557,·SHA:·0066dd2fae6a3095f8f5958699ccbce63e882029ad987a2f84b57e59b718a091·...·]
 177 </span><span·class="p"·data-group-id="8190278111-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="8190278111-10">[</span><span·class="p"·data-group-id="8190278111-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="8190278111-11">[</span><span·class="p"·data-group-id="8190278111-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="8190278111-12">[</span><span·class="p"·data-group-id="8190278111-12">]</span><span·class="p"·data-group-id="8190278111-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-6.2.2/doc/html/ordsets.html#intersection/2"><code·class="inline">ordsets:intersection/2</code></a>·can·be·more·efficient·than·<a·href="../../lib/stdlib-6.2.2/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-6.2.2/doc/html/ordsets.html#intersection/2"><code·class="inline">ordsets:intersection/2</code></a>·can·be·more·efficient·than·<a·href="../../lib/stdlib-6.2.2/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-6.2.2/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-6.2.2/doc/html/ordsets.html"><code·class="inline">ordsets</code></a>·can
181 be·a·better·choice·than·<a·href="../../lib/stdlib-6.2.2/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-6.2.2/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-6.2.2/doc/html/gb_sets.html"><code·class="inline">gb_sets</code></a>·can·potentially·be·a·better·choice·than·<a·href="../../lib/stdlib-6.2.2/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-6.2.2/doc/html/gb_sets.html"><code·class="inline">gb_sets</code></a>·can·potentially·be·a·better·choice·than·<a·href="../../lib/stdlib-6.2.2/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;"><em>2</em></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;"><em>3</em></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;"><em>2</em></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;"><em>3</em></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;"><em>3</em></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;"><em>3</em></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="6089292873-1">(</span><span·class="p"·data-group-id="6089292873-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="1316735594-1">(</span><span·class="p"·data-group-id="1316735594-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ····</span><span·class="p"·data-group-id="6089292873-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:·c64a21c0094728a0db1090bbf54014a50bd6fecdcc5dd0bef32f2a21cea1010c·...·]-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="1316735594-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:·e2485b949e744f365d1736a5e9cf88b30fe6e1784c1c3150cea99b3e74449f8d·...·]-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="5123175063-1">(</span><span·class="n">SOME_MODULE</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="5123175063-2">(</span><span·class="p"·data-group-id="5123175063-2">)</span><span·class="p"·data-group-id="5123175063-1[·...·truncated·by·diffoscope;·len:·229,·SHA:·4652e38c5619e26e46ce98b735025e41d90c1502e6f79f7fed62286160fd18e5·...·]-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="3319123591-1">(</span><span·class="n">SOME_MODULE</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="3319123591-2">(</span><span·class="p"·data-group-id="3319123591-2">)</span><span·class="p"·data-group-id="3319123591-1[·...·truncated·by·diffoscope;·len:·229,·SHA:·6fa43418adb73e2a0c3f6b7906ffa0b07b8ea4ee50d6013e5d61d6ba746bf29e·...·]-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-6.2.2/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-6.2.2/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="0817166358-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:·ee8a354c03417e5b754e37cbbe6fb403263c57ecdd959712b9d5822a1af3d3e1·...·]-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="4715940831-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:·08a380b7c35441de8064e8682a1df51e5f1c47fd1015343d0d2d2ccf956a9603·...·]-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="5122378619-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="5122378619-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="6648118988-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="6648118988-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="5122378619-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="5122378619-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="6648118988-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="6648118988-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="3201864160-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:·274,·SHA:·f81bbc5c5ad38f7b1c3b5441c0ee18ec73cad3fcbe63a33a68b5f210a24a56a2·...·]60-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="1377588760-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:·274,·SHA:·b6d2fe1b365ace69002a5e78971908d7a20b50e50de1d111901613ca6d9a3634·...·]60-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="6675530719-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="6675530719-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="9122512768-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="9122512768-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="6675530719-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="6675530719-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="9122512768-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="9122512768-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="6675530719-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="6675530719-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="9122512768-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="9122512768-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-6.2.2/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-6.2.2/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="3490375441-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="3490375441-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="0215223731-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="0215223731-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="3490375441-2">#{</span><span·class="p"·data-group-id="3490375441-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="0215223731-2">#{</span><span·class="p"·data-group-id="0215223731-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-6.2.2/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-6.2.2/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="6121666301-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><s[·...·truncated·by·diffoscope;·len:·420,·SHA:·c256cf41dd40d38022ce20d62cf3c66b6a4303b752f10ac97fb74c4b6d05db04·...·]-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="9294644390-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><s[·...·truncated·by·diffoscope;·len:·420,·SHA:·a4f860f235ea746c37ce3e816716b80cb46cf91415172874e8185c7dcf2ed068·...·]-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="6121666301-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="6121666301-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="9294644390-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="9294644390-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-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>524 <p>Copyright·©·1996-2025·<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;
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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>223 <p>Copyright·©·1996-2025·<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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>242 <p>Copyright·©·1996-2025·<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="0698938607-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="0698938607-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="0698938607-2">(</span><span·class="p"·data-group-id="0698938607-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class=[·...·truncated·by·diffoscope;·len:·134,·SHA:·8db7cc81cb0add6b78803fe14609ec3cf23e4c5c30bf60f3b4a305aaa3304699·...·]···</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-i[·...·truncated·by·diffoscope;·len:·150,·SHA:·54b52adf707d99c5566e0caae9aa05558f37f26d05ca4bc205be3b42ea2da65c·...·]···</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="1824572350-2">(</span><span·class="p"·data-group-id="1824572350-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="1824572350-3">]</span><span·class="p"·data-group-id="1824572350-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="0698938607-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="0698938607-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="1824572350-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="1824572350-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="0698938607-5">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="0698938607-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="1824572350-5">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="1824572350-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="0698938607-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="0698938607-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="1824572350-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="1824572350-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="7237260948-1">(</span><span·class="n">Behaviour</span><span·class="p"·data-group-id="7237260948-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="7686345470-1">(</span><span·class="n">Behaviour</span><span·class="p"·data-group-id="7686345470-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="6369000221-1">(</span><span·class="ss">callbacks</span><span·class="p"·data-group-id="6369000221-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>o[·...·truncated·by·diffoscope;·len:·367,·SHA:·ed44193a6b9764e41dfae747bfa414c04c28249d0ff2acd31008a616961513a2·...·]-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="6744263763-1">(</span><span·class="ss">callbacks</span><span·class="p"·data-group-id="6744263763-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>o[·...·truncated·by·diffoscope;·len:·367,·SHA:·d885e98db226ca4d2c6d9ab308967d7f5f2ff86270c514dcd6e9b449f13d1a35·...·]-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/spec_proc.html#behaviours">OTP·Design·Principles</a>.</p><h3·id="record-definitions"·class="section-heading">188 <a·href="../../doc/system/spec_proc.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="4671223649-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="4671223649-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="2867945845-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="2867945845-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="4590650222-1">(</span><span·class="s">&quot;SomeFile.hrl&quot;</span><span·class="p"·data-group-id="4590650222-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="1714479650-1">(</span><span·class="s">&quot;SomeFile.hrl&quot;</span><span·class="p"·data-group-id="1714479650-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="4590650222-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="4590650222-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="1714479650-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="1714479650-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="2651717166-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="2651717166-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="2973851579-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="2973851579-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="1753570975-1">(</span><span·class="p"·data-group-id="1753570975-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="1753570975-2">(</span><span·class="p"·data-group-id="1753570975-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="1753570975-3">(</span><span·class="p"·data-group-id="1753570975-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="1753570975-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="1753570975-5">(</span><[·...·truncated·by·diffoscope;·len:·467,·SHA:·8a97a93bc1cc77937d994eec986d03af4feeef9610e55d97175ba42b3c44d26e·...·]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="0505904676-1">(</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·512,·SHA:·5c01f2301a88dd00fe49eaf63128cfe5747b376741a3b255e9b1349c3107f691·...·]
 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="0505904676-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="0505904676-5">(</span><span·class="p"·data-group-id="0505904676-5">)</span><span·class="p"·data-group-id="0505904676-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="0505904676-6">(</span><span·class="p"·data-group-id="0505904676-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="1364730418-1">(</span><span·class="s">&quot;Example·documentation&quot;</span><span·class="p"·data-group-id="1364730418-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="2752808069-1">(</span><span·class="s">&quot;Example·documentation&quot;</span><span·class="p"·data-group-id="2752808069-1">)</span><span·class="p">.</span><span·class="w">
231 </span><span·class="nf">example</span><span·class="p"·data-group-id="1364730418-2">(</span><span·class="p"·data-group-id="1364730418-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="2752808069-2">(</span><span·class="p"·data-group-id="2752808069-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="0843123495-1">(</span><span·class="s">&quot;Example·\&quot;docs\&quot;&quot;</span><span·class="p"·data-group-id="0843123495-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="2453516366-1">(</span><span·class="s">&quot;Example·\&quot;docs\&quot;&quot;</span><span·class="p"·data-group-id="2453516366-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="0843123495-2">(</span><span·class="p"·data-group-id="0843123495-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="0843123495-3">&gt;&gt;</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·2356a98ee8c376ec91b46b766062ee85b3d70b2e81df7e02f779f9db2c7cc224·...·]-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="2453516366-2">(</span><span·class="p"·data-group-id="2453516366-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="2453516366-3">&gt;&gt;</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·396b9dac48b627fb2174a07e3f8142116b86b9a2886795d404b5892cbdf80a09·...·]-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.2.7/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.2.7/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="9436251339-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"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·4d42dbb458abf46f7e2cb20fda0eb88005002b810f867b501ef115d959692389·...·]9-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="8163621449-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"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·1017a7b7ffa5d7c657bc22cbd85f2b44396918f709f9c20d57da24ae72de18d0·...·]9-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>352 <p>Copyright·©·1996-2025·<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-15.2.7/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-15.2.7/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="8871238187-1">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="8871238187-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="5401237073-1">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="5401237073-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="8871238187-2">(</span><span·class="p"·data-group-id="8871238187-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:·113,·SHA:·6bd3df5686f934467578252e8ea108410d4fc0cc8743abd37ee6ab5f5763887d·...·]-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="5401237073-2">(</span><span·class="p"·data-group-id="5401237073-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:·113,·SHA:·f37b128e3b90d618ff914f4f20a15b32a8b966ed5c5cd38bbc9a67a04100d699·...·]-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="8871238187-4">(</span><span·class="p"·data-group-id="8871238187-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:·12b0e549d90d16a04af41dd90bbbaee54367e8311ace92a95bc6d010fa663e41·...·]-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="5401237073-4">(</span><span·class="p"·data-group-id="5401237073-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:·f3090ddc954496bbd1f783e1be9050d5b760e697a67c01b0a2dcafa7475a2dbf·...·]-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="8871238187-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="8871238187-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="5401237073-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5401237073-6">)</span><span·class="p">.</span><span·class="w">
  
144 </span><span·class="nf">init</span><span·class="p"·data-group-id="8871238187-7">(</span><span·class="p"·data-group-id="8871238187-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="5401237073-7">(</span><span·class="p"·data-group-id="5401237073-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="8871238187-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="8871238187-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="5401237073-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="5401237073-8">)</span><span·class="p">.</span><span·class="w">
  
146 </span><span·class="nf">foo</span><span·class="p"·data-group-id="8871238187-9">(</span><span·class="p">_</span><span·class="n">X</span><span·class="p"·data-group-id="8871238187-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="5401237073-9">(</span><span·class="p">_</span><span·class="n">X</span><span·class="p"·data-group-id="5401237073-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="8871238187-10">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="8871238187-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="5401237073-10">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="5401237073-10">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="nf">bar</span><span·class="p"·data-group-id="8871238187-11">(</span><span·class="p">_</span><span·class="n">Y</span><span·class="p"·data-group-id="8871238187-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="5401237073-11">(</span><span·class="p">_</span><span·class="n">Y</span><span·class="p"·data-group-id="5401237073-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="8871238187-12">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="8871238187-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="5401237073-12">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="5401237073-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="9256030587-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="9256030587-1">)</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·1129,·SHA:·2cd34b6253ab0cfb6f6eec370f18d19218f4424ca1a240b9c57378f14f6943ca·...·]7-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="1994782947-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="1994782947-1">)</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·1129,·SHA:·8a1af0cf8095923179bd91484cf2ee0542d7066ac0c049749f64541068afef25·...·]7-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="9256030587-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="9256030587-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="1994782947-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="1994782947-7">)</span><span·class="gp·unselectable">
218 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="9256030587-8">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="9256030587-8">)</span><span·class="p">.</span><span·class="w">218 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="1994782947-8">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="1994782947-8">)</span><span·class="p">.</span><span·class="w">
219 </span><span·class="p"·data-group-id="9256030587-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex6</span><span·class="p"·data-group-id="9256030587-9">}</span></code></pre><p><em>Step·3:</em>·Run·the·example:</p><pre><code·class="makeup·erlang"·translate="no[·...·truncated·by·diffoscope;·len:·246,·SHA:·b2381a7d8045b3f187bb4715c3072c5402717154987141accd7976cd2f16b84c·...·]0-1">)</span><span·class="p">.</span><span·class="w">219 </span><span·class="p"·data-group-id="1994782947-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex6</span><span·class="p"·data-group-id="1994782947-9">}</span></code></pre><p><em>Step·3:</em>·Run·the·example:</p><pre><code·class="makeup·erlang"·translate="no[·...·truncated·by·diffoscope;·len:·246,·SHA:·f591ac6e396f275c0002c4960f3700a905ce16117c8b0f568d8696a9b7bc8686·...·]0-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="5594297660-2">(</span><span·class="mi">5</span><span·class="p"·data-group-id="5594297660-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="1957806130-2">(</span><span·class="mi">5</span><span·class="p"·data-group-id="1957806130-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="5594297660-3">(</span><span·class="s">&quot;not·an·integer&quot;</span><span·class="p"·data-group-id="5594297660-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="1957806130-3">(</span><span·class="s">&quot;not·an·integer&quot;</span><span·class="p"·data-group-id="1957806130-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>276 <p>Copyright·©·1996-2025·<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
10.8 KB
./usr/share/doc/erlang-doc/html/doc/system/opaques.html
    
Offset 122, 24 lines modifiedOffset 122, 24 lines modified
122 ··<span·class="text">Opaque·Type·Aliases</span>122 ··<span·class="text">Opaque·Type·Aliases</span>
123 </h2>123 </h2>
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><p>This·document·explains·what·Erlang·opacity·is·(and·the·trade-offs·involved)·via127 the·rest·is·up·to·convention.</p><p>This·document·explains·what·Erlang·opacity·is·(and·the·trade-offs·involved)·via
128 the·example·of·the·<a·href="../../lib/stdlib-6.2.2/doc/html/sets.html#t:set/0"><code·class="inline">sets:set()</code></a>·data·type.·This·type·<em>was</em>128 the·example·of·the·<a·href="../../lib/stdlib-6.2.2/doc/html/sets.html#t:set/0"><code·class="inline">sets:set()</code></a>·data·type.·This·type·<em>was</em>
129 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="3855790619-1">(</span><span·class="n">Element</span><span·class="p"·data-group-id="3855790619-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><spa[·...·truncated·by·diffoscope;·len:·378,·SHA:·5c828b1429d3adb7507be7e38ad4b869c742fcc0d8f28d5c602e505c71a1720b·...·]-2">}</span><span·class="p">.</span></code></pre><p>OTP·24·changed·the·definition·to·the·following·in129 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="4417322538-1">(</span><span·class="n">Element</span><span·class="p"·data-group-id="4417322538-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><spa[·...·truncated·by·diffoscope;·len:·378,·SHA:·be3f88f6efb22477031d278ff3760fde6247cf532fa568e83ec4dc1465021ff7·...·]-2">}</span><span·class="p">.</span></code></pre><p>OTP·24·changed·the·definition·to·the·following·in
130 <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="9180486158-1">(</span><span·class="n">Element</span><span·class="p"·data-group-id="9180486158-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><spa[·...·truncated·by·diffoscope;·len:·715,·SHA:·6bd02ffb42416a067e26f5c3097828d86062af3b99da7110cd1761a2a7061b29·...·]-4">}</span><span·class="p">.</span></code></pre><p>And·this·change·was·safer·and·more·backwards-compatible·than·if·the·type·had130 <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="2204991275-1">(</span><span·class="n">Element</span><span·class="p"·data-group-id="2204991275-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><spa[·...·truncated·by·diffoscope;·len:·715,·SHA:·64d4198c89b4b89a285135adadc32e2eeed2f0339f076cc55e2f2907c90d1711·...·]-4">}</span><span·class="p">.</span></code></pre><p>And·this·change·was·safer·and·more·backwards-compatible·than·if·the·type·had
131 been·defined·with·<code·class="inline">-type</code>·instead·of·<code·class="inline">-opaque</code>.·Here·is·why:·when·a·module131 been·defined·with·<code·class="inline">-type</code>·instead·of·<code·class="inline">-opaque</code>.·Here·is·why:·when·a·module
132 defines·an·<code·class="inline">-opaque</code>,·the·contract·is·that·only·the·defining·module·should·rely132 defines·an·<code·class="inline">-opaque</code>,·the·contract·is·that·only·the·defining·module·should·rely
133 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·technically133 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
134 broke·the·contract,·and·opted·in·to·being·potentially·broken·when·the·definition134 broke·the·contract,·and·opted·in·to·being·potentially·broken·when·the·definition
135 of·<code·class="inline">set()</code>·changed.·Before·OTP·24,·this·code·printed·<code·class="inline">ok</code>.·In·OTP·24·it·may135 of·<code·class="inline">set()</code>·changed.·Before·OTP·24,·this·code·printed·<code·class="inline">ok</code>.·In·OTP·24·it·may
136 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="0783357464-1">(</span><span·class="p"·data-group-id="0783357464-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">136 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="4324250486-1">(</span><span·class="p"·data-group-id="4324250486-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
137 ····</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="0783357464-2">(</span><span·class="n">Set</span><span·class="p"·data-group-id="0783357464-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">137 ····</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="4324250486-2">(</span><span·class="n">Set</span><span·class="p"·data-group-id="4324250486-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
138 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0783357464-3">(</span><span·class="s">&quot;ok&quot;</span><span·class="p"·data-group-id="0783357464-3">)</span><span·class="w">138 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4324250486-3">(</span><span·class="s">&quot;ok&quot;</span><span·class="p"·data-group-id="4324250486-3">)</span><span·class="w">
139 </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·some139 </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
140 recommendations:</strong></p><ul><li>Don't·examine·the·underlying·type·using·pattern-matching,·guards,·or·functions140 recommendations:</strong></p><ul><li>Don't·examine·the·underlying·type·using·pattern-matching,·guards,·or·functions
141 that·reveal·the·type,·such·as·<a·href="../../erts-15.2.7/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>·.</li><li>Instead,·use·functions·provided·by·the·module·for·working·with·the·type.·For141 that·reveal·the·type,·such·as·<a·href="../../erts-15.2.7/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>·.</li><li>Instead,·use·functions·provided·by·the·module·for·working·with·the·type.·For
142 example,·<code·class="inline">sets</code>·module·provides·<a·href="../../lib/stdlib-6.2.2/doc/html/sets.html#new/0"><code·class="inline">sets:new/0</code></a>,·<a·href="../../lib/stdlib-6.2.2/doc/html/sets.html#add_element/2"><code·class="inline">sets:add_element/2</code></a>,142 example,·<code·class="inline">sets</code>·module·provides·<a·href="../../lib/stdlib-6.2.2/doc/html/sets.html#new/0"><code·class="inline">sets:new/0</code></a>,·<a·href="../../lib/stdlib-6.2.2/doc/html/sets.html#add_element/2"><code·class="inline">sets:add_element/2</code></a>,
143 <a·href="../../lib/stdlib-6.2.2/doc/html/sets.html#is_element/2"><code·class="inline">sets:is_element/2</code></a>,·and·so·on.</li><li><p><a·href="../../lib/stdlib-6.2.2/doc/html/sets.html#t:set/1"><code·class="inline">sets:set(a)</code></a>·is·a·subtype·of·<code·class="inline">sets:set(a·|·b)</code>·and·not·the143 <a·href="../../lib/stdlib-6.2.2/doc/html/sets.html#is_element/2"><code·class="inline">sets:is_element/2</code></a>,·and·so·on.</li><li><p><a·href="../../lib/stdlib-6.2.2/doc/html/sets.html#t:set/1"><code·class="inline">sets:set(a)</code></a>·is·a·subtype·of·<code·class="inline">sets:set(a·|·b)</code>·and·not·the
144 other·way·around.·Generally,·you·can·rely·on·the·property·that·<code·class="inline">the_opaque(T)</code>144 other·way·around.·Generally,·you·can·rely·on·the·property·that·<code·class="inline">the_opaque(T)</code>
145 is·a·subtype·of·<code·class="inline">the_opaque(U)</code>·when·T·is·a·subtype·of·U.</p></li></ul><p><strong>When·defining·your·own·opaques,·here·are·some·recommendations:</strong></p><ul><li>Since·consumers·are·expected·to·not·rely·on·the·definition·of·the·opaque·type,145 is·a·subtype·of·<code·class="inline">the_opaque(U)</code>·when·T·is·a·subtype·of·U.</p></li></ul><p><strong>When·defining·your·own·opaques,·here·are·some·recommendations:</strong></p><ul><li>Since·consumers·are·expected·to·not·rely·on·the·definition·of·the·opaque·type,
Offset 205, 15 lines modifiedOffset 205, 15 lines modified
205 ······<p·class="built-using">205 ······<p·class="built-using">
206 ········Built·using206 ········Built·using
207 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the207 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
208 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>208 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
209 ······</p>209 ······</p>
210 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>210 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
211 ····</footer>211 ····</footer>
212 ··</div>212 ··</div>
213 </main>213 </main>
214 </div>214 </div>
215 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>215 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
216 ··<script>216 ··<script>
217 ··let·initialized·=·false;217 ··let·initialized·=·false;
832 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="6716705611-1">(</span><span·class="p"·data-group-id="6716705611-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="5876619699-1">(</span><span·class="p"·data-group-id="5876619699-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.1.1/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.1.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>259 <p>Copyright·©·1996-2025·<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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>312 <p>Copyright·©·1996-2025·<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="1691162351-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="1691162351-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·177,·SHA:·8638d8856712f25ee66220c6b047bc61f6b34b1aec6257c58ea6b3f9986def4e·...·]-2">}</span><span·class="p">.</span><span·class="w">135 4&gt;·</span><span·class="p"·data-group-id="1622185576-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="1622185576-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·177,·SHA:·6d4f179a5ab094a9ef65992d9945a1f29c573402c755a69b2d481c68adcaf2d6·...·]-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="1691162351-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="1691162351-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·177,·SHA:·1d774b5797555e769ff6960d42b2c1b4b7cc024ccb59b5ae5ea9332a720e2e19·...·]-4">}</span><span·class="p">.</span><span·class="w">137 5&gt;·</span><span·class="p"·data-group-id="1622185576-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="1622185576-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·177,·SHA:·3cfb12863a7bf5e7c267152826e74393dbca154d389dddab847be9ac9454c98a·...·]-4">}</span><span·class="p">.</span><span·class="w">
138 </span><span·class="p"·data-group-id="1691162351-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="1691162351-5">}</span><span·class="gp·unselectable">138 </span><span·class="p"·data-group-id="1622185576-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="1622185576-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>189 <p>Copyright·©·1996-2025·<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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>230 <p>Copyright·©·1996-2025·<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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>316 <p>Copyright·©·1996-2025·<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="9531038611-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="9531038611-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="3972193217-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="3972193217-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="9531038611-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="9531038611-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="3972193217-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="3972193217-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="8190933132-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8190933132-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:·6d5f42f1ca3f68f1d84bcc91b10e93a9888ad599f852092a319dddcd2c2c91a7·...·]-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="3365639867-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3365639867-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:·7ef485ae137cc4e2e470a796aed60f2bec16cb7a19da0985a1ce309b3f7e6694·...·]-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="0738038280-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:·537a4113d22a7e0c7a62f5dc1e7c4179a43fb879eb8e8f3cae904b1abe8705e6·...·]-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="9913110914-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:·d4940dace79cd5a5ec3eb22308ff865cb8bcf43875920c92e6c36af8df87cd71·...·]-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="2819850599-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2819850599-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·460,·SHA:·d3cb521858b2915262ab6b49bfc81ac368de976e33a2323601f1b833f6f40612·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·record·must·be·defined·in·the·shell·to·enable·use·of·the·record·syntax·in149 field:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="5950926885-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5950926885-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·460,·SHA:·775c860aa4469562c15a6b23afa671b93917575235ea7bfbc843e0cf95439c99·...·]-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="7264065408-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7264065408-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·459,·SHA:·ff0fb997a92ff5e47f6f7d7c7b2896823830cb06a4a775e3d7dbe719d17495af·...·]-1">)</span><span·class="p">.</span><span·class="w">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="7902202944-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7902202944-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·459,·SHA:·c439f7a41a6d79f14840b3851b05e7bbf55296c4aee7f2da8045379049de8ade·...·]-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-6.2.2/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-6.2.2/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="6309880237-1">{</span><span·class="ss">phone</span><span·class="o">=</span><span·class="p"·data-group-id="6309880237-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:·474,·SHA:·a2943ec22f699c5ef712c3461cbf8c32cbc3ce23c87eb2f9613a10c45a33d43a·...·]-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="6805800778-1">{</span><span·class="ss">phone</span><span·class="o">=</span><span·class="p"·data-group-id="6805800778-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:·474,·SHA:·c18028b766bd9df523c88db57bd8a85c1b2f6098b634f487cf19543c9f9a7d6e·...·]-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="6309880237-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:·706,·SHA:·70cf0c51763ad55f3d1be6e33ef7da2a01854a4e6481f67faa4d275f07090049·...·]-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="6805800778-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:·706,·SHA:·cf65c62951168e49cd767e675aa75321dccdba6fb8c4c2cda42cac52268c9520·...·]-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="3431239566-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:·8b2c4f4acf737e20bb56bcf2adbbb3acab603a8e7f8e628ab8748bb35e2e1d83·...·]-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="7038877280-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:·809dc6d3a02c2eb976a6b2ff75cde8a995649cb65c8db91d4d0e52fbaeae0881·...·]-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="3431239566-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:·4b31b74ff99757fc05aa7982665790aec485c869275f4dd597900273b950cfde·...·]-2">}</span></code></pre><p>It·is·primarily·intended·to·be·used·in·<a·href="../../lib/stdlib-6.2.2/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="7038877280-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:·464f8e3ef0e9fe2d722795be7a91de79408568d0efccfa92eab31bf308d592e2·...·]-2">}</span></code></pre><p>It·is·primarily·intended·to·be·used·in·<a·href="../../lib/stdlib-6.2.2/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>·and
163 <a·href="../../lib/mnesia-4.23.5/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.23.5/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-6.2.2/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-6.2.2/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="8383137508-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:·b2b45d321a22e664f4ec3b7be9b46d449e768fa4fd4eb38e050fa48c62212136·...·]-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="6421076047-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:·d82f2c540cc415a8a10cd90d97b4932465324642ea519794ee59b0c286d7db94·...·]-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="8383137508-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:·b442765bca125d08f350a443d9866c05dfc43a70c549d15fd5eb4fc77f5422cc·...·]-3">}</span><span·class="gp·unselectable">171 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="6421076047-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:·7bbc6afa3193f94df0813d54de3ea4da7a46b4b75b510a123e184cda73bf4dba·...·]-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="7299006916-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="7299006916-2[·...·truncated·by·diffoscope;·len:·373,·SHA:·8eeff7cbcec326f2aa266b06a3de010e33c652e74d80826f4799af991e2adfe2·...·]-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="1306068954-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="1306068954-2[·...·truncated·by·diffoscope;·len:·373,·SHA:·0cf1aa6a5f867894bacefcc9a16f5fc7f7dec803697017f50795b026bf190497·...·]-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="7299006916-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:·c977c2e28da33e23ae9c9e9e5b289b10e2fbb9a94d12104f9db06e1e7efee850·...·]-3">}</span><span·class="gp·unselectable">180 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="1306068954-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:·2b4e1dd84438c398a840913655c8b5908dfa482621f9d9ddeee61a543a0f4ebd·...·]-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="7299006916-5">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Robert&quot;</span><span·class="p"·data-group-id="7299006916-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="1306068954-5">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Robert&quot;</span><span·class="p"·data-group-id="1306068954-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="7299006916-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:·22e2008e221d85f57b6301c1919c69b3ae8817237d9da63e50c5536c59e466c0·...·]-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="1306068954-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:·e173962b567a03ca2bf0fa51497f3641c8c6368d638ca9332a7bbd734cae84f7·...·]-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="2637327883-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="2637327883-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="2637327883-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·a01911f707ea2959f39895c7c019b44731116224c3e3d7efed85c40899b8b5c6·...·]-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="8454697308-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="8454697308-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="8454697308-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·ac35c4b9b705c1607dc44be0ea08493499806e2a2a5c57420a4d53256b4102d5·...·]-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="2637327883-3">(</span><span·class="p">_</span><span·class="p"·data-group-id="2637327883-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="8454697308-3">(</span><span·class="p">_</span><span·class="p"·data-group-id="8454697308-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="1515584384-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="1515584384-2[·...·truncated·by·diffoscope;·len:·372,·SHA:·0dc1e5297102e518830198bc89d97ffd04615bb4495a715acf9f0ea805eb3834·...·]4-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="7828320834-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="7828320834-2[·...·truncated·by·diffoscope;·len:·372,·SHA:·ecb170e4552f2b4e27e182343e5033b09669ac0fe44e25853f5a364285b1607f·...·]4-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="1515584384-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:·468,·SHA:·a9568a699b99ae3a2895e72082eb7ac3dec99717e4f18e01d661163bda22f2fe·...·]4-3">}</span><span·class="gp·unselectable">198 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="7828320834-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:·468,·SHA:·d1d67f8648648df901fa6b2c79965b679c95d0f863cbc0db49c4350dc0039cfa·...·]4-3">}</span><span·class="gp·unselectable">
199 &gt;·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="1515584384-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="1515584384-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="7828320834-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="7828320834-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="1482560409-1">(</span><span·class="p"·data-group-id="1482560409-2">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="1482560409-3">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="n">Name</[·...·truncated·by·diffoscope;·len:·452,·SHA:·0a3768113feb0193437907b7ab4a347bac0057f3e1814607405ed0b34e387bf7·...·]-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="8601403554-1">(</span><span·class="p"·data-group-id="8601403554-2">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8601403554-3">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="n">Name</[·...·truncated·by·diffoscope;·len:·452,·SHA:·635e9565558374641ed8cc7dcaf8f7021bf2848dc8436780eb4119e22926dea9·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
202 ····</span><span·class="p"·data-group-id="1482560409-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="1482560409-4">}</span><span·class="p">;</span><span·class="w">202 ····</span><span·class="p"·data-group-id="8601403554-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="8601403554-4">}</span><span·class="p">;</span><span·class="w">
203 </span><span·class="nf">find_phone</span><span·class="p"·data-group-id="1482560409-5">(</span><span·class="p"·data-group-id="1482560409-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="1482560409-6">]</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·84,·SHA:·86592f6bb2d65f3ee65ed166759c9b509afbea3dfb2121c804a02b8eee574621·...·]-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="8601403554-5">(</span><span·class="p"·data-group-id="8601403554-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="8601403554-6">]</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·84,·SHA:·5dac81ddc8259e1da248927a4b70ae5ea8661577e5ff408a96bb144d4c380207·...·]-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="1482560409-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="1482560409-7">)</span><span·class="p">;</span><span·class="w">204 ····</span><span·class="nf">find_phone</span><span·class="p"·data-group-id="8601403554-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="8601403554-7">)</span><span·class="p">;</span><span·class="w">
205 </span><span·class="nf">find_phone</span><span·class="p"·data-group-id="1482560409-8">(</span><span·class="p"·data-group-id="1482560409-9">[</span><span·class="p"·data-group-id="1482560409-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="1482560409-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="8601403554-8">(</span><span·class="p"·data-group-id="8601403554-9">[</span><span·class="p"·data-group-id="8601403554-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="8601403554-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="7684791059-1">(</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7684791059-2">{</span><span·class="ss">first</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·322,·SHA:·6305bc788600bb5d3e52e1adad2ddf9673bed7a906daab43ef61acedb2e80144·...·]-1">)</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="6836550564-1">(</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6836550564-2">{</span><span·class="ss">first</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·322,·SHA:·289d2383d0809977195ffbf83ec2d58c8ab7813440b6034f775fe74cd3a6c8a8·...·]-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="7684791059-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7684791059-4">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·326,·SHA:·250930c2709fc9fc6fb3ba65a757b28a6f60029a64cb13f24aad52d5c547fc84·...·]-3">)</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="6836550564-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6836550564-4">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·326,·SHA:·ab678ed3730b4fb6a01c6a249bda991065358f134f18b926adb0fc3082e67b55·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
216 </span><span·class="nf">demo</span><span·class="p"·data-group-id="7684791059-6">(</span><span·class="p"·data-group-id="7684791059-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="6836550564-6">(</span><span·class="p"·data-group-id="6836550564-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="7684791059-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="7684791059-8">{</span><span·class="ss">first</span><span·class="o">=</span>[·...·truncated·by·diffoscope;·len:·381,·SHA:·e868a07f6a092aedcdf6836d81b3b759c261a0089093119ff6b5f68b9d3ab62a·...·]-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="6836550564-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="6836550564-8">{</span><span·class="ss">first</span><span·class="o">=</span>[·...·truncated·by·diffoscope;·len:·381,·SHA:·4a00fe5ebc6373ff02bdf6d74ce8ddd38e69f61720af7e316030e0d992681c2c·...·]-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="7684791059-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="7684791059-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="6836550564-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="6836550564-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="8481798522-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8481798522-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:·3d2ee3463d2fd0012af966b32427d31c44281072d71a4968d428ce7590b54b58·...·]-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="5488738618-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5488738618-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:·1f1ed7e3100b2d527d4df2d6c8071ab28cbfdf429b0b631d9e25b9d42c5185c1·...·]-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="1605052468-2">(</span><span·class="s">&quot;person.hrl&quot;</span><span·class="p"·data-group-id="1605052468-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="0596400275-2">(</span><span·class="s">&quot;person.hrl&quot;</span><span·class="p"·data-group-id="0596400275-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="1605052468-3">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="1605052468-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="0596400275-3">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="0596400275-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="1605052468-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="1605052468-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="0596400275-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="0596400275-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="1605052468-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="0596400275-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="1605052468-6">[</span><span·class="p"·data-group-id="1605052468-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="1605052468-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="0596400275-6">[</span><span·class="p"·data-group-id="0596400275-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="0596400275-7">}</span><span·class="p">,</span><span·class="w">
246 ···················</span><span·class="p"·data-group-id="1605052468-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="1605052468-8">}</span><span·class="p"·data-group-id="1605052468-6">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·cfe513d3c7c958e3066a78ba1a87186d37c823db77abd37e8331c6a58ffc8453·...·]-5">}</span><span·class="p">.</span><span·class="w">246 ···················</span><span·class="p"·data-group-id="0596400275-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="0596400275-8">}</span><span·class="p"·data-group-id="0596400275-6">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·89b6bc9bfa376ca943627ed05c6ee814a3bb9946de7c96bc286600fa79f936e2·...·]-5">}</span><span·class="p">.</span><span·class="w">
  
247 </span><span·class="c1">%%·This·demonstrates·matching·in·arguments</span><span·class="w">247 </span><span·class="c1">%%·This·demonstrates·matching·in·arguments</span><span·class="w">
Max diff block lines reached; 13177/72322 bytes (18.22%) 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>168 <p>Copyright·©·1996-2025·<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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>170 <p>Copyright·©·1996-2025·<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="9646124440-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="9646124440-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="5959783687-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="5959783687-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="5702064044-1">(</span><span·class="ss">logon</span><span·class="p">,</span><span·class="p"·data-group-id="5702064044-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:·80,·SHA:·fb9584e6359f3e110b12553b3e13200f13d6350f91396363d84867d3c7b0774d·...·]-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="1190929488-1">(</span><span·class="ss">logon</span><span·class="p">,</span><span·class="p"·data-group-id="1190929488-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:·80,·SHA:·cc469c68c4cded99987f758c399c12022b944d016df5a6cb0717eb9ba6ff8ed1·...·]-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="5702064044-3">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="5702064044-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:·160,·SHA:·53e3ab63fd4914099c21f08df7c86a20219661844a5d8dce0a2c8d5632ba3096·...·]-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="1190929488-3">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="1190929488-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:·160,·SHA:·0c3d80982698ad9aaedf65d3b3f3786a0f8648aaa29acc07e96648881df7a44c·...·]-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="5702064044-5">(</span><span·class="ss">abort_client</span><span·class="p">,</span><span·class="p"·data-group-id="5702064044-6">{</span><span·class="ss">message</span><span·class="p"·data-group-id="5702064044-6">}</span><span·class="p"·data-group-id="570206[·...·truncated·by·diffoscope;·len:·4,·SHA:·f14e5d1984c9b8d75fa57ccdfbbda927a6a7fd5b02248ae949db7bc14e846f2b·...·]-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="1190929488-5">(</span><span·class="ss">abort_client</span><span·class="p">,</span><span·class="p"·data-group-id="1190929488-6">{</span><span·class="ss">message</span><span·class="p"·data-group-id="1190929488-6">}</span><span·class="p"·data-group-id="119092[·...·truncated·by·diffoscope;·len:·4,·SHA:·1dc865d5dee04533f3174e42e8d3c4a6674a6e2255ad1ad55d5b2876030a032c·...·]-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="5702064044-7">(</span><span·class="ss">server_reply</span><span·class="p">,</span><span·class="p"·data-group-id="5702064044-8">{</span><span·class="ss">message</span><span·class="p"·data-group-id="5702064044-8">}</span><span·class="p"·data-group-id="570206[·...·truncated·by·diffoscope;·len:·4,·SHA:·f14e5d1984c9b8d75fa57ccdfbbda927a6a7fd5b02248ae949db7bc14e846f2b·...·]-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="1190929488-7">(</span><span·class="ss">server_reply</span><span·class="p">,</span><span·class="p"·data-group-id="1190929488-8">{</span><span·class="ss">message</span><span·class="p"·data-group-id="1190929488-8">}</span><span·class="p"·data-group-id="119092[·...·truncated·by·diffoscope;·len:·4,·SHA:·1dc865d5dee04533f3174e42e8d3c4a6674a6e2255ad1ad55d5b2876030a032c·...·]-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="5702064044-9">(</span><span·class="ss">message_from</span><span·class="p">,</span><span·class="p"·data-group-id="5702064044-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:·87,·SHA:·f84eaf61fabf41698ebf6887e32f8bbedeeb4f839b6b41999528daa3ab67ecac·...·]-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="1190929488-9">(</span><span·class="ss">message_from</span><span·class="p">,</span><span·class="p"·data-group-id="1190929488-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:·87,·SHA:·366f9deb642cb9d75a36885f0b57259a26c520e57ab1c9ac54c7233e26daa302·...·]-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="5702064044-11">(</span><span·class="ss">message_to</span><span·class="p">,</span><span·class="p"·data-group-id="5702064044-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:·84,·SHA:·e8e0671ff895ad5bddeffad639ea20c98617dda078c43c40287a6d6310513851·...·]-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="1190929488-11">(</span><span·class="ss">message_to</span><span·class="p">,</span><span·class="p"·data-group-id="1190929488-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:·84,·SHA:·18c5a11924b803ddb3529d279676bf2666f935661329c825a0c50c4124413634·...·]-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="2978974594-1">(</span><span·class="ss">user_interface</span><span·class="p"·data-group-id="2978974594-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="4573955053-1">(</span><span·class="ss">user_interface</span><span·class="p"·data-group-id="4573955053-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="2978974594-2">(</span><span·class="p"·data-group-id="2978974594-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:·136769d3d9de2e89f2b1266f20123f1115adf4cdf4a83bf15c976c52956da453·...·]-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="4573955053-2">(</span><span·class="p"·data-group-id="4573955053-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:·21fd25078ae32fea0e1cdc5fa9a263bc32a467119c30f21c9d88aedf2afda047·...·]-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="2978974594-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="2978974594-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="4573955053-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="4573955053-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="2978974594-5">(</span><span·class="s">&quot;mess_config.hrl&quot;</span><span·class="p"·data-group-id="2978974594-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="4573955053-5">(</span><span·class="s">&quot;mess_config.hrl&quot;</span><span·class="p"·data-group-id="4573955053-5">)</span><span·class="p">.</span><span·class="w">
  
180 </span><span·class="nf">logon</span><span·class="p"·data-group-id="2978974594-6">(</span><span·class="n">Name</span><span·class="p"·data-group-id="2978974594-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="4573955053-6">(</span><span·class="n">Name</span><span·class="p"·data-group-id="4573955053-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="2978974594-7">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="2978974594-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="4573955053-7">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="4573955053-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="2978974594-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="4573955053-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="2978974594-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="2978974594-10">[</span><span·class="o">?</[·...·truncated·by·diffoscope;·len:·263,·SHA:·1ae05ff67bbc29ba75b84d72e189322ce13673dd9d27dfe6f09e0af3f8263c50·...·]-8">)</span><span·class="p">;</span><span·class="w">184 ·····················</span><span·class="nf">spawn</span><span·class="p"·data-group-id="4573955053-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="4573955053-10">[</span><span·class="o">?</[·...·truncated·by·diffoscope;·len:·263,·SHA:·3c8fff8641f8e377450a6b66d13e302b7b71f9c92759789d4fb06fa63d13434d·...·]-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="2978974594-11">(</span><span·class="p"·data-group-id="2978974594-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="4573955053-11">(</span><span·class="p"·data-group-id="4573955053-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="2978974594-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="2978974594-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="4573955053-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="4573955053-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="2978974594-13">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="2978974594-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="4573955053-13">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="4573955053-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="2978974594-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:·381ea345699fc0c4b97d27b62714cfb168594a235925389be4e6c21976899fd6·...·]-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="4573955053-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:·0263c00b82c97f556468e881e4bfb7793af35dc110a719646f52512f477db337·...·]-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="9121497448-1">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="9121497448-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="7654196856-1">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="7654196856-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="9121497448-2">(</span><span·class="p"·data-group-id="9121497448-3">[</span><span·class="ss">client</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="9121497448-3">]</span><span·class="p"·data-group-id="9121497448-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="7654196856-2">(</span><span·class="p"·data-group-id="7654196856-3">[</span><span·class="ss">client</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="7654196856-3">]</span><span·class="p"·data-group-id="7654196856-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="9121497448-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="9121497448-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="7654196856-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="7654196856-4">)</span><span·class="p">.</span><span·class="w">
  
202 </span><span·class="nf">client</span><span·class="p"·data-group-id="9121497448-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="9121497448-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="7654196856-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="7654196856-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="p"·data-group-id="9121497448-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="9121497448-6">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·476,·SHA:·e0091059850e9d498d1a29fd1c117be0ded03cfcc07175727308b20af2595b33·...·]-7">}</span><span·class="p">,</span><span·class="w">203 ····</span><span·class="p"·data-group-id="7654196856-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="7654196856-6">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·476,·SHA:·4aa7381c610a48f02b88b8f288e9daba42e94764b4f3fff9b12e530c1dde9d61·...·]-7">}</span><span·class="p">,</span><span·class="w">
204 ····</span><span·class="nf">await_result</span><span·class="p"·data-group-id="9121497448-9">(</span><span·class="p"·data-group-id="9121497448-9">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="nf">await_result</span><span·class="p"·data-group-id="7654196856-9">(</span><span·class="p"·data-group-id="7654196856-9">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="9121497448-10">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="9121497448-10">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="7654196856-10">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="7654196856-10">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">client</span><span·class="p"·data-group-id="9121497448-11">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="9121497448-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="7654196856-11">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="7654196856-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="9121497448-12">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="9121497448-12">)</span><span·class="p">;</span><span·class="w">209 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="7654196856-12">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="7654196856-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="9121497448-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:·edeb4829988f0ac424e7cc0ee22657e26f0b29bbfbfe5e04c733f0b92c76d609·...·]-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="7654196856-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:·2da077573bad1a0fd0482410129c5ccb3c3cc6c03db1a48ad7417c2448bb9111·...·]-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ············</span><span·class="p"·data-group-id="9121497448-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="9121497448-14">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">211 ············</span><span·class="p"·data-group-id="7654196856-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="7654196856-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="9121497448-15">{</span><span·class="ss">client_pid</span><span·class="o">=</span><span·class="nf">self</span><span·class="p"·data-group-id="9121497448-16">(</span><span·class="p"·data-group-id="9121497448-16">)</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·267,·SHA:·4fd3b279b8347b46a009491585656667bf196cfae79908172ae140e5ab791c9c·...·]-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="7654196856-15">{</span><span·class="ss">client_pid</span><span·class="o">=</span><span·class="nf">self</span><span·class="p"·data-group-id="7654196856-16">(</span><span·class="p"·data-group-id="7654196856-16">)</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·267,·SHA:·0c71120c9a7e8b5662972b20af1a8b9ec38a0029f7ff38bfd527fe198040f7d7·...·]-15">}</span><span·class="p">,</span><span·class="w">
213 ············</span><span·class="nf">await_result</span><span·class="p"·data-group-id="9121497448-17">(</span><span·class="p"·data-group-id="9121497448-17">)</span><span·class="p">;</span><span·class="w">213 ············</span><span·class="nf">await_result</span><span·class="p"·data-group-id="7654196856-17">(</span><span·class="p"·data-group-id="7654196856-17">)</span><span·class="p">;</span><span·class="w">
214 ········</span><span·class="p"·data-group-id="9121497448-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="912149744[·...·truncated·by·diffoscope;·len:·1,·SHA:·2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3·...·]-18">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 ········</span><span·class="p"·data-group-id="7654196856-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="765419685[·...·truncated·by·diffoscope;·len:·1,·SHA:·e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683·...·]-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="9121497448-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:·8d250466a13730e2900c0f809cfa62dfc6a9770bc879b028fa71e137873bf2b8·...·]-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="7654196856-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:·71fe54227a958b1e827008d847ea6c8713dddfb0036dc9edef67578ee1bfe293·...·]-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="9121497448-21">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="9121497448-21">)</span><span·class="p">.</span><span·class="w">217 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="7654196856-21">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="7654196856-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="9121497448-22">(</span><span·class="p"·data-group-id="9121497448-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="7654196856-22">(</span><span·class="p"·data-group-id="7654196856-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="9121497448-23">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">Why</span><span·class="p"·data-group-id="9121497448-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="7654196856-23">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">Why</span><span·class="p"·data-group-id="7654196856-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="9121497448-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="9121497448-25">[</span><span·class="n">Why</[·...·truncated·by·diffoscope;·len:·100,·SHA:·5fd7a0ad90dc4a52dbd6e495b6b92f650a62b40a6969d98d55ec864d7d403f29·...·]-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="7654196856-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="7654196856-25">[</span><span·class="n">Why</[·...·truncated·by·diffoscope;·len:·100,·SHA:·cf85ee619cd2ff897e61b6cc1ecfbf47e6daae3271acb950b1fd342c2e72e79c·...·]-24">)</span><span·class="p">,</span><span·class="w">
223 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="9121497448-26">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="9121497448-26">)</span><span·class="p">;</span><span·class="w">223 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="7654196856-26">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="7654196856-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="9121497448-27">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">What</span><span·class="p"·data-group-id="9121497448-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="7654196856-27">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">What</span><span·class="p"·data-group-id="7654196856-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="9121497448-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="9121497448-29">[</span><span·class="n">What<[·...·truncated·by·diffoscope;·len:·101,·SHA:·0d7c7f9a0bba03bedeb860e56d62d74e0518332cadd6fcaa041774ca2a315568·...·]-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="7654196856-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="7654196856-29">[</span><span·class="n">What<[·...·truncated·by·diffoscope;·len:·101,·SHA:·665fb7961255da6af31e795f030d8568f5b630b586c97a0e5a6101a7fe795bd3·...·]-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="9121497448-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="9121497448-31">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·71,·SHA:·b7387d4b39590490fe4cf7da7f1d8242a002c42a7687faacbfdf70b6ebec206f·...·]-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="7654196856-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="7654196856-31">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·71,·SHA:·7d5c1b207362d51e6faea76c4331618bf69030c987c341e9b6e02d3d0945c48d·...·]-30">)</span><span·class="p">,</span><span·class="w">
228 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="9121497448-32">(</span><span·class="ss">timeout</span><span·class="p"·data-group-id="9121497448-32">)</span><span·class="w">228 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="7654196856-32">(</span><span·class="ss">timeout</span><span·class="p"·data-group-id="7654196856-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="7350975065-1">(</span><span·class="ss">mess_server</span><span·class="p"·data-group-id="7350975065-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="3779692760-1">(</span><span·class="ss">mess_server</span><span·class="p"·data-group-id="3779692760-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="7350975065-2">(</span><span·class="p"·data-group-id="7350975065-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:·b16ae0ca92e1e44b4c20a5bc52217914753d650e2c083e145a798e01cd714871·...·]-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="3779692760-2">(</span><span·class="p"·data-group-id="3779692760-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:·be471af2fd6dee3cc4670059d153953c7ed96c1e9c317e1af5bf6171073aa4b3·...·]-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="7350975065-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="7350975065-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="3779692760-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="3779692760-4">)</span><span·class="p">.</span><span·class="w">
  
236 </span><span·class="nf">server</span><span·class="p"·data-group-id="7350975065-5">(</span><span·class="p"·data-group-id="7350975065-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="3779692760-5">(</span><span·class="p"·data-group-id="3779692760-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="7350975065-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="7350975065-6">)</span><span·class="p">,</span><span·class="w">237 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="3779692760-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="3779692760-6">)</span><span·class="p">,</span><span·class="w">
238 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="7350975065-7">(</span><span·class="p"·data-group-id="7350975065-8">[</span><span·class="p"·data-group-id="7350975065-8">]</span><span·class="p"·data-group-id="7350975065-7">)</span><span·class="p">.</span><span·class="w">238 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="3779692760-7">(</span><span·class="p"·data-group-id="3779692760-8">[</span><span·class="p"·data-group-id="3779692760-8">]</span><span·class="p"·data-group-id="3779692760-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="7350975065-9">(</span><span·class="n">User_List</span><span·class="p"·data-group-id="7350975065-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="3779692760-9">(</span><span·class="n">User_List</span><span·class="p"·data-group-id="3779692760-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="7350975065-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="7350975065-11">[</span><span·cla[·...·truncated·by·diffoscope;·len:·118,·SHA:·2b1c5af9ce7d25b5b96e736368fbf7f52d075d022c173ddee3bef592439a1a3e·...·]-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="3779692760-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="3779692760-11">[</span><span·cla[·...·truncated·by·diffoscope;·len:·118,·SHA:·a07dd9242b0f77901b7075a715b68140ebd541e4ed9fba2e2e6c3f7bd82d0eb4·...·]-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="8395971153-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="8395971153-1">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·fb146b0b4e11a8a21370849c007d258c1e3c9739808fab683f7a8177d0a8e34a·...·]-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="6182852546-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="6182852546-1">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·d7b52d429a410320782cf2e1789f0fc0b03199bc3b6a5d0e30213e7431ceef76·...·]-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="8395971153-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="8395971153-3">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·08f1dc73b1543740ac205af415a98a0e3fdca307eaf23c94c97dd58c3f410f55·...·]-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="6182852546-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="6182852546-3">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·5896975aca9c6a0a2d92288f69e7ef1bd7c97216e11f98a4dfeaa7c35ac38822·...·]-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="4369109469-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="4369109469-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="6837329297-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="6837329297-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="4369109469-2">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="4369109469-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="6837329297-2">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="6837329297-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="4369109469-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="4369109469-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="6837329297-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="6837329297-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="1649731820-1">(</span><span·class="ss">mod</span><span·class="p"·data-group-id="1649731820-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="4324324461-1">(</span><span·class="ss">mod</span><span·class="p"·data-group-id="4324324461-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="1649731820-2">(</span><span·class="p"·data-group-id="1649731820-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="1649731820-3">]</span><span·class="p"·data-group-id="1649731820-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="4324324461-2">(</span><span·class="p"·data-group-id="4324324461-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4324324461-3">]</span><span·class="p"·data-group-id="4324324461-2">)</span><span·class="p">.</span><span·class="w">
  
155 </span><span·class="nf">fact</span><span·class="p"·data-group-id="1649731820-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="1649731820-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="4324324461-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="4324324461-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="1649731820-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="1649731820-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="4324324461-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="4324324461-5">)</span><span·class="p">;</span><span·class="w">
157 </span><span·class="nf">fact</span><span·class="p"·data-group-id="1649731820-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="1649731820-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="4324324461-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="4324324461-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="2849511385-1">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="2849511385-1">)</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2[·...·truncated·by·diffoscope;·len:·288,·SHA:·9ad7569c28309c92615d0db4f592a2d5a6d154b0b7c2aea0374d9f2df8758099·...·]-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="7076607210-1">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="7076607210-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:·fc245f0892c5d9cfb0790015d760ff516d30b157f4a8ec4e48699a9d00b717df·...·]-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="2849511385-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="2849511385-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="7076607210-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="7076607210-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="7815982358-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="7815982358-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="6708427469-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="6708427469-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="7815982358-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="7815982358-3">[</span><span·class="n">N</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·66a578d033e9eb74bdda673db706ad22132fae9bca675688396b4ad42bc09909·...·]-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="6708427469-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="6708427469-3">[</span><span·class="n">N</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·d295c51b022f3879de425febfb41c2830d0516970160fb07f4eae0262a38d256·...·]-2">)</span><span·class="p">,</span><span·class="w">
182 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7815982358-4">(</span><span·class="n">N</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="7815982358-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="6708427469-4">(</span><span·class="n">N</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="6708427469-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-15.2.7/doc/html/erlang.html"><code·class="inline">erlang</code></a>,·but·there192 in·Erlang.·Most·of·the·BIFs·belong·to·module·<a·href="../../erts-15.2.7/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-6.2.2/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-6.2.2/doc/html/lists.html"><code·class="inline">lists</code></a>
194 and·<a·href="../../lib/stdlib-6.2.2/doc/html/ets.html"><code·class="inline">ets</code></a>.</p><p>The·most·commonly·used·BIFs·belonging·to·<a·href="../../erts-15.2.7/doc/html/erlang.html"><code·class="inline">erlang</code></a>·are·<em>auto-imported</em>.·They·do194 and·<a·href="../../lib/stdlib-6.2.2/doc/html/ets.html"><code·class="inline">ets</code></a>.</p><p>The·most·commonly·used·BIFs·belonging·to·<a·href="../../erts-15.2.7/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-15.2.7/doc/html/erlang.html"><code·class="inline">erlang</code></a>·module·in·ERTS.·For·example,·standard-type196 is·specified·in·the·<a·href="../../erts-15.2.7/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="3080190019-1">(</span><span·class="p"·data-group-id="3080190019-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="3080190019-2">}</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·9a49ab4db0f7a2673a4eae04acec58a806eee1f26f8584cb921429822acccca2·...·]-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="4279971613-1">(</span><span·class="p"·data-group-id="4279971613-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="4279971613-2">}</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·3c2ef5c47ef4021760b2b2ecb535f887f5155dc536c5e8d1737619b29f73a523·...·]-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="3080190019-3">(</span><span·class="ss">&#39;Erlang&#39;</span><span·class="p"·data-group-id="3080190019-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="4279971613-3">(</span><span·class="ss">&#39;Erlang&#39;</span><span·class="p"·data-group-id="4279971613-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>250 <p>Copyright·©·1996-2025·<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.66 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-15.2.7/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="5983642009-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="5983642009-1">)</span><s[·...·truncated·by·diffoscope;·len:·195,·SHA:·15334d2be76ddd71ffdefecb43d412cef2ce6e8cfc9df26a1a2b06ce636132a4·...·]-2">)</span><span·class="w">132 <p>A·process·is·created·by·calling·<a·href="../../erts-15.2.7/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="3711440991-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="3711440991-1">)</span><s[·...·truncated·by·diffoscope;·len:·195,·SHA:·5f45375c515783c5b9c1d16df6c144fc0aacdb49ec1bdf789dc1979b98e4bacb·...·]-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="5983642009-3">(</span><span·class="p"·data-group-id="5983642009-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="3711440991-3">(</span><span·class="p"·data-group-id="3711440991-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="5983642009-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="5983642009-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="3711440991-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="3711440991-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="5983642009-5">(</span><span·class="p"·data-group-id="5983642009-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="3711440991-5">(</span><span·class="p"·data-group-id="3711440991-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-15.2.7/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/1,2,3,4</code></a></li><li><a·href="../../erts-15.2.7/doc/html/erlang.html#spawn_link/4"><code·class="inline">spawn_link/1,2,3,4</code></a></li><li><a·href="../../erts-15.2.7/doc/html/erlang.html#spawn_monitor/4"><code·class="inline">spawn_monitor/1,2,3,4</code></a></li><li><a·href="../../erts-15.2.7/doc/html/erlang.html#spawn_opt/5"><code·class="inline">spawn_opt/2,3,4,5</code></a></li><li><a·href="../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/1,2,3,4</code></a></li><li><a·href="../../erts-15.2.7/doc/html/erlang.html#spawn_link/4"><code·class="inline">spawn_link/1,2,3,4</code></a></li><li><a·href="../../erts-15.2.7/doc/html/erlang.html#spawn_monitor/4"><code·class="inline">spawn_monitor/1,2,3,4</code></a></li><li><a·href="../../erts-15.2.7/doc/html/erlang.html#spawn_opt/5"><code·class="inline">spawn_opt/2,3,4,5</code></a></li><li><a·href="../../erts-15.2.7/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 583, 15 lines modifiedOffset 583, 15 lines modified
583 ······<p·class="built-using">583 ······<p·class="built-using">
584 ········Built·using584 ········Built·using
585 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the585 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
586 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>586 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
587 ······</p>587 ······</p>
588 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>588 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
589 ····</footer>589 ····</footer>
590 ··</div>590 ··</div>
591 </main>591 </main>
592 </div>592 </div>
593 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>593 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
594 ··<script>594 ··<script>
595 ··let·initialized·=·false;595 ··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="1999842096-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1999842096-2">{</span><span·class="n">Field1</span><span·class="w">·</span><span·class="p"·data-group-id="1999842096-3">[</span>[·...·truncated·by·diffoscope;·len:·117,·SHA:·a69f3bceac6304a7ff56ff8c3d1890082e8e7e9f534a227472d3b1d1505417c4·...·]-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="0481642421-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0481642421-2">{</span><span·class="n">Field1</span><span·class="w">·</span><span·class="p"·data-group-id="0481642421-3">[</span>[·...·truncated·by·diffoscope;·len:·117,·SHA:·0d1c426043c2f75ccb9928770c5958ce2dcfdd1c2066912e2147fae50be7dcd8·...·]-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="1999842096-4">[</span><span·class="o">=</span><span·class="w">·</span><span·class="n">ExprN</span><span·class="p"·data-group-id="1999842096-4">]</span><span·class="p"·data-group-id="1999842096-2">}</span><span·class="p"·data-group-id="1999842096-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="0481642421-4">[</span><span·class="o">=</span><span·class="w">·</span><span·class="n">ExprN</span><span·class="p"·data-group-id="0481642421-4">]</span><span·class="p"·data-group-id="0481642421-2">}</span><span·class="p"·data-group-id="0481642421-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-6.2.2/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-6.2.2/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="9298323626-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9298323626-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:·bf49f933f07811046b66588f1d4d03e33243a25c06c2c5065ebe3dfbe00ef07b·...·]-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="6727996463-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6727996463-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:·6b1d92e0c20f8cb4ff78fa99ef11c7a60483d04b4a79a4558820120626d3953e·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
151 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="9298323626-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="9298323626-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="6727996463-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="6727996463-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="9298323626-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="9298323626-5">{</span><span·class="ss">name</span><span·class="o">=</span><[·...·truncated·by·diffoscope;·len:·251,·SHA:·f90c0a98bbfd56829ad7e873135caa2156fa8355ebd8450c98713c778a5fd49f·...·]-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="6727996463-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="6727996463-5">{</span><span·class="ss">name</span><span·class="o">=</span><[·...·truncated·by·diffoscope;·len:·251,·SHA:·51fdfb27be983fe3ad56afbe70005899427d3e343a14b79e608960cd21d20015·...·]-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="0110525456-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0110525456-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:·e0d941ecb8f461079891366505b750c81ede0d8619ea7c190fb9188c0e3436df·...·]-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="2495739250-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2495739250-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:·4e7314a23d277dda0dbcf8c57284bf89993205e25a3251445db5a33fcbccc191·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
160 </span><span·class="nf">get_person_name</span><span·class="p"·data-group-id="0110525456-3">(</span><span·class="n">Person</span><span·class="p"·data-group-id="0110525456-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="2495739250-3">(</span><span·class="n">Person</span><span·class="p"·data-group-id="2495739250-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="0369997576-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0369997576-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:·ecb6592d9a794f36e786ee795b80729be76353ecd2dabd62a553c9679874cc1b·...·]-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="3539601043-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3539601043-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:·6e90bec5f3cc2cd3ba01f65e4a60317ad72b6ca24f9038bee2cb7169fa66168d·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
163 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="0369997576-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="0369997576-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="3539601043-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="3539601043-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="0369997576-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:·b59dd645cf3727ff93b0d8d01f2f47a25614e08fd8cc81638f8e2a4a85f28fc4·...·]-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="3539601043-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:·c596e497482b17d40a81354f7ef92725b8455116e331ae43c1784c04551b8824·...·]-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="5800343229-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="5800343229-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·441,·SHA:·3457f32b529ca5491042cbf2768a99f9e278bb4b789f06ed4a4bb11adef0b5ff·...·]-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="5665124405-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="5665124405-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·441,·SHA:·80771ebc416d9c78c43d1e448382b4903ef78e5a1e803617347f7a90be1f0bbe·...·]-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="5800343229-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="5800343229-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="5665124405-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="5665124405-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-15.2.7/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="2345909511-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="2345909511-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="2345909511-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·ddaf9d2df1cd2c19360d88a53814c6cdeeb6466bc5c6935b3e00e52a974f561b·...·]-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-15.2.7/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="0423043988-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="0423043988-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="0423043988-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·2383d1a78b567ff6bb1f098e6deac298554ea2b8f816cfd786af597c6ac8c98f·...·]-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="2345909511-3">(</span><span·class="p">_</span><span·class="n">P</span><span·class="p"·data-group-id="2345909511-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="0423043988-3">(</span><span·class="p">_</span><span·class="n">P</span><span·class="p"·data-group-id="0423043988-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="2165201301-1">(</span><span·class="ss">nrec0</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2165201301-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="2165201301-2">}</span><span·class="p"·data-group-id="2165201301-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="2165201301-3">(</span><span·class="ss">nrec1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2165201301-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="2165201301-5">{</span><span·class="p"·data-group-id="2165201301-5">}</span><span·class="p"·data-group-id="2165201301-4">}</span><span·class="p"·data-group-id="2165201301-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="2165201301-6">(</span><span·class="ss">nrec2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2165201301-7">{</span><span·class="[·...·truncated·by·diffoscope;·len:·485,·SHA:·ce489fcba8b97132d0de6f5cc59531508595f593c9b69d748f0387751096a4b3·...·]">)</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="5927630810-1">(</span><span·class="ss">nrec0</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·313,·SHA:·a12acfaffdb2f84bb3635744308910af19f95222c69609d893a3a96fb6e36b8e·...·]">)</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="5927630810-3">(</span><span·class="ss">nrec1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5927630810-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="5927630810-5">{</span><span·class="p"·data-group-id="5927630810-5">}</span><span·class="p"·data-group-id="5927630810-4">}</span><span·class="p"·data-group-id="5927630810-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="5927630810-6">(</span><span·class="ss">nrec2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5927630810-7">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;nested2&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">nrec1</span><span·class="o">=</span><span·class="o">#</span><span·class="ss">nrec1</span><span·class="p"·data-group-id="5927630810-8">{</span><span·class="p"·data-group-id="5927630810-8">}</span><span·class="p"·data-group-id="5927630810-7">}</span><span·class="p"·data-group-id="5927630810-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="2165201301-9">{</span><span·class="p"·data-group-id="2165201301-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="5927630810-9">{</span><span·class="p"·data-group-id="5927630810-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="2773884808-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2773884808-2">{</span><span·class="n">Field1</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span[·...·truncated·by·diffoscope;·len:·214,·SHA:·b26aa822d77c35e8e0fb6bf5ab15be28fe6c562480581e9da00ca3ed83851e73·...·]-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·to217 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="6963011557-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6963011557-2">{</span><span·class="n">Field1</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span[·...·truncated·by·diffoscope;·len:·214,·SHA:·3b2a7b7a506c30a3aa0d669cec7881610069fce9d5e38401ffc304eec97e64e4·...·]-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="7064284161-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="7064284161-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·123,·SHA:·3f64ac5add353919037ae848b1371a85b5180775bd4ec569c7b0e8a1975f60a6·...·]1-2">]</span><span·class="w">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="9749083741-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="9749083741-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·123,·SHA:·ec4ae36453edce54399038ca626b39451e7756fa0fa6f3314570a1fae1a6875a·...·]1-2">]</span><span·class="w">
219 </span><span·class="nf">record_info</span><span·class="p"·data-group-id="7064284161-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="7064284161-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·the219 </span><span·class="nf">record_info</span><span·class="p"·data-group-id="9749083741-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="9749083741-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>271 <p>Copyright·©·1996-2025·<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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2025·<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-6.2.2/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-6.2.2/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="7336634000-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="7336634000-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="7336634000-2">}</span><span·class="p"·data-group-id="7336634000-1">}</span><span·class="w"> 
231 </span><span·class="p"·data-group-id="7336634000-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:·00b6937972b39691111eb435317987f08e2e12a02bbe23ab23c62274611c08b1·...·]230 instructions·are·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5960435837-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:·ade53b93ce79eaa4ec1e2c34d425f7109f2c23c68ecab45acec37e0dc1b28f17·...·]
 231 </span><span·class="p"·data-group-id="5960435837-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="5960435837-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="6714355270-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:·fca11b18185436ce499644b0ff1817dec4aa25de07834ba7b075d9266e866cf6·...·]-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="5159794902-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:·f5e1d940cf39f213104751956e1ac9b90155063d37a908c90ae6b0110b9f0cb8·...·]-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="4416734116-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="4416734116-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="1538518143-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="1538518143-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="5603129540-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="5603129540-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="2241387012-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="2241387012-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.2.2/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.2.2/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="9020952994-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="9020952994-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="2953350858-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="2953350858-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="9020952994-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="9020952994-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="2953350858-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="2953350858-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="9020952994-3">(</span><span·class="p"·data-group-id="9020952994-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9020952994-4">]</span><span·class="p"·data-group-id="9020952994-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="2953350858-3">(</span><span·class="p"·data-group-id="2953350858-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2953350858-4">]</span><span·class="p"·data-group-id="2953350858-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="9020952994-5">(</span><span·class="p"·data-group-id="9020952994-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:·e13dec9e0a4eebfc4fc12a20c0aab605f611c032552d2719414a882857f5c5d1·...·]-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="2953350858-5">(</span><span·class="p"·data-group-id="2953350858-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:·227c62a4d431da700ffb4fa3ee9bfe796a5cbe354c1d8ffeb954547ebdceb996·...·]-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="9020952994-7">(</span><span·class="p"·data-group-id="9020952994-8">[</span><span·class="ss">available</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9020952994-8">]</span><span·class="p"·data-group-id="9020952994-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="2953350858-7">(</span><span·class="p"·data-group-id="2953350858-8">[</span><span·class="ss">available</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2953350858-8">]</span><span·class="p"·data-group-id="2953350858-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="9020952994-9">(</span><span·class="p"·data-group-id="9020952994-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">/</s[·...·truncated·by·diffoscope;·len:·256,·SHA:·82f2ce42588a28db6be1764a44e73d8e6d8a69fb39aa0c542f07d9c90c6a925f·...·]-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="2953350858-9">(</span><span·class="p"·data-group-id="2953350858-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">/</s[·...·truncated·by·diffoscope;·len:·256,·SHA:·2f9a36ebcffc4f85963db89abf257f3772ac92455b2be46d1eaf013a5d963a22·...·]-9">)</span><span·class="p">.</span><span·class="w">
  
355 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="9020952994-11">(</span><span·class="p"·data-group-id="9020952994-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="2953350858-11">(</span><span·class="p"·data-group-id="2953350858-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="9020952994-12">(</span><span·class="p"·data-group-id="9020952994-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="9020952994-13">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·407,·SHA:·d1b8fc1c0b45b5f7fc2543c9f66299322e0fa14284462800413b7f2039bc1304·...·]-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="2953350858-12">(</span><span·class="p"·data-group-id="2953350858-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="2953350858-13">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·407,·SHA:·9a6b8a6489a7dc7f279fbbf8d2e3a7659964da187aad93c1ae72e64644da5c70·...·]-12">)</span><span·class="p">.</span><span·class="w">
  
357 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="9020952994-16">(</span><span·class="p"·data-group-id="9020952994-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="2953350858-16">(</span><span·class="p"·data-group-id="2953350858-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="9020952994-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="9020952994-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="2953350858-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="2953350858-17">)</span><span·class="p">.</span><span·class="w">
  
359 </span><span·class="nf">free</span><span·class="p"·data-group-id="9020952994-18">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="9020952994-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="2953350858-18">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="2953350858-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="9020952994-19">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9020952994-20">{</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:·ce8140ec6ca888b56af9eca5b7d82dc62a1b3504c832d2c462646da88485f11f·...·]-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="2953350858-19">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2953350858-20">{</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:·129a874f774453e624cb3b3f14ca319e91758598e5c37d2e27c2e383ed1021a2·...·]-19">)</span><span·class="p">.</span><span·class="w">
  
361 </span><span·class="nf">available</span><span·class="p"·data-group-id="9020952994-21">(</span><span·class="p"·data-group-id="9020952994-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="2953350858-21">(</span><span·class="p"·data-group-id="2953350858-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="9020952994-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="9020952994-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="2953350858-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="2953350858-22">)</span><span·class="p">.</span><span·class="w">
  
363 </span><span·class="nf">init</span><span·class="p"·data-group-id="9020952994-23">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="9020952994-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="2953350858-23">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="2953350858-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
364 ····</span><span·class="p"·data-group-id="9020952994-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="9020952994-25">(</span><span·class="p"·data-group-id="9020952994-25">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·73fcd5e2c93576f408c2b2f5b055478ea294c09c2000816d287a87357a933dd3·...·]-24">}</span><span·class="p">.</span><span·class="w">364 ····</span><span·class="p"·data-group-id="2953350858-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="2953350858-25">(</span><span·class="p"·data-group-id="2953350858-25">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·5c20e83e87a669c12b47023186ced5fc52fd279dcb0a1d61540973d70255890e·...·]-24">}</span><span·class="p">.</span><span·class="w">
  
365 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="9020952994-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="[·...·truncated·by·diffoscope;·len:·10,·SHA:·a9518c897b25c1c60a853408ef96f67120e44c0415a09ff10d5d8b6b5d563f23·...·]-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="2953350858-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="[·...·truncated·by·diffoscope;·len:·10,·SHA:·85e07573a1270952ddf9ce27aae683c73e2c689cc5c1ffb0cc06e60a468f70e2·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
366 ····</span><span·class="p"·data-group-id="9020952994-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="9020952994-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·bc7bd4701df16384b7c42235a280dfb08adf059697d6cb365640a53f1a8947c1·...·]-28">)</span><span·class="p">,</span><span·class="w">366 ····</span><span·class="p"·data-group-id="2953350858-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="2953350858-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·fc0e69bf4f29f1b97463b9df041b9c5a5728c261235138f2b7cfd4482d12ca39·...·]-28">)</span><span·class="p">,</span><span·class="w">
367 ····</span><span·class="p"·data-group-id="9020952994-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="9020952994-29">}</span><span·class="p">;</span><span·class="w">367 ····</span><span·class="p"·data-group-id="2953350858-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="2953350858-29">}</span><span·class="p">;</span><span·class="w">
368 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="9020952994-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-[·...·truncated·by·diffoscope;·len:·14,·SHA:·97d4d2e4501b1a5b8cc2efd3e59154b5d250a865c71a720a1a312f47e1fc0813·...·]-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="2953350858-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-[·...·truncated·by·diffoscope;·len:·14,·SHA:·0ce1bbebdd8615cbb28d7456f6387307d5930d4b9035d4aef5b743d5b3c4f3c6·...·]-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="9020952994-31">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="9020952994-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="2953350858-31">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="2953350858-31">)</span><span·class="p">,</span><span·class="w">
370 ····</span><span·class="p"·data-group-id="9020952994-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="9020952994-32">}</span><span·class="p">.</span><span·class="w">370 ····</span><span·class="p"·data-group-id="2953350858-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="2953350858-32">}</span><span·class="p">.</span><span·class="w">
  
371 </span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="9020952994-33">(</span><span·class="p"·data-group-id="9020952994-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="9020952994-34">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·17a92ef4e02518951323828a7e8519831002212f974aaba1047050cd61703e3a·...·]-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="2953350858-33">(</span><span·class="p"·data-group-id="2953350858-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="2953350858-34">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·b8f74be3e57afba308487234d2a95033520cc361e58d14116f6ae60663afe5fc·...·]-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="9020952994-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="9020952994-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="2953350858-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="2953350858-35">)</span><span·class="p">,</span><span·class="w">
373 ····</span><span·class="p"·data-group-id="9020952994-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="9020952994-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="2953350858-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="2953350858-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="5930599095-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="0485483954-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="5930599095-2">[</span><span·class="p"·data-group-id="5930599095-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="5930599095-3">}</span><span·class="p">,</span><span·class="w">375 ·</span><span·class="p"·data-group-id="0485483954-2">[</span><span·class="p"·data-group-id="0485483954-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="0485483954-3">}</span><span·class="p">,</span><span·class="w">
376 ··</span><span·class="p"·data-group-id="5930599095-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="5930599095-4">}</span><span·class="p">,</span><span·class="w">376 ··</span><span·class="p"·data-group-id="0485483954-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="0485483954-4">}</span><span·class="p">,</span><span·class="w">
377 ··</span><span·class="p"·data-group-id="5930599095-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5930599095-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:·4fccb5ef0d6eddd48b741088918b4da787e1f8ca1da86669a7ddc4f932201a7d·...·]-5">}</span><span·class="p">,</span><span·class="w">377 ··</span><span·class="p"·data-group-id="0485483954-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0485483954-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:·0cd9834bfd7b7512fe824c7bae1ffea296610272dfee109d6d51e481de75d5c5·...·]-5">}</span><span·class="p">,</span><span·class="w">
378 ··</span><span·class="p"·data-group-id="5930599095-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5930599095-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="5930599095-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·f2300595078328c85b247c99a41a5fd017003673929e9f2ec0a33ca669f5cfbf·...·]-7">}</span><span·class="p">,</span><span·class="w">378 ··</span><span·class="p"·data-group-id="0485483954-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0485483954-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="0485483954-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·c0ba530ea1fa23071ea933edd92440daf4e2fa4e24bfd4bc5dfa3b4596f70731·...·]-7">}</span><span·class="p">,</span><span·class="w">
379 ··</span><span·class="p"·data-group-id="5930599095-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5930599095-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:·f75bde7e7060a4a7b8b0be7c827d8a27e8be565b967991c4a367f1770d2b8573·...·]-9">}</span><span·class="p">,</span><span·class="w">379 ··</span><span·class="p"·data-group-id="0485483954-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0485483954-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:·7c6b4ed30e5619fecb209c59870d70667a274c9c3f10769940fc9371420000bc·...·]-9">}</span><span·class="p">,</span><span·class="w">
380 ··</span><span·class="p"·data-group-id="5930599095-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5930599095-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="5930599095-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·9543b73ac6548a820db361c9943718f1000c4faa1e8bd41e9dd44fc85598e02f·...·]-11">}</span><span·class="w">380 ··</span><span·class="p"·data-group-id="0485483954-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0485483954-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="0485483954-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·5d6e412e84f3928f9d71f2f54b92fbef9f5e81cadd9860a731b2a73382bdf1a7·...·]-11">}</span><span·class="w">
381 ·</span><span·class="p"·data-group-id="5930599095-2">]</span><span·class="p"·data-group-id="5930599095-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="0485483954-2">]</span><span·class="p"·data-group-id="0485483954-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="5652514710-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="0862201725-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
384 ·</span><span·class="p"·data-group-id="5652514710-2">[</span><span·class="p"·data-group-id="5652514710-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5652514710-4">[</span><span·class="p"·data-group-id="5652514710-5"[·...·truncated·by·diffoscope;·len:·319,·SHA:·524c3a9724f95fc95b641a3549db04720d8be791a4dda7b18cd92ba94bcf1c21·...·]-2">]</span><span·class="p">,</span><span·class="w">384 ·</span><span·class="p"·data-group-id="0862201725-2">[</span><span·class="p"·data-group-id="0862201725-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0862201725-4">[</span><span·class="p"·data-group-id="0862201725-5"[·...·truncated·by·diffoscope;·len:·319,·SHA:·4c06447ba5b116a647c0ce16ea6e916fc0be02102959864aa0a573ed04a0ad00·...·]-2">]</span><span·class="p">,</span><span·class="w">
385 ·</span><span·class="p"·data-group-id="5652514710-6">[</span><span·class="p"·data-group-id="5652514710-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5652514710-8">[</span><span·class="p"·data-group-id="5652514710-9"[·...·truncated·by·diffoscope;·len:·319,·SHA:·834e93fa287296083689bdd168ea5a863e9f7850706ed6c9b138b1e9a87ce674·...·]-6">]</span><span·class="w">385 ·</span><span·class="p"·data-group-id="0862201725-6">[</span><span·class="p"·data-group-id="0862201725-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0862201725-8">[</span><span·class="p"·data-group-id="0862201725-9"[·...·truncated·by·diffoscope;·len:·319,·SHA:·b51e3ad0bcdb7e48bf7daa1f42ed5bfec5da45781c6c0a4bdaddbdce4db84168·...·]-6">]</span><span·class="w">
386 </span><span·class="p"·data-group-id="5652514710-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="0862201725-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.2.2/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.2.2/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="0602648833-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="1058157318-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">
413 ·</span><span·class="p"·data-group-id="0602648833-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="0602648833-2">}</span><span·class="p">,</span><span·class="w">413 ·</span><span·class="p"·data-group-id="1058157318-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="1058157318-2">}</span><span·class="p">,</span><span·class="w">
414 ·</span><span·class="p"·data-group-id="0602648833-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="0602648833-3">}</span><span·class="p">,</span><span·class="w">414 ·</span><span·class="p"·data-group-id="1058157318-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="1058157318-3">}</span><span·class="p">,</span><span·class="w">
415 ·</span><span·class="p"·data-group-id="0602648833-4">[</span><span·class="p"·data-group-id="0602648833-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="0602648833-5">}</span><span·class="p">,</span><span·class="w">415 ·</span><span·class="p"·data-group-id="1058157318-4">[</span><span·class="p"·data-group-id="1058157318-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="1058157318-5">}</span><span·class="p">,</span><span·class="w">
416 ··</span><span·class="p"·data-group-id="0602648833-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="0602648833-6">}</span><span·class="p">,</span><span·class="w">416 ··</span><span·class="p"·data-group-id="1058157318-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="1058157318-6">}</span><span·class="p">,</span><span·class="w">
417 ··</span><span·class="p"·data-group-id="0602648833-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="0602648833-7">}</span><span·class="p">,</span><span·class="w">417 ··</span><span·class="p"·data-group-id="1058157318-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="1058157318-7">}</span><span·class="p">,</span><span·class="w">
418 ··</span><span·class="p"·data-group-id="0602648833-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="0602648833-8">}</span><span·class="p"·data-group-id="0602648833-4">]</span><span·class="w">418 ··</span><span·class="p"·data-group-id="1058157318-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="1058157318-8">}</span><span·class="p"·data-group-id="1058157318-4">]</span><span·class="w">
419 </span><span·class="p"·data-group-id="0602648833-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="1058157318-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; 23162/69664 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="5894895199-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5894895199-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:·df7e1d2e3c5985695bd4506ab7b1561fef745f9cbb7826dd98d544017e69705c·...·]-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="8565028080-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8565028080-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:·3ef4e2d393c9893d96e1e576436820d9b2219c1cd1e3c5e8ac6859bb2e7291ab·...·]-3">}</span><span·class="p">,</span><span·class="w">
144 ·</span><span·class="p"·data-group-id="5894895199-4">[</span><span·class="p"·data-group-id="5894895199-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="5894895199-5">}</span><span·class="p">,</span><span·class="w">144 ·</span><span·class="p"·data-group-id="8565028080-4">[</span><span·class="p"·data-group-id="8565028080-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="8565028080-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="5894895199-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="5894895199-6">}</span><span·class="p"·data-group-id="5894895199-4">]</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·1a75d4830eda1e8a9368aa270d6d7160c5670d153dc9aa1c04e5b19e493c61cc·...·]-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="8565028080-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="8565028080-6">}</span><span·class="p"·data-group-id="8565028080-4">]</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·70cc1a15bc3740b097797e6d9857f035583cdcdfd1de78ed3345ca558a922f76·...·]-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="4838615434-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="2447269836-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="4838615434-2">[</span><span·class="p"·data-group-id="4838615434-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="4838615434-3">}</span><span·class="p">,</span><span·class="w">151 ·</span><span·class="p"·data-group-id="2447269836-2">[</span><span·class="p"·data-group-id="2447269836-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="2447269836-3">}</span><span·class="p">,</span><span·class="w">
152 ··</span><span·class="p"·data-group-id="4838615434-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="4838615434-4">}</span><span·class="p">,</span><span·class="w">152 ··</span><span·class="p"·data-group-id="2447269836-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="2447269836-4">}</span><span·class="p">,</span><span·class="w">
153 ··</span><span·class="p"·data-group-id="4838615434-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4838615434-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:·362651251e91251eb4bb077ed9ebb6e11201a4527e254feb880ae8dd105a46a2·...·]-5">}</span><span·class="p">,</span><span·class="w">153 ··</span><span·class="p"·data-group-id="2447269836-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2447269836-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:·f12b41202ae5f1950938056376ea7d232fc652ab46f241afcd934aa28685920e·...·]-5">}</span><span·class="p">,</span><span·class="w">
154 ··</span><span·class="p"·data-group-id="4838615434-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4838615434-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="4838615434-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·ac256507c6aaf4e90fb16eedf3c8c09e0452cc38bdd0ed5c3ec5a1651f460ff3·...·]-7">}</span><span·class="p">,</span><span·class="w">154 ··</span><span·class="p"·data-group-id="2447269836-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2447269836-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="2447269836-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·33d0b9de02bdf41906dd5f8f62744ba0a8932e64754552684eb32072a20388d5·...·]-7">}</span><span·class="p">,</span><span·class="w">
155 ··</span><span·class="p"·data-group-id="4838615434-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4838615434-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:·6f8f27695aaff05bf8cc9aead57e8cb1dec379e36d52bc81aa8fa2ceebb190dc·...·]-9">}</span><span·class="p">,</span><span·class="w">155 ··</span><span·class="p"·data-group-id="2447269836-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2447269836-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:·f7933c879d3071d9a7c1b4171c532cb072ac577fdfebabc43fd67a835b70d1b5·...·]-9">}</span><span·class="p">,</span><span·class="w">
156 ··</span><span·class="p"·data-group-id="4838615434-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4838615434-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="4838615434-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·c82c18c1175f69bb8ed07b365147fb7f7016572a28e8c258cc35a4e8aa53e25a·...·]-11">}</span><span·class="w">156 ··</span><span·class="p"·data-group-id="2447269836-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2447269836-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="2447269836-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·fde291f0d80a880ed11fbe6fe25ff052169b51e7b167f6d9e3e007673fb8f016·...·]-11">}</span><span·class="w">
157 ·</span><span·class="p"·data-group-id="4838615434-2">]</span><span·class="p"·data-group-id="4838615434-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="2447269836-2">]</span><span·class="p"·data-group-id="2447269836-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="4441156435-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="2812254465-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">
159 ·</span><span·class="p"·data-group-id="4441156435-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="4441156435-2">}</span><span·class="p">,</span><span·class="w">159 ·</span><span·class="p"·data-group-id="2812254465-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="2812254465-2">}</span><span·class="p">,</span><span·class="w">
160 ·</span><span·class="p"·data-group-id="4441156435-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="4441156435-3">}</span><span·class="p">,</span><span·class="w">160 ·</span><span·class="p"·data-group-id="2812254465-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="2812254465-3">}</span><span·class="p">,</span><span·class="w">
161 ·</span><span·class="p"·data-group-id="4441156435-4">[</span><span·class="p"·data-group-id="4441156435-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="4441156435-5">}</span><span·class="p">,</span><span·class="w">161 ·</span><span·class="p"·data-group-id="2812254465-4">[</span><span·class="p"·data-group-id="2812254465-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="2812254465-5">}</span><span·class="p">,</span><span·class="w">
162 ··</span><span·class="p"·data-group-id="4441156435-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="4441156435-6">}</span><span·class="p">,</span><span·class="w">162 ··</span><span·class="p"·data-group-id="2812254465-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="2812254465-6">}</span><span·class="p">,</span><span·class="w">
163 ··</span><span·class="p"·data-group-id="4441156435-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="4441156435-7">}</span><span·class="p">,</span><span·class="w">163 ··</span><span·class="p"·data-group-id="2812254465-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="2812254465-7">}</span><span·class="p">,</span><span·class="w">
164 ··</span><span·class="p"·data-group-id="4441156435-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="4441156435-8">}</span><span·class="p"·data-group-id="4441156435-4">]</span><span·class="w">164 ··</span><span·class="p"·data-group-id="2812254465-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="2812254465-8">}</span><span·class="p"·data-group-id="2812254465-4">]</span><span·class="w">
165 </span><span·class="p"·data-group-id="4441156435-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="2812254465-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.2.2/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.2.2/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.2.2/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.2.2/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="0891045409-1">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="0891045409-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="8436768589-1">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="8436768589-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="0891045409-2">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="0891045409-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="8436768589-2">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="8436768589-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>356 <p>Copyright·©·1996-2025·<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="0979853630-1">(</span><span·class="ss">tut19</span><span·class="p"·data-group-id="0979853630-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="9093655115-1">(</span><span·class="ss">tut19</span><span·class="p"·data-group-id="9093655115-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="0979853630-2">(</span><span·class="p"·data-group-id="0979853630-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:·1ccdc2502c24fa1c02d71d8140e19c55ecd09966e204cfee51d39136bf1d8058·...·]-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="9093655115-2">(</span><span·class="p"·data-group-id="9093655115-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:·3e4c30925524c69cc2a8bdd2592ad6662f60584db0e114736295ee4f0ea5b919·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
138 </span><span·class="nf">ping</span><span·class="p"·data-group-id="0979853630-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="0979853630-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="9093655115-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="9093655115-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="0979853630-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="0979853630-6">[</span><span·class="p"·data-group-id="09798[·...·truncated·by·diffoscope;·len:·58,·SHA:·4843b9bfb49352452ac82d6d66f4667687f4ab8dac00788dac3230b58b4250f4·...·]-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="9093655115-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="9093655115-6">[</span><span·class="p"·data-group-id="90936[·...·truncated·by·diffoscope;·len:·58,·SHA:·5d3784d3475cf9798304cb6cac3899909e5b91aa91c87081f3f952a12ed53894·...·]-5">)</span><span·class="p">;</span><span·class="w">
  
140 </span><span·class="nf">ping</span><span·class="p"·data-group-id="0979853630-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="0979853630-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="9093655115-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="9093655115-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ····</span><span·class="p"·data-group-id="0979853630-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="0979853630-8">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·305,·SHA:·dad219a00d2eec47a349f1e73631cb4432f520aac057ba848f3c44b19eb19b1c·...·]-9">}</span><span·class="p">,</span><span·class="w">141 ····</span><span·class="p"·data-group-id="9093655115-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="9093655115-8">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·305,·SHA:·156ae8d71a2d6019d0c37cd5cd3b4f627859e5e38a635587c84f88d323441d79·...·]-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="0979853630-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="0979853630-12">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·55d00bf7e91224de7736aff9ce843271172bf61b18c24231250a915f3b984c55·...·]-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="9093655115-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="9093655115-12">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·18bf38e3a1e8e3a00a964819e22eb14d93a02cbbd51e491fe814b5ae1401aa65·...·]-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="0979853630-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="0[·...·truncated·by·diffoscope;·len:·9,·SHA:·796810a5debcf44f789a269ed44dc2634a8de108ec9af48b009a308525ccbc31·...·]-13">)</span><span·class="p">.</span><span·class="w">146 ····</span><span·class="nf">ping</span><span·class="p"·data-group-id="9093655115-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="9[·...·truncated·by·diffoscope;·len:·9,·SHA:·5055fbd59d63ec9027fba63508ecb36b6a231c665ae6b9f73c62e0961f0fcdf0·...·]-13">)</span><span·class="p">.</span><span·class="w">
  
147 </span><span·class="nf">pong</span><span·class="p"·data-group-id="0979853630-14">(</span><span·class="p"·data-group-id="0979853630-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="9093655115-14">(</span><span·class="p"·data-group-id="9093655115-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="0979853630-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="0979853630-15">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">149 ········</span><span·class="p"·data-group-id="9093655115-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="9093655115-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="0979853630-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="0979853630-17">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·42bbd9344875d2f206499a3c61de106592fb4d0e6040955fffcec7a1ac8c5467·...·]-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="9093655115-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="9093655115-17">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·37986c6f376527f094d98e26afd2aedccd0e07c0e74ea430a303063b831e3327·...·]-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="0979853630-18">(</span><span·class="p"·data-group-id="0979853630-18">)</span><span·class="w">152 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="9093655115-18">(</span><span·class="p"·data-group-id="9093655115-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="0979853630-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="0979853630-20">[</span><span·class="p"·data-group-id="09[·...·truncated·by·diffoscope;·len:·62,·SHA:·a1984592eb2912c320f84879386bbe3fc1ee742af950ba6e74ce77960ca27c8d·...·]-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="9093655115-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="9093655115-20">[</span><span·class="p"·data-group-id="90[·...·truncated·by·diffoscope;·len:·62,·SHA:·a79c362db9c62a0e84b9cc5a53225e70776d6e5601ec2dc48c81f81b583145d6·...·]-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="0979853630-21">(</span><span·class="p"·data-group-id="0979853630-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="9093655115-21">(</span><span·class="p"·data-group-id="9093655115-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="0979853630-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="0979853630-23">(</span><span·class="ss">tut19</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·282,·SHA:·3a484192dee7d35437e1f88a71dc73fe5ef33bf5c080615004084c35c3a4b08e·...·]-22">)</span><span·class="p">.</span><span·class="w">157 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="9093655115-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="9093655115-23">(</span><span·class="ss">tut19</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·282,·SHA:·c85068d6574d2359f7863c1836db7923f5de5f43ce767dff11329dc5e8b2662f·...·]-22">)</span><span·class="p">.</span><span·class="w">
  
158 </span><span·class="nf">start_ping</span><span·class="p"·data-group-id="0979853630-25">(</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="0979853630-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="9093655115-25">(</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="9093655115-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="0979853630-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="0979853630-27">[</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·174,·SHA:·02ad56e598c51219207ec80955b9d8575c8696df7c29e827f5441ea3405f57cb·...·]-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="9093655115-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="9093655115-27">[</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·174,·SHA:·ee5a3b35425ab2c21fd5b3789bab0a960e837148ea3d677eb278c1e533b8252e·...·]-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="5451633535-1">(</span><span·class="p"·data-group-id="5451633535-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="2565008259-1">(</span><span·class="p"·data-group-id="2565008259-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="5451633535-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="5451633535-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 ········</span><span·class="p"·data-group-id="2565008259-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="2565008259-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="5451633535-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="5451633535-4">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·63,·SHA:·fa482cf8cc2208a88e455c263161557ec5fc4d9915221bfd572ef38b94c66441·...·]-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="2565008259-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="2565008259-4">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·63,·SHA:·7f33581235d37979b1de0de753e4f2dc035fa5d295a9291453e45a7d822d9015·...·]-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="5451633535-5">(</span><span·class="p"·data-group-id="5451633535-5">)</span><span·class="w">175 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="2565008259-5">(</span><span·class="p"·data-group-id="2565008259-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="5451633535-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="5451633535-7">[</span><span·class="p"·data-group-id="5451[·...·truncated·by·diffoscope;·len:·59,·SHA:·b7db0e7e22258d0c2529d70882ea4a0ee9996f4c31e29a671786e3d5c2419c9e·...·]-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="2565008259-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="2565008259-7">[</span><span·class="p"·data-group-id="2565[·...·truncated·by·diffoscope;·len:·59,·SHA:·0e5ae4517b54a84f5f2e4fb30878c6bc0dd0b53d87e8344f6873890814cf6a79·...·]-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="1599269318-1">(</span><span·class="p"·data-group-id="1599269318-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="0695367126-1">(</span><span·class="p"·data-group-id="0695367126-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-15.2.7/doc/html/erlang.html#spawn_link/1">spawn_link</a>·that·does·the215 time,·there·is·a·special·BIF,·<a·href="../../erts-15.2.7/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="9382373187-1">(</span><span·class="ss">tut20</span><span·class="p"·data-group-id="9382373187-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="2076677432-1">(</span><span·class="ss">tut20</span><span·class="p"·data-group-id="2076677432-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="9382373187-2">(</span><span·class="p"·data-group-id="9382373187-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:·9fa9ae9a0dd96e2b7bb75f6a58716061797e21e4efaa2eec12543970fe61d263·...·]-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="2076677432-2">(</span><span·class="p"·data-group-id="2076677432-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:·ec5b48e1337326743a44ce074d674a8bf99678ddd5f586e97f87a3616f5335a8·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
219 </span><span·class="nf">ping</span><span·class="p"·data-group-id="9382373187-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="9382373187-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="2076677432-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="2076677432-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="9382373187-5">(</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="9382373187-5">)</span><span·class="p">,</span><span·class="w">220 ····</span><span·class="nf">link</span><span·class="p"·data-group-id="2076677432-5">(</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="2076677432-5">)</span><span·class="p">,</span><span·class="w">
221 ····</span><span·class="nf">ping1</span><span·class="p"·data-group-id="9382373187-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="9382373187-6">)</span><span·class="p">.</span><span·class="w">221 ····</span><span·class="nf">ping1</span><span·class="p"·data-group-id="2076677432-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="2076677432-6">)</span><span·class="p">.</span><span·class="w">
  
222 </span><span·class="nf">ping1</span><span·class="p"·data-group-id="9382373187-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="9382373187-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="2076677432-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="2076677432-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="9382373187-8">(</span><span·class="ss">ping</span><span·class="p"·data-group-id="9382373187-8">)</span><span·class="p">;</span><span·class="w">223 ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="2076677432-8">(</span><span·class="ss">ping</span><span·class="p"·data-group-id="2076677432-8">)</span><span·class="p">;</span><span·class="w">
  
224 </span><span·class="nf">ping1</span><span·class="p"·data-group-id="9382373187-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="9382373187-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="2076677432-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="2076677432-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="9382373187-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="9382373187-11">(</span><span·class="p"·data-group-id="9382373187-11">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·9e476a1ea58f090e72a7d4c25033ca308297cb5a4acda35a8ef70dfc8630aac0·...·]-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="2076677432-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="2076677432-11">(</span><span·class="p"·data-group-id="2076677432-11">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·c3548466c4ce363a5e595503a476bb742b7e41ece73dd8a1d8d791147bf2b649·...·]-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="9382373187-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="9382373187-13">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·99a4583c509fefe2bfcf38550feced1636d398e8dca7a9d5abc16764858d2ca3·...·]-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="2076677432-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="2076677432-13">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·cdee255dcfa3b3602963de6fe23f5a17fd663b486af7bd23fc18258ebd16f774·...·]-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="9382373187-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="93[·...·truncated·by·diffoscope;·len:·8,·SHA:·2e2da1349dbc27e6f139dfec1741959ef2dd99b42e05b1c000c97eedb39dbda7·...·]-14">)</span><span·class="p">.</span><span·class="w">230 ····</span><span·class="nf">ping1</span><span·class="p"·data-group-id="2076677432-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="20[·...·truncated·by·diffoscope;·len:·8,·SHA:·a365c51651b66f7ed1f95677b86e5b6157104c36c8a73d2117b6fa3f4877a792·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
231 </span><span·class="nf">pong</span><span·class="p"·data-group-id="9382373187-15">(</span><span·class="p"·data-group-id="9382373187-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="2076677432-15">(</span><span·class="p"·data-group-id="2076677432-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="9382373187-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="9382373187-16">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">233 ········</span><span·class="p"·data-group-id="2076677432-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="2076677432-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="9382373187-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="9382373187-18">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·90a8e3764bd2458c7d702c0f8eff72128f2275da1362bb25a7a2da7070795547·...·]-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="2076677432-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="2076677432-18">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·1df9cacfd42527c1d909fe13d40398c088e8520127ef9533f97c190c8fa4cad2·...·]-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="9382373187-19">(</span><span·class="p"·data-group-id="9382373187-19">)</span><span·class="w">236 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="2076677432-19">(</span><span·class="p"·data-group-id="2076677432-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="9382373187-20">(</span><span·class="n">Ping_Node</span><span·class="p"·data-group-id="9382373187-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="2076677432-20">(</span><span·class="n">Ping_Node</span><span·class="p"·data-group-id="2076677432-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="9382373187-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="9382373187-22">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·f45dee7253aad4988a9fa00d33aec66a23307b86294eac7b37d9c798bfe88832·...·]-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="2076677432-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="2076677432-22">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·8e5a94db0b007528dff1565498853d89e4996c0761857b5190b8ab6e0603db08·...·]-21">)</span><span·class="p">,</span><span·class="w">
240 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="9382373187-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:·c318fb7620ab5d6dc70eb0bb101b71a1a3c61c68eaf32d38ab25a1ec167ca9e8·...·]-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="2076677432-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:·6f0d7b67c22f2518a1e4067cebafec49e129f296a91b10710fff3c711d4354e9·...·]-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-15.2.7/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-15.2.7/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="9064914468-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="9064914468-1">)</span></code></pre><p>There·are·several·other·process·flags,·see·<a·href="../../erts-15.2.7/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="7472253729-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="7472253729-1">)</span></code></pre><p>There·are·several·other·process·flags,·see·<a·href="../../erts-15.2.7/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="8003049956-1">(</span><span·class="ss">tut21</span><span·class="p"·data-group-id="8003049956-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="0041070252-1">(</span><span·class="ss">tut21</span><span·class="p"·data-group-id="0041070252-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="8003049956-2">(</span><span·class="p"·data-group-id="8003049956-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:·9901c3b9245d99312aced929471fda77347087538d11b381355a68237d063408·...·]-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="0041070252-2">(</span><span·class="p"·data-group-id="0041070252-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:·89024a42f2e0107e08e24fed940a89657ab731269951b79dfa96d62846c9142f·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
260 </span><span·class="nf">ping</span><span·class="p"·data-group-id="8003049956-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="8003049956-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="0041070252-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="0041070252-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 73431/116487 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>136 <p>Copyright·©·1996-2025·<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;
553 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="0694782585-1">(</span><span·class="ss">ch_sup</span><span·class="p"·data-group-id="0694782585-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="8256681430-1">(</span><span·class="ss">ch_sup</span><span·class="p"·data-group-id="8256681430-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="0694782585-2">(</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="0694782585-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="8256681430-2">(</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="8256681430-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="0694782585-3">(</span><span·class="p"·data-group-id="0694782585-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0694782585-4">]</span><span·class="p"·data-group-id="0694782585-3">)</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="8256681430-3">(</span><span·class="p"·data-group-id="8256681430-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="8256681430-4">]</span><span·class="p"·data-group-id="8256681430-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="0694782585-5">(</span><span·class="p"·data-group-id="0694782585-6">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="0694782585-6">]</span><span·class="p"·data-group-id="0694782585-5">)</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="8256681430-5">(</span><span·class="p"·data-group-id="8256681430-6">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8256681430-6">]</span><span·class="p"·data-group-id="8256681430-5">)</span><span·class="p">.</span><span·class="w">
  
140 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="0694782585-7">(</span><span·class="p"·data-group-id="0694782585-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="8256681430-7">(</span><span·class="p"·data-group-id="8256681430-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="0694782585-8">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0694782585-9">[</span><span·class="p"·data-group-id="0694782585-9">]</span><span·class="p"·data-group-id="0694782585-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="8256681430-8">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8256681430-9">[</span><span·class="p"·data-group-id="8256681430-9">]</span><span·class="p"·data-group-id="8256681430-8">)</span><span·class="p">.</span><span·class="w">
  
142 </span><span·class="nf">init</span><span·class="p"·data-group-id="0694782585-10">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="0694782585-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="8256681430-10">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="8256681430-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="0694782585-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:·b00b72573d56028595afcc1afb266de64d6e8e71871cae6822ac67d90a5d63a9·...·]-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="8256681430-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:·688af5632899d4530ade2062b989d35ce706ac134141fa38c5c34f9e84d48c08·...·]-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="0694782585-12">[</span><span·class="p"·data-group-id="0694782585-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="8256681430-12">[</span><span·class="p"·data-group-id="8256681430-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="0694782585-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="0694782585-15">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·73,·SHA:·d37d08b6adc80bda3e1ecbdca15ce6a4217cbb468627a627647464699f99ed86·...·]-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="8256681430-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="8256681430-15">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·73,·SHA:·43946d26f086f6c37e23d77ae5f437fde31541b44ef9428e4963b2df9ee430ef·...·]-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="0694782585-16">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="0694782585-16">]</span><span·class="p"·data-group-id="0694782585-13">}</span><span·class="p"·data-group-id="0694782585-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="8256681430-16">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="8256681430-16">]</span><span·class="p"·data-group-id="8256681430-13">}</span><span·class="p"·data-group-id="8256681430-12">]</span><span·class="p">,</span><span·class="w">
150 ····</span><span·class="p"·data-group-id="0694782585-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0694782585-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:·1ac2a6bcf1d826e35b8235bbaa6f8f1b66477ac1da6f2d774b1d6736901ce78a·...·]-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="8256681430-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8256681430-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:·da170f15f58ad4d8ca0b036bff30a8f99e339455a594b9bc67fcd8aed48a5c45·...·]-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="8657889997-1">(</span><span·class="p"·data-group-id="8657889997-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8657889997-2">#{</span><span·class="ss">strategy</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·9d86a9fa807ad8e2d8d62d44a86c18940a3a8b809f940f542a438b5c0073aadb·...·]-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="5252621086-1">(</span><span·class="p"·data-group-id="5252621086-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5252621086-2">#{</span><span·class="ss">strategy</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·ac0aff4b0ffc6c650199f132040163b495462084fb2599622cee095bea01e709·...·]-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="8657889997-4">(</span><span·class="p"·data-group-id="8657889997-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="5252621086-4">(</span><span·class="p"·data-group-id="5252621086-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="8657889997-5">(</span><span·class="p"·data-group-id="8657889997-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="5252621086-5">(</span><span·class="p"·data-group-id="5252621086-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="8657889997-6">(</span><span·class="p"·data-group-id="8657889997-6">)</span><span·class="p"·data-group-id="8657889997-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="5252621086-6">(</span><span·class="p"·data-group-id="5252621086-6">)</span><span·class="p"·data-group-id="5252621086-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="8657889997-7">(</span><span·class="p"·data-group-id="8657889997-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="5252621086-7">(</span><span·class="p"·data-group-id="5252621086-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="8657889997-8">(</span><span·class="p"·data-group-id="8657889997-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="5252621086-8">(</span><span·class="p"·data-group-id="5252621086-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="8457339891-1">(</span><span·class="p"·data-group-id="8457339891-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8457339891-2">#{</span><span·class="ss">id</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·173,·SHA:·5179f0e2bffd92b64272f538e168cfe6081ff37a24952f117a1b9477d12c741e·...·]-3">)</span><span·class="p">,</span><span·class="w">·············</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="0012162516-1">(</span><span·class="p"·data-group-id="0012162516-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0012162516-2">#{</span><span·class="ss">id</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·173,·SHA:·dac7c4a15635a03d8e7a889eae91f737c8fa70319b970a91d72824feddd1245f·...·]-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="8457339891-4">(</span><span·class="p"·data-group-id="8457339891-4">)</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="0012162516-4">(</span><span·class="p"·data-group-id="0012162516-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="8457339891-5">(</span><span·class="p"·data-group-id="8457339891-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="0012162516-5">(</span><span·class="p"·data-group-id="0012162516-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="8457339891-6">(</span><span·class="p"·data-group-id="8457339891-6">)</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="0012162516-6">(</span><span·class="p"·data-group-id="0012162516-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="8457339891-7">(</span><span·class="p"·data-group-id="8457339891-7">)</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="0012162516-7">(</span><span·class="p"·data-group-id="0012162516-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="8457339891-8">(</span><span·class="p"·data-group-id="8457339891-8">)</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="0012162516-8">(</span><span·class="p"·data-group-id="0012162516-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="8457339891-9">(</span><span·class="p"·data-group-id="8457339891-9">)</span><span·class="p"·data-group-id="8457339891-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="0012162516-9">(</span><span·class="p"·data-group-id="0012162516-9">)</span><span·class="p"·data-group-id="0012162516-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="8457339891-10">(</span><span·class="p"·data-group-id="8457339891-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="8457339891-11">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·f528f2581ee2965b3dee9b2a3b980f43d61c112dd8f8a49b6501d6fbf94864d6·...·]-11">)</span><span·class="w">422 ····</span><span·class="nf">child_id</span><span·class="p"·data-group-id="0012162516-10">(</span><span·class="p"·data-group-id="0012162516-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="0012162516-11">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·25cbfa71ed70b24a5ce171f8cef22e437b3d3c30fdcb59411f6f9af6b0977016·...·]-11">)</span><span·class="w">
423 ····</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="8457339891-12">(</span><span·class="p"·data-group-id="8457339891-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8457339891-13">{</span><span·class="n">M</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·962,·SHA:·0648ebe645c1cb2b5d53df3054d6ae016d7baca5b0a585c2e021aa1765229e67·...·]-13">}</span><span·class="w">423 ····</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="0012162516-12">(</span><span·class="p"·data-group-id="0012162516-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0012162516-13">{</span><span·class="n">M</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·962,·SHA:·e8d75300b161e0b3d4ded0f0d694e486ddf4a9c3e221b3359f36f3693bced153·...·]-13">}</span><span·class="w">
424 ····</span><span·class="nf">modules</span><span·class="p"·data-group-id="8457339891-18">(</span><span·class="p"·data-group-id="8457339891-18">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8457339891-19">[</span><span·class="nf">module</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·126,·SHA:·dbe971240431227d044312b7c7690e6bb09adb3fbbe7ffefca1280b3cc20f9ed·...·]-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="0012162516-18">(</span><span·class="p"·data-group-id="0012162516-18">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0012162516-19">[</span><span·class="nf">module</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·126,·SHA:·0b4aecec91bfcfec5118354f21ba87cc789ddc2f669133630df2665abd58594f·...·]-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="8457339891-21">(</span><span·class="p"·data-group-id="8457339891-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="0012162516-21">(</span><span·class="p"·data-group-id="0012162516-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="8457339891-22">(</span><span·class="p"·data-group-id="8457339891-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="8457339891-23">(</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·4dc1bf08b12b222a014f568cbbb1d785739bcbf5a53c29e37ad3620ade07a7ba·...·]-23">)</span><span·class="w">426 ····</span><span·class="nf">significant</span><span·class="p"·data-group-id="0012162516-22">(</span><span·class="p"·data-group-id="0012162516-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="0012162516-23">(</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·7ab67b9bdc17f6b21ee9bc8772638c1073720949202c20faece97b508b22c99d·...·]-23">)</span><span·class="w">
427 ····</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="8457339891-24">(</span><span·class="p"·data-group-id="8457339891-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:·ddfaf76e67b01eb67d2560ddd17169c04be73b2790d46617bc5a4fb455c3cd1e·...·]-25">)</span><span·class="w">427 ····</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="0012162516-24">(</span><span·class="p"·data-group-id="0012162516-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:·5190835dc1d2b5a0138e1b6d7e4555c3bc34b83cf4e228d7960e06ea25486160·...·]-25">)</span><span·class="w">
428 ····</span><span·class="nf">worker</span><span·class="p"·data-group-id="8457339891-26">(</span><span·class="p"·data-group-id="8457339891-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="0012162516-26">(</span><span·class="p"·data-group-id="0012162516-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-15.2.7/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-6.2.2/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link/2,3</code></a></li><li><a·href="../../lib/stdlib-6.2.2/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-6.2.2/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-6.2.2/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-15.2.7/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-6.2.2/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link/2,3</code></a></li><li><a·href="../../lib/stdlib-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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="6804034273-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="3509328954-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="6804034273-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="6804034273-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·5ed2dea781f63a5ccf086dc02d273d48a4cef35acd90bd93510c6c37c1a3b124·...·]-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="3509328954-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="3509328954-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·2c2510426a1cc3b861986a3ec7d42f743e5965cdd3351e4a6f4e4aafaf521533·...·]-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="6804034273-4">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="6804034273-4">]</span><span·class="p"·data-group-id="6804034273-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="3509328954-4">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="3509328954-4">]</span><span·class="p"·data-group-id="3509328954-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="5634902518-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="2154301194-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="5634902518-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="5634902518-3">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·292,·SHA:·0c007806368f7926ca2dd267f40a3e1969f1fd5ca06b73f04877d47257733ee9·...·]-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="2154301194-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="2154301194-3">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·292,·SHA:·03df90ae42e0fddb3b6014a43170b0b28acb68886d3da2f50cc0f784c0f0f686·...·]-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="5634902518-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="2154301194-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="0454698178-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="7674948850-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="0454698178-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="0454698178-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·0bf905e189786add694d48a0124d64165e5762df2d6fe3a7f672d645f6317226·...·]-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="7674948850-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="7674948850-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·c6a1d10387c44f4f3f7f89b0acba5aaf6b3ffd92440f65608ce511752b431c72·...·]-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="0454698178-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="7674948850-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="0750538246-1">(</span><span·class="p"·data-group-id="0750538246-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="7093337461-1">(</span><span·class="p"·data-group-id="7093337461-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="0750538246-2">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0750538246-3">[</span><span·class="p"·data-group-id="0750538246-3">]</span><span·class="p"·data-group-id="0750538246-2">)</span><span·class="p">.</span></code></pre><p><code·class="inline">ch_sup:start_link</code>·calls·function·<a·href="../../lib/stdlib-6.2.2/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="7093337461-2">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7093337461-3">[</span><span·class="p"·data-group-id="7093337461-3">]</span><span·class="p"·data-group-id="7093337461-2">)</span><span·class="p">.</span></code></pre><p><code·class="inline">ch_sup:start_link</code>·calls·function·<a·href="../../lib/stdlib-6.2.2/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-6.2.2/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link({local,·Name},·Module,·Args)</code></a>494 <a·href="../../lib/stdlib-6.2.2/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-6.2.2/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-6.2.2/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="8366745911-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="8366745911-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="8004835959-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="8004835959-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="8366745911-2">#{</span><span·class="p"·data-group-id="8366745911-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="8004835959-2">#{</span><span·class="p"·data-group-id="8004835959-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="8366745911-3">[</span><span·class="p"·data-group-id="8366745911-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="8004835959-3">[</span><span·class="p"·data-group-id="8004835959-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="8366745911-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="8366745911-6">[</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·0d273d8d2c0c6581debb01f73447ffa54d41bdbe115701210ed10794ebb4c8c4·...·]-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="8004835959-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="8004835959-6">[</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·60ca6dd63533f8eca8ac190603f6470768e5eb63fff0882f4c04258151f9161e·...·]-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="8366745911-4">}</span><span·class="p"·data-group-id="8366745911-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="8004835959-4">}</span><span·class="p"·data-group-id="8004835959-3">]</span><span·class="p">,</span><span·class="w">
502 ····</span><span·class="p"·data-group-id="8366745911-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8366745911-8">{</span><span·class="n">SupFlags</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ChildSpecs</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·9a857fae534823c9cc5bcca307524c8787b2aa831aac528baf822984efb919ea·...·]-7">}</span><span·class="p">.</span></code></pre><p>Subsequently,·the·supervisor·starts·its·child·processes·according·to·the·child502 ····</span><span·class="p"·data-group-id="8004835959-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8004835959-8">{</span><span·class="n">SupFlags</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ChildSpecs</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·1466a25e2c9d86e0430fab90b24a6e301859dc9ac71b31b45c4c2e1b430452ef·...·]-7">}</span><span·class="p">.</span></code></pre><p>Subsequently,·the·supervisor·starts·its·child·processes·according·to·the·child
503 specifications·in·the·start·specification.·In·this·case·there·is·a·single·child503 specifications·in·the·start·specification.·In·this·case·there·is·a·single·child
504 process,·called·<code·class="inline">ch3</code>.</p><p><a·href="../../lib/stdlib-6.2.2/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link/3</code></a>·is·synchronous.·It·does·not·return·until·all·child504 process,·called·<code·class="inline">ch3</code>.</p><p><a·href="../../lib/stdlib-6.2.2/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link/3</code></a>·is·synchronous.·It·does·not·return·until·all·child
505 processes·have·been·started.</p><h2·id="adding-a-child-process"·class="section-heading">505 processes·have·been·started.</p><h2·id="adding-a-child-process"·class="section-heading">
Max diff block lines reached; 12342/65935 bytes (18.72%) 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 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>221 <p>Copyright·©·1996-2025·<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;
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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>271 <p>Copyright·©·1996-2025·<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="9139432440-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="9139432440-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="9082007471-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="9082007471-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
154 ····</span><span·class="p"·data-group-id="9139432440-2">[</span><span·class="p"·data-group-id="9139432440-2">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">154 ····</span><span·class="p"·data-group-id="9082007471-2">[</span><span·class="p"·data-group-id="9082007471-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="9139432440-3">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class="p"·data-group-id="9139432440-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">156 ····</span><span·class="p"·data-group-id="9082007471-3">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class="p"·data-group-id="9082007471-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="9139432440-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="9139432440-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="9082007471-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="9082007471-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="3100274646-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="3100274646-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="1311899099-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="1311899099-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="3100274646-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="3100274646-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="1311899099-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="1311899099-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
172 ········</span><span·class="p"·data-group-id="3100274646-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="3100274646-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 ········</span><span·class="p"·data-group-id="1311899099-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="1311899099-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="3100274646-4">(</span><span·class="n">Person</span><span·class="p"·data-group-id="3100274646-4">)</span><span·class="p">,</span><span·class="w">173 ············</span><span·class="nf">print_name</span><span·class="p"·data-group-id="1311899099-4">(</span><span·class="n">Person</span><span·class="p"·data-group-id="1311899099-4">)</span><span·class="p">,</span><span·class="w">
174 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="3100274646-5">(</span><span·class="n">Person</span><span·class="p"·data-group-id="3100274646-5">)</span><span·class="p">,</span><span·class="w">174 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="1311899099-5">(</span><span·class="n">Person</span><span·class="p"·data-group-id="1311899099-5">)</span><span·class="p">,</span><span·class="w">
175 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="3100274646-6">(</span><span·class="n">Person</span><span·class="p"·data-group-id="3100274646-6">)</span><span·class="p">;</span><span·class="w">175 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="1311899099-6">(</span><span·class="n">Person</span><span·class="p"·data-group-id="1311899099-6">)</span><span·class="p">;</span><span·class="w">
176 ········</span><span·class="p"·data-group-id="3100274646-7">[</span><span·class="p"·data-group-id="3100274646-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 ········</span><span·class="p"·data-group-id="1311899099-7">[</span><span·class="p"·data-group-id="1311899099-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="3100274646-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="3100274646-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·d6eae4dc0f16b4d39b1515ac0a26899e0a7c3f998bdb0cbcddc96a9378bd4d75·...·]-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="1311899099-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="1311899099-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·ece1f328d98d7934165bee5a900e4baa738625f2e3bef7b30fa20c394da58617·...·]-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="3100274646-10">(</span><span·class="n">Person</span><span·class="p"·data-group-id="3100274646-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="1311899099-10">(</span><span·class="n">Person</span><span·class="p"·data-group-id="1311899099-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="3100274646-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="3100274646-12">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·d2497b1a0b6860e7ea9d8d46612e93c8396ce8a3ac594b031bb59cab12dd9788·...·]-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="1311899099-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="1311899099-12">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·648529ac7aded4a5cee195b2ff6a4b2fcd42d78f4ca6684da7cfe7d80d07c8ff·...·]-11">)</span><span·class="p">.</span><span·class="w">
  
182 </span><span·class="nf">print_age</span><span·class="p"·data-group-id="3100274646-13">(</span><span·class="n">Person</span><span·class="p"·data-group-id="3100274646-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="1311899099-13">(</span><span·class="n">Person</span><span·class="p"·data-group-id="1311899099-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="3100274646-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="3100274646-15">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·0bf8977ae076bd2853b0177304b23c6bde260e6eda13dc99a057eef2255f3abb·...·]-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="1311899099-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="1311899099-15">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·1dd0447f35964ee6b50df909561183213cc69532e81b556830411a56e736e5c6·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
184 </span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="3100274646-16">(</span><span·class="n">Person</span><span·class="p"·data-group-id="3100274646-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="1311899099-16">(</span><span·class="n">Person</span><span·class="p"·data-group-id="1311899099-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="3100274646-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="3100274646-18">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·cdcba2ac3c208c717d63b263c9aac6a4957278068fdc8c9ea555855ba601c718·...·]-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="1311899099-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="1311899099-18">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·88cb7ec170d9479f91a460e1d3b0855f1ae4d5c4431d528acf9e664ed86658c7·...·]-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="9109695802-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="9109695802-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="5882544274-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="5882544274-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="9109695802-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="9109695802-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="5882544274-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="5882544274-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
189 ········</span><span·class="p"·data-group-id="9109695802-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="9109695802-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 ········</span><span·class="p"·data-group-id="5882544274-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="5882544274-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="9109695802-4">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9109695802-4">)</span><span·class="p">,</span><span·class="w">190 ············</span><span·class="nf">print_name</span><span·class="p"·data-group-id="5882544274-4">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5882544274-4">)</span><span·class="p">,</span><span·class="w">
191 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="9109695802-5">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9109695802-5">)</span><span·class="p">,</span><span·class="w">191 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="5882544274-5">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5882544274-5">)</span><span·class="p">,</span><span·class="w">
192 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="9109695802-6">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9109695802-6">)</span><span·class="p">;</span><span·class="w">192 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="5882544274-6">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5882544274-6">)</span><span·class="p">;</span><span·class="w">
193 ········</span><span·class="p"·data-group-id="9109695802-7">[</span><span·class="p"·data-group-id="9109695802-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 ········</span><span·class="p"·data-group-id="5882544274-7">[</span><span·class="p"·data-group-id="5882544274-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="9109695802-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="9109695802-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·f2a3235c5fc1769d92220411e284597826e956774faa988797a955605da762f6·...·]-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="5882544274-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="5882544274-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·01a817538bd13496c67e78b293196b61a8dee4c53b1adcb5fb096c58a5444b6f·...·]-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="9109695802-10">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9109695802-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="5882544274-10">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5882544274-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
198 ····</span><span·class="p"·data-group-id="9109695802-11">[</span><span·class="n">Person</span><span·class="p"·data-group-id="9109695802-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:·2fd9c93b41fa4e9ed6bd1deb8647f77802b1ae938ac7dbcbc38473ca97da26bf·...·]-12">)</span><span·class="p">,</span><span·class="w">198 ····</span><span·class="p"·data-group-id="5882544274-11">[</span><span·class="n">Person</span><span·class="p"·data-group-id="5882544274-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:·038b79ad04b8accd9cb52534ab0c6780b34e2c3a515398bf5037b0a8be3dbf50·...·]-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="9109695802-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="9109695802-14">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·0ec9e89e2a07ba23586e2585648f8499b6fa8ef9b5ad5039e0a8ab708bb4e9ef·...·]-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="5882544274-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="5882544274-14">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·361a9914eba4565f30ab626fce2585842ba9882153c9c9ab0dd1acbc67453cf9·...·]-13">)</span><span·class="p">.</span><span·class="w">
  
200 </span><span·class="nf">print_age</span><span·class="p"·data-group-id="9109695802-15">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9109695802-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="5882544274-15">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5882544274-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
201 ····</span><span·class="p"·data-group-id="9109695802-16">[</span><span·class="n">Person</span><span·class="p"·data-group-id="9109695802-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:·76932e9131cf2e9f5682586ae9196f34833ec02fdc599c5b95ff6c82b5d6da95·...·]-17">)</span><span·class="p">,</span><span·class="w">201 ····</span><span·class="p"·data-group-id="5882544274-16">[</span><span·class="n">Person</span><span·class="p"·data-group-id="5882544274-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:·9c116990707d42d4e676384efa9d49c6fe0df39524deef52264f04970dc18ba5·...·]-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="9109695802-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="9109695802-19">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·3e436d5ec4599c415f0d7b7f54d0d0cf64cfefc2279332cb7cc0914ccadd63f8·...·]-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="5882544274-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="5882544274-19">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·fd3009b2615545f73a9ed65f8048b010853f4c35bebfffd5895b6270ada7266a·...·]-18">)</span><span·class="p">.</span><span·class="w">
  
203 </span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="9109695802-20">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9109695802-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="5882544274-20">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5882544274-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
204 ····</span><span·class="p"·data-group-id="9109695802-21">[</span><span·class="n">Person</span><span·class="p"·data-group-id="9109695802-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:·d917872ff5267c09596ec917417b8b83c5e482cfa9cd1f9e1b9c774929411dc5·...·]-22">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="p"·data-group-id="5882544274-21">[</span><span·class="n">Person</span><span·class="p"·data-group-id="5882544274-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:·a907f8aafe346234ac47940596fac3ff6a9c67d83b0aca0634303e315f63b692·...·]-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="9109695802-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="9109695802-24">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·1114682796635490b7bb47ce0f361bcb31b4de08025e6a5ac17d95d4099bac47·...·]-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="5882544274-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="5882544274-24">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·ec718e1abed03421a55ffc4f74110d8a53bc1b620df2b432ad38d5cdb8deef01·...·]-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-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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="1586968869-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1586968869-2">[</span><span·class="p"·data-group-id="1586968869-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·31948b038a9e861258c116c99ffcc3155de29294c5e952411e8b71432c4dec7f·...·]-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="4133875353-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4133875353-2">[</span><span·class="p"·data-group-id="4133875353-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·495c40d3e3144b9695402afeaf295093344f476f229ddc17f8d658de50f05a4c·...·]-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="1586968869-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="4133875353-4">}</span><span·class="p">,</span><span·class="w">
237 ················</span><span·class="p"·data-group-id="1586968869-5">[</span><span·class="p"·data-group-id="1586968869-5">]</span><span·class="p">,</span><span·class="w">237 ················</span><span·class="p"·data-group-id="4133875353-5">[</span><span·class="p"·data-group-id="4133875353-5">]</span><span·class="p">,</span><span·class="w">
238 ················</span><span·class="p"·data-group-id="1586968869-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="1586968869-6">]</span><span·class="p"·data-group-id="1586968869-3">}</span><span·class="p"·data-group-id="1586968869-2">]</span><span·class="p"·data-group-id="1586968869-1">)</span><span·class="p">,</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">TabList</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">tab2list</span><span·class="p"·data-group-id="7163190063-1">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="7163190063-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="7163190063-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7163190063-3">(</span><span·class="n">X</span><span·class=[·...·truncated·by·diffoscope;·len:·1129,·SHA:·214a0871ea2811bd3952f6fb60ecf1824a50a79870292ce688c31d83ab78fea8·...·]</span><span·class="p">,</span><span·class="w">238 ················</span><span·class="p"·data-group-id="4133875353-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4133875353-6">]</span><span·class="p"·data-group-id="4133875353-3">}</span><span·class="p"·data-group-id="4133875[·...·truncated·by·diffoscope;·len:·493,·SHA:·47374073971b88c4c409fbeb34878df7000819dc865f22c45731b313c0f8a3d6·...·]</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="5024097974-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5024097974-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="5024097974-3">)</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="ss">person</span><span·class="p">.</span><span·class="ss">age</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabList</span><span·class="p"·data-group-id="5024097974-2">)</span><span·class="p">,</span></code></pre><p>If·you·are·only·interested·in·the·age·of·all·persons·named·&quot;Bryan&quot;,·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="1728876638-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1728876638-2">[</span><span·class="p"·data-group-id="1728876638-3">{</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="1728876638-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="1836173698-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="1728876638-4">}</span><span·class="p">,</span><span·class="w">
243 ················</span><span·class="p"·data-group-id="1836173698-5">[</span><span·class="p"·data-group-id="1836173698-5">]</span><span·class="p">,</span><span·class="w">243 ················</span><span·class="p"·data-group-id="1728876638-5">[</span><span·class="p"·data-group-id="1728876638-5">]</span><span·class="p">,</span><span·class="w">
244 ················</span><span·class="p"·data-group-id="1836173698-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="1836173698-6">]</span><span·class="p"·data-group-id="1836173698-3">}</span><span·class="p"·data-group-id="1836173698-2">]</span><span·class="p"·data-group-id="183617369[·...·truncated·by·diffoscope;·len:·409,·SHA:·8963111ef7906abeee2db285275c3cac14d205f889d8d1eed522450de76c817e·...·]-1">)</span><span·class="p">,</span><span·class="w">244 ················</span><span·class="p"·data-group-id="1728876638-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="1728876638-6">]</span><span·class="p"·data-group-id="1728876638-3">}</span><span·class="p"·data-group-id="1728876638-2">]</span><span·class="p"·data-group-id="172887663[·...·truncated·by·diffoscope;·len:·409,·SHA:·4af8d224206ef72d1d2c5b042fa291bd408b5e18bda86189b0e1cdce3e8d773b·...·]-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="4099706831-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4099706831-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="4099706831-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="4864402734-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4864402734-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="4864402734-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="4099706831-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="4099706831-4">]</span><span·class="p">;</span><span·class="w">247 ····································</span><span·class="p"·data-group-id="4864402734-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="4864402734-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="4099706831-5">[</span><span·class="p"·data-group-id="4099706831-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabList</span><span·class="p"·data-group-id="4099706831-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="4864402734-5">[</span><span·class="p"·data-group-id="4864402734-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabList</span><span·class="p"·data-group-id="4864402734-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="9429240517-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9429240517-2">[</span><span·class="p"·data-group-id="9429240517-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·40,·SHA:·fe30abcfc9f1539e020ce5420cd5e839276955635b2ef1d2c4ea373257eb2633·...·]7-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="7220172437-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7220172437-2">[</span><span·class="p"·data-group-id="7220172437-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·40,·SHA:·17b52de790d4a0c055832c15d810ffa73ce9a579be2e81fad2754736c3034528·...·]7-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="9429240517-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9429240517-5">[</span><span·class="p"·data-group-id="9429240517-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9[·...·truncated·by·diffoscope;·len:·689,·SHA:·504094f5f18191f9b29dc5b6dd3cad821220caaed0a49fd586a24b0438db1c9c·...·]-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="7220172437-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7220172437-5">[</span><span·class="p"·data-group-id="7220172437-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·689,·SHA:·d4985cf3ae84165711a8f08cbfafcb34e420982ca789c628337a809bb16b4eb3·...·]-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="9207368579-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9207368579-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="9207368579-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·411,·SHA:·1c5839b68e74edbbf54c0f208f50b8f078e9cae442293839748d82027e9f56a2·...·]-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="3191730803-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3191730803-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="3191730803-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·411,·SHA:·b388155610f4b121021be9cbe2410dca4dd0ac3187d57192f1e64987891389af·...·]-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="2395434758-1">(</span><span·class="n">IndexTable</span><span·class="p">,</span><span·class="s">&quot;Bryan&quot;</span><span·class="p"·data-group-id="2395434758-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="7197174169-1">(</span><span·class="n">IndexTable</span><span·class="p">,</span><span·class="s">&quot;Bryan&quot;</span><span·class="p"·data-group-id="7197174169-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="2395434758-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2395434758-3">(</span><span·class="o">#</span><span·class="ss">index_entry</span><span·class="p"·data-group-id="2395434758-4">{</span><span·class="ss">idno</span><span·class="w[·...·truncated·by·diffoscope;·len:·177,·SHA:·f7e932deb8892b3d75e72b9661ab7bb350f2bd57afbdb93f051a6c942750a2f1·...·]-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="7197174169-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7197174169-3">(</span><span·class="o">#</span><span·class="ss">index_entry</span><span·class="p"·data-group-id="7197174169-4">{</span><span·class="ss">idno</span><span·class="w[·...·truncated·by·diffoscope;·len:·177,·SHA:·8037a86417f0deeab130a0aae64aaf01c464ceb7ca813db8e3302d1dfd76b08c·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
302 ·················</span><span·class="p"·data-group-id="2395434758-5">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="2395434758-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:·a5f257d809fd9d54c79566f805397685184d633eb46916022be6895cb0715510·...·]-7">)</span><span·class="p">,</span><span·class="w">302 ·················</span><span·class="p"·data-group-id="7197174169-5">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="7197174169-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:·8c2a2068bd35992fa9b1b536b3798b04c6753f1faf65d764b42ecd8e042ee115·...·]-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="2395434758-2">)</span><span·class="p">,</span></code></pre><p>Notice·that·this·code·does·not·use·<a·href="../../lib/stdlib-6.2.2/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="7197174169-2">)</span><span·class="p">,</span></code></pre><p>Notice·that·this·code·does·not·use·<a·href="../../lib/stdlib-6.2.2/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>,·but·instead·uses·the
Max diff block lines reached; 17066/72374 bytes (23.58%) 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>189 <p>Copyright·©·1996-2025·<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
70.0 KB
./usr/share/doc/erlang-doc/html/doc/system/typespec.html
    
Offset 238, 124 lines modifiedOffset 238, 124 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-15.2.7/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-15.2.7/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;"><em>Built-in·type</em></th><th·style="text-align:·left;"><em>Defined·as</em></th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-15.2.7/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/doc/html/erlang.html#t:number/0"><code·class="inline">number/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-15.2.7/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>·|·<a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/doc/html/erlang.html#t:module/0"><code·class="inline">module/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/doc/html/erlang.html#node/0"><code·class="inline">node/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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;"><em>Built-in·type</em></th><th·style="text-align:·left;"><em>Defined·as</em></th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-15.2.7/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/doc/html/erlang.html#t:number/0"><code·class="inline">number/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-15.2.7/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>·|·<a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/doc/html/erlang.html#t:module/0"><code·class="inline">module/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/doc/html/erlang.html#node/0"><code·class="inline">node/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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;"><em>Built-in·type</em></th><th·style="text-align:·left;"><em>Can·be·thought·defined·by·the·syntax</em></th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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;"><em>Built-in·type</em></th><th·style="text-align:·left;"><em>Can·be·thought·defined·by·the·syntax</em></th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-15.2.7/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-15.2.7/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-15.2.7/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="8330484510-1">(</span><span·class="p"·data-group-id="8330484510-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="83[·...·truncated·by·diffoscope;·len:·374,·SHA:·340530f229229e8e68791cc0e12ef0316a3542c3fada3374597b95a0056bb632·...·]0-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="5385581270-1">(</span><span·class="p"·data-group-id="5385581270-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="53[·...·truncated·by·diffoscope;·len:·374,·SHA:·20468401ee14216650b559e5a439268d557bb4a362b9eed0bddba3042ffb16ef·...·]0-2">)</span><span·class="w">
246 </span><span·class="nf">nonempty_improper_list</span><span·class="p"·data-group-id="8330484510-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="8330484510-5">)</span><span·class="w">246 </span><span·class="nf">nonempty_improper_list</span><span·class="p"·data-group-id="5385581270-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="5385581270-5">)</span><span·class="w">
247 </span><span·class="nf">nonempty_maybe_improper_list</span><span·class="p"·data-group-id="8330484510-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="8330484510-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="5385581270-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="5385581270-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="7472335026-1">{</span><span·class="p"·data-group-id="7472335026-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="3764528936-1">{</span><span·class="p"·data-group-id="3764528936-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="7472335026-2">{</span><span·class="n">Fields</span><span·class="p"·data-group-id="7472335026-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="3764528936-2">{</span><span·class="n">Fields</span><span·class="p"·data-group-id="3764528936-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="5750885496-1">(</span><span·class="p"·data-group-id="5750885496-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="5750885496-2">{</span><span·class="ss">&#39;gadget&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">reference</span><span·class="p"·data-group-id="5750885496-3">(</span><span·class="p"·data-group-id="5750885496-3">)</span><span·class="p"·data-group-id="5750885496-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="2993917896-1">(</span><span·class="p"·data-group-id="29[·...·truncated·by·diffoscope;·len:·335,·SHA:·0c3aa6b1c4ab437750fa4129690b64fbc93e0220c865cd32f93003ab8dcbbd40·...·]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="1498169250-1[·...·truncated·by·diffoscope;·len:·638,·SHA:·e7d37bc03b50f87a8551259eedafdc3c5ed2865e6861cc707d5915e093e63f59·...·]
 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="3772911218-1">(</span><span·class="p"·data-group-id="3772911218-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3772911218-2">#{</span><span·class="p"·data-group-id="3772911218-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>·and·<code·class="inline">-opaque</code>·attributes·as·in·the269 New·types·are·declared·using·<code·class="inline">-type</code>·and·<code·class="inline">-opaque</code>·attributes·as·in·the
270 following:</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="8320886536-1">(</span><span·class="p"·data-group-id="8320886536-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 following:</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="1771550237-1">(</span><span·class="p"·data-group-id="1771550237-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="8320886536-2">(</span><span·class="p"·data-group-id="8320886536-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></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·a271 </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="1771550237-2">(</span><span·class="p"·data-group-id="1771550237-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></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
272 type·as·defined·in·the·previous·section.·A·current·restriction·is·that·<code·class="inline">Type</code>272 type·as·defined·in·the·previous·section.·A·current·restriction·is·that·<code·class="inline">Type</code>
273 can·contain·only·predefined·types,·or·user-defined·types·which·are·either·of·the273 can·contain·only·predefined·types,·or·user-defined·types·which·are·either·of·the
274 following:</p><ul><li>Module-local·type,·that·is,·with·a·definition·that·is·present·in·the·code·of274 following:</p><ul><li>Module-local·type,·that·is,·with·a·definition·that·is·present·in·the·code·of
275 the·module</li><li>Remote·type,·that·is,·type·defined·in,·and·exported·by,·other·modules;·more275 the·module</li><li>Remote·type,·that·is,·type·defined·in,·and·exported·by,·other·modules;·more
276 about·this·soon.</li></ul><p>For·module-local·types,·the·restriction·that·their·definition·exists·in·the276 about·this·soon.</li></ul><p>For·module-local·types,·the·restriction·that·their·definition·exists·in·the
277 module·is·enforced·by·the·compiler·and·results·in·a·compilation·error.·(A277 module·is·enforced·by·the·compiler·and·results·in·a·compilation·error.·(A
278 similar·restriction·currently·exists·for·records.)</p><p>Type·declarations·can·also·be·parameterized·by·including·type·variables·between278 similar·restriction·currently·exists·for·records.)</p><p>Type·declarations·can·also·be·parameterized·by·including·type·variables·between
279 the·parentheses.·The·syntax·of·type·variables·is·the·same·as·Erlang·variables,279 the·parentheses.·The·syntax·of·type·variables·is·the·same·as·Erlang·variables,
280 that·is,·starts·with·an·upper-case·letter.·These·variables·is·to280 that·is,·starts·with·an·upper-case·letter.·These·variables·is·to
281 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="9108020284-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="9108020284-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·clas[·...·truncated·by·diffoscope;·len:·314,·SHA:·aa94f94a058132861a9e5773c7ca2d3e0d83572eaaeb11f948942c730ba1d89b·...·]-2">]</span><span·class="p">.</span></code></pre><p>A·module·can·export·some·types·to·declare·that·other·modules·are·allowed·to281 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="9233966685-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="9233966685-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·clas[·...·truncated·by·diffoscope;·len:·314,·SHA:·fadb657f77ef8c3c34a2a5f7e464e8956c6b5396fef5614f7449e5ca3b671c5d·...·]-2">]</span><span·class="p">.</span></code></pre><p>A·module·can·export·some·types·to·declare·that·other·modules·are·allowed·to
282 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="2446188305-1">(</span><span·class="p"·data-group-id="2446188305-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:·965,·SHA:·070c2243e07abeb16a8398da61fafcef29457fd5ab2fb1bc3558a78e6c3bd492·...·]-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·to282 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="1613983536-1">(</span><span·class="p"·data-group-id="1613983536-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:·965,·SHA:·884786744b8cc4c53818be1c6292c1b74c01b05b55c792f522872d216fbfaf2d·...·]-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
283 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="6398890209-1">(</span><span·class="p"·data-group-id="6398890209-1">)</span><span·class="w">283 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="2548029383-1">(</span><span·class="p"·data-group-id="2548029383-1">)</span><span·class="w">
284 </span><span·class="nc">mod</span><span·class="p">:</span><span·class="nf">orddict</span><span·class="p"·data-group-id="6398890209-2">(</span><span·class="nf">atom</span><span·class="p"·data-group-id="6398890209-3">(</span><span·class="p"·data-group-id="6398890209-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:·da2c320e7edb49f91f401a9713528859b25c4ccdb98a995353fd1d59a1d5060d·...·]-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·not284 </span><span·class="nc">mod</span><span·class="p">:</span><span·class="nf">orddict</span><span·class="p"·data-group-id="2548029383-2">(</span><span·class="nf">atom</span><span·class="p"·data-group-id="2548029383-3">(</span><span·class="p"·data-group-id="2548029383-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:·247f0b5abb6d62f24ef738a16d0387dfd9d51e3332fb5bdea35c199f7ab64a48·...·]-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
285 supposed·to·be·visible·from·outside·of·their·defining·module.·That·is,·only·the285 supposed·to·be·visible·from·outside·of·their·defining·module.·That·is,·only·the
286 module·defining·them·is·allowed·to·depend·on·their·term·structure.·Consequently,286 module·defining·them·is·allowed·to·depend·on·their·term·structure.·Consequently,
287 such·types·do·not·make·much·sense·as·module·local·-·module·local·types·are·not287 such·types·do·not·make·much·sense·as·module·local·-·module·local·types·are·not
288 accessible·by·other·modules·anyway·-·and·is·always·to·be·exported.</p><p>Read·more·on·<a·href="opaques.html">Opaques</a></p><p><a·href=""·id="typeinrecords"></a></p><h2·id="type-information-in-record-declarations"·class="section-heading">288 accessible·by·other·modules·anyway·-·and·is·always·to·be·exported.</p><p>Read·more·on·<a·href="opaques.html">Opaques</a></p><p><a·href=""·id="typeinrecords"></a></p><h2·id="type-information-in-record-declarations"·class="section-heading">
289 ··<a·href="#type-information-in-record-declarations"·class="hover-link">289 ··<a·href="#type-information-in-record-declarations"·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">Type·Information·in·Record·Declarations</span>292 ··<span·class="text">Type·Information·in·Record·Declarations</span>
293 </h2>293 </h2>
294 <p>The·types·of·record·fields·can·be·specified·in·the·declaration·of·the·record.294 <p>The·types·of·record·fields·can·be·specified·in·the·declaration·of·the·record.
295 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="8103183011-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8103183011-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:·8ca00df68291ad0aa31d2c4a0ce11b10f58ba18a743bcd2cf094a1cc2fcc1750·...·]-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,·the295 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="6633999419-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6633999419-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:·703f76665c7fb5bcbac58adb8f335d63ac0e2f93c455fced115d61d5c5ed4a54·...·]-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
296 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="2552075490-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2552075490-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><spa[·...·truncated·by·diffoscope;·len:·651,·SHA:·dde55a3857304e75cc946ee6677545f52cb6409ca4479f1b3be8a400b4b84ad5·...·]-1">)</span><span·class="p">.</span></code></pre><p>In·the·presence·of·initial·values·for·fields,·the·type·must·be·declared·after296 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="8512905296-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8512905296-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><spa[·...·truncated·by·diffoscope;·len:·651,·SHA:·5420f5a05da76fd013d5171dbacf0161cf8926400d632bbd874d94ed4a7af403·...·]-1">)</span><span·class="p">.</span></code></pre><p>In·the·presence·of·initial·values·for·fields,·the·type·must·be·declared·after
297 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="5900960734-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5900960734-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·698,·SHA:·73fe10083df8a6e745dd8d6a5a91cf02e73815e959f416dfd840c7bfed436fce·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·initial·values·for·fields·are·to·be·compatible·with·(that·is,·a·member·of)297 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="0830282840-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0830282840-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·698,·SHA:·97852fb363a547442de905775ff5c2712bd4388a6a7e6ab806546fc58492c493·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·initial·values·for·fields·are·to·be·compatible·with·(that·is,·a·member·of)
298 the·corresponding·types.·This·is·checked·by·the·compiler·and·results·in·a298 the·corresponding·types.·This·is·checked·by·the·compiler·and·results·in·a
299 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·type299 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
300 <code·class="inline">'undefined'</code>·was·added·to·all·declared·types.·In·other·words,·the·following300 <code·class="inline">'undefined'</code>·was·added·to·all·declared·types.·In·other·words,·the·following
301 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="7249382241-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7249382241-2">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·238,·SHA:·3d238ad23710b7598c253e4f349e5953a0222477c97642d18237a61999498ba4·...·]-3">)</span><span·class="p">,</span><span·class="w">301 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="7696066873-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7696066873-2">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·238,·SHA:·3eaf573d01991fcdd1cbc85a49b7d8e9bfd184d36b4bf091be35e6abe8d40731·...·]-3">)</span><span·class="p">,</span><span·class="w">
302 ·············</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="7249382241-4">(</span><span·class="p"·data-group-id="7249382241-4">)</span><span·class="p">,</span><span·class="w">302 ·············</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="7696066873-4">(</span><span·class="p"·data-group-id="7696066873-4">)</span><span·class="p">,</span><span·class="w">
303 ·············</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="7249382241-2">}</span><span·class="p"·data-group-id="7249382241-1">)</span><span·class="p">.</span><span·class="w">303 ·············</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="7696066873-2">}</span><span·class="p"·data-group-id="7696066873-1">)</span><span·class="p">.</span><span·class="w">
304 </span><span·class="w">304 </span><span·class="w">
305 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7249382241-5">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7249382241-6">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·238,·SHA:·95a691411b447a81133820718fa91bd25f857ddac29c8761611ec7f3e068ab6d·...·]-7">)</span><span·class="p">,</span><span·class="w">305 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7696066873-5">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7696066873-6">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·238,·SHA:·43a962a8f483e8c3f8babc816d269f6d5b3e08e6a8e498e27f47b3c7aa7d5841·...·]-7">)</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="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="7249382241-8">(</span><span·class="p"·data-group-id="7249382241-8">)</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="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="7696066873-8">(</span><span·class="p"·data-group-id="7696066873-8">)</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;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="7249382241-6">}</span><span·class="p"·data-group-id="7249382241-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·field307 ··············</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="7696066873-6">}</span><span·class="p"·data-group-id="7696066873-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
308 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·a308 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
309 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·type309 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
310 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·record310 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
311 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,311 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,
312 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="9528606997-1">(</span><span·class="p"·data-group-id="9528606997-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="9528606997-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·fd8c88fa0643213b71cb5016f9f8f23338258081831f06961ce7b18a1f037ada·...·]-2">)</span><span·class="p">.</span><span·class="w">312 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="0571002020-1">(</span><span·class="p"·data-group-id="0571002020-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="0571002020-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·8f680e394e2a02ef438dec34de206d04cf917bfb5542b55d976610a4e2fcd969·...·]-2">)</span><span·class="p">.</span><span·class="w">
313 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="9528606997-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9528606997-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:·67ef4caed41c703a5664db3ba1dee0eaaf42c67d44631247be95f1a2070b3726·...·]-3">)</span><span·class="p">.</span><span·class="w">313 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0571002020-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0571002020-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:·ce67d1d8f622650d69670d456be2a1864c0bca5e0399b2176210b9fc58236a57·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
314 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="9528606997-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="9528606997-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">314 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="0571002020-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="0571002020-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
315 ····</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_object</span><span·class="p"·data-group-id="9528606997-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="9528606997-9">{</span><span·class="ss">name</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·4bd8509a2e001823cdab234a57781bfbf6a3816f887d48b729348701495e9fd5·...·]-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·field315 ····</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_object</span><span·class="p"·data-group-id="0571002020-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="0571002020-9">{</span><span·class="ss">name</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·dd89badb2fbc000e416ac91843be14cdee89e02365c1b4ee95dd26e81ba3397f·...·]-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
316 <code·class="inline">height</code>.</p><p>The·recommended·way·of·dealing·with·this·is·to·declare·the·smallest·record316 <code·class="inline">height</code>.</p><p>The·recommended·way·of·dealing·with·this·is·to·declare·the·smallest·record
317 field·types·to·accommodate·all·your·needs,·and·then·create·refinements·as317 field·types·to·accommodate·all·your·needs,·and·then·create·refinements·as
318 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="5191198902-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5191198902-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:·da71f61c58595afc3179a5eccbaa39faa40508c1b3a8935c3ee0f02efe1aa7e8·...·]-1">)</span><span·class="p">.</span><span·class="w">318 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="1577521548-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1577521548-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:·329dcc22cbe9710edb23d994ea4a61a55195d37a1a3e344fd6fc09ad60a95391·...·]-1">)</span><span·class="p">.</span><span·class="w">
319 </span><span·class="w">319 </span><span·class="w">
320 </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="5191198902-5">(</span><span·class="p"·data-group-id="5191198902-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:·37b840938cdafd50af1231f2fa09f00b5528ed96b70c6dc1e7f4189737a20d97·...·]-6">}</span><span·class="p">.</span></code></pre><p>In·specifications·and·type·declarations·the·type·<code·class="inline">person()</code>·is·to·be·preferred320 </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="1577521548-5">(</span><span·class="p"·data-group-id="1577521548-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:·00f1e1511b107bb2b5f0ae2da58990c2464161a18d80eda82518b724b7bb02c8·...·]-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
321 before·<code·class="inline">#person{}</code>.</p></section><h2·id="specifications-for-functions"·class="section-heading">321 before·<code·class="inline">#person{}</code>.</p></section><h2·id="specifications-for-functions"·class="section-heading">
322 ··<a·href="#specifications-for-functions"·class="hover-link">322 ··<a·href="#specifications-for-functions"·class="hover-link">
323 ····<i·class="ri-link-m"·aria-hidden="true"></i>323 ····<i·class="ri-link-m"·aria-hidden="true"></i>
324 ··</a>324 ··</a>
325 ··<span·class="text">Specifications·for·Functions</span>325 ··<span·class="text">Specifications·for·Functions</span>
326 </h2>326 </h2>
327 <p>A·specification·(or·contract)·for·a·function·is·given·using·the·<code·class="inline">-spec</code>327 <p>A·specification·(or·contract)·for·a·function·is·given·using·the·<code·class="inline">-spec</code>
328 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·in328 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
329 the·current·module,·and·the·arity·of·the·function·must·match·the·number·of329 the·current·module,·and·the·arity·of·the·function·must·match·the·number·of
330 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>330 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>
331 is·the·name·of·the·current·module.·This·can·be·useful·for·documentation331 is·the·name·of·the·current·module.·This·can·be·useful·for·documentation
332 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,332 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,
333 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="8944205624-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="8944205624-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">333 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="4761971922-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="4761971922-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">
334 ·········</span><span·class="p"·data-group-id="8944205624-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="8944205624-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·that334 ·········</span><span·class="p"·data-group-id="4761971922-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="4761971922-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
335 the·domains·of·the·argument·types·cannot·overlap.·For·example,·the·following335 the·domains·of·the·argument·types·cannot·overlap.·For·example,·the·following
336 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="6269658417-1">(</span><span·class="nf">pos_integer</span><span·class="p"·data-group-id="6269658417-2">(</span><span·class="p"·data-group-id="6269658417-2">)</span><span·class="p"·data-group-id="6269658417-1">)</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="6269658417-3">(</span><span·class="p"·data-group-id="6269658417-3">)</span><span·class="p">;</span><span·class="w"> 
337 ·········</span><span·class="p"·data-group-id="6269658417-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="6269658417-5">(</span><span·class="p"·data-group-id="6269658417-5">)</span><span·class="p"·data-group-id="6269658417-4">)</sp[·...·truncated·by·diffoscope;·len:·335,·SHA:·2c2c0ef0f13f91c5974eb95bc17a28e61b6a50479afb7c770a509be97796994b·...·]336 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="0335796581-1">(</span><span·class="[·...·truncated·by·diffoscope;·len:·438,·SHA:·b4014c3695a0d1eb768f784fd640237b1be5c7f3444d0b890f02e093ec0baea2·...·]
 337 ·········</span><span·class="p"·data-group-id="0335796581-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="0335796581-5">(</span><span·class="p"·data-group-id="0335796581-5">)</span><span·class="p"·data-group-id="0335796581-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="0335796581-6">(</span><span·class="p"·data-group-id="0335796581-6">)</span><span·class="p">.</span></code></pre><p>Type·variables·can·be·used·in·specifications·to·specify·relations·for·the·input
338 and·output·arguments·of·a·function.·For·example,·the·following·specification338 and·output·arguments·of·a·function.·For·example,·the·following·specification
339 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·type339 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
340 in·any·way.·These·types·can·be·constrained·by·guard-like·subtype·constraints·and340 in·any·way.·These·types·can·be·constrained·by·guard-like·subtype·constraints·and
341 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="8131501745-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="8131501745-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:·260,·SHA:·a3d9388f11e45a22d4bcbe0b171c053d4558086b770c07cba4b8360af919afde·...·]5-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·guard341 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="9749041865-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="9749041865-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:·260,·SHA:·30e31041327ed92d30698d1e4d057e26b496a1ad38291ad0a07da6df0c264b54·...·]5-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
342 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·type342 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
343 variable.·That·provides·more·type·information·than·the·following·function343 variable.·That·provides·more·type·information·than·the·following·function
344 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="5551554076-1">(</span><span·class="nf">tuple</span><span·class="p"·data-group-id="5551554076-2">(</span><span·class="p"·data-group-id="5551554076-2">)</span><span·class="p"·data-group-id="5551554076-1">)</span><span·class="w">·</span><span·class="p">-&gt;<[·...·truncated·by·diffoscope;·len:·153,·SHA:·f7df771d786788b1e13748c035800eba2be4fb30d8cd273855405f7fb9a89fbe·...·]-3">)</span><span·class="p">.</span></code></pre><p>The·latter·specification·says·that·the·function·takes·some·tuple·and·returns344 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="4497256399-1">(</span><span·class="nf">tuple</span><span·class="p"·data-group-id="4497256399-2">(</span><span·class="p"·data-group-id="4497256399-2">)</span><span·class="p"·data-group-id="4497256399-1">)</span><span·class="w">·</span><span·class="p">-&gt;<[·...·truncated·by·diffoscope;·len:·153,·SHA:·fe2d1ee25836dbf43505eabde46241a7d7ed40e459ce40992197a2fa11527920·...·]-3">)</span><span·class="p">.</span></code></pre><p>The·latter·specification·says·that·the·function·takes·some·tuple·and·returns
345 some·tuple.·The·specification·with·the·<code·class="inline">X</code>·type·variable·specifies·that·the345 some·tuple.·The·specification·with·the·<code·class="inline">X</code>·type·variable·specifies·that·the
346 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·choose346 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
347 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·after347 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
348 which·it·appears.·To·avoid·confusion,·it·is·suggested·that·different·variables348 which·it·appears.·To·avoid·confusion,·it·is·suggested·that·different·variables
349 are·used·in·different·constituents·of·an·overloaded·contract,·as·shown·in·the349 are·used·in·different·constituents·of·an·overloaded·contract,·as·shown·in·the
350 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="1784784874-1">(</span><span·class="p"·data-group-id="1784784874-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="1784784874-3">(</span><span·class="p"·data-group-id="1784784874-3">)</span><span·class="p"·data-group-id="1784784874-2">}</span><span·class="p"·data-group-id="1784784874-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="1784784874-4">(</span><span·class="p"·data-group-id="1784784874-4">)</span><span·class="p">;</span><span·class="w"> 
351 ·········</span><span·class="p"·data-group-id="1784784874-5">(</span><span·class="p"·data-group-id="1784784874-6">[</span><span·class="n">Y</span><span·class="p"·data-group-id="1784784874-6">]</span><span·class="p"·data-group-id="1784784874-5">)</span><spa[·...·truncated·by·diffoscope;·len:·543,·SHA:·f5d18d1cc90374665978bac98a8b14bc9481631a3f826cc731003ce0b14255bd·...·]350 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="0328271632-1">(</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·807,·SHA:·97c9ee28aeda88bfac1165d443566fd6fccadcfb207274d527beaf2996dc1705·...·]
 351 ·········</span><span·class="p"·data-group-id="0328271632-5">(</span><span·class="p"·data-group-id="0328271632-6">[</span><span·class="n">Y</span><span·class="p"·data-group-id="0328271632-6">]</span><span·class="p"·data-group-id="0328271632-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="0328271632-7">(</span><span·class="p"·data-group-id="0328271632-7">)</span><span·class="p">.</span></code></pre><p>Some·functions·in·Erlang·are·not·meant·to·return;·either·because·they·define
352 servers·or·because·they·are·used·to·throw·exceptions,·as·in·the·following352 servers·or·because·they·are·used·to·throw·exceptions,·as·in·the·following
353 function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_error</span><span·class="p"·data-group-id="8482805221-1">(</span><span·class="n">Err</span><span·class="p"·data-group-id="8482805221-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="8482805221-2">(</sp[·...·truncated·by·diffoscope;·len:·253,·SHA:·db1a47fadcbd39d0477d58d1e56907a4679fd2a24b0162657f99d7d29f4fd97f·...·]-2">)</span><span·class="p">.</span></code></pre><p>For·such·functions,·it·is·recommended·to·use·the·special·<a·href="../../erts-15.2.7/doc/html/erlang.html#t:no_return/0"><code·class="inline">no_return/0</code></a>·type353 function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_error</span><span·class="p"·data-group-id="0674602430-1">(</span><span·class="n">Err</span><span·class="p"·data-group-id="0674602430-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="0674602430-2">(</sp[·...·truncated·by·diffoscope;·len:·253,·SHA:·aae1261264d20399b362174b8c1b5bc61969f8043ff8ad6b22d834dd55379061·...·]-2">)</span><span·class="p">.</span></code></pre><p>For·such·functions,·it·is·recommended·to·use·the·special·<a·href="../../erts-15.2.7/doc/html/erlang.html#t:no_return/0"><code·class="inline">no_return/0</code></a>·type
354 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·equivalent354 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
355 to·<a·href="../../erts-15.2.7/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a>·or·<a·href="../../erts-15.2.7/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>355 to·<a·href="../../erts-15.2.7/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a>·or·<a·href="../../erts-15.2.7/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>
356 </div>356 </div>
  
357 <div·class="bottom-actions"·id="bottom-actions">357 <div·class="bottom-actions"·id="bottom-actions">
358 ··<div·class="bottom-actions-item">358 ··<div·class="bottom-actions-item">
  
Max diff block lines reached; 677/70925 bytes (0.95%) 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>220 <p>Copyright·©·1996-2025·<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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>334 <p>Copyright·©·1996-2025·<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="5907674702-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="5907674702-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="3515522790-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="3515522790-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="5907674702-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:·529467361555b153d45a82014218762aac8b9c2dfefa35e3153d75978dd508b7·...·]-2">&gt;&gt;</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="3515522790-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:·7d4ea0c59b5cc143eb6692323b959f68297c2399d1e60dcc9c0dd975ebad1b95·...·]-2">&gt;&gt;</span><span·class="gp·unselectable">
158 2&gt;·</span><span·class="p"·data-group-id="5907674702-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="5907674702-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">158 2&gt;·</span><span·class="p"·data-group-id="3515522790-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="3515522790-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">
159 </span><span·class="p"·data-group-id="5907674702-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:·6dfcbc58a441ab7f0a28b889066407c970edb6eb9674ba210e664c28c6e7cc51·...·]-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="3515522790-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:·2547c9ca659abe84784fa226106ca515b9cab2ae8f8ac3d7300b2c8aa73ccf60·...·]-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="0295929567-1">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="0295929567-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="0295929567-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·92030ee106ea42d6a94ab78d075ef600ea44a06f5d903ce59934189f080ebc50·...·]-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="4582103670-1">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="4582103670-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="4582103670-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·5080e6b10265e951ba9cac15b93ecce3fa4011715705d2bed59fcec7783fedd7·...·]-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="0295929567-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="0295929567-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·196,·SHA:·0d57241d70c2e7c2c0f824a12006ddc69064ed81ad0a15f835453fc449b45ff2·...·]-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="4582103670-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="4582103670-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·196,·SHA:·04687101fa83184d36b0cdfcf349185f02d8b7f62275eb9c76afb9dcde7214e1·...·]-4">}</span><span·class="p">.</span><span·class="w">
175 </span><span·class="nf">f</span><span·class="p"·data-group-id="0295929567-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="0295929567-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="4582103670-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="4582103670-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="5936293226-1">(</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p"·data-group-id="5936293226-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="2970291815-1">(</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p"·data-group-id="2970291815-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="8714437384-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="8714437384-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="2223103364-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="2223103364-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="2604108047-1">(</span><span·class="p"·data-group-id="2604108047-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="9670483722-1">(</span><span·class="p"·data-group-id="9670483722-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="2604108047-2">(</span><span·class="p"·data-group-id="2604108047-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="9670483722-2">(</span><span·class="p"·data-group-id="9670483722-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>363 <p>Copyright·©·1996-2025·<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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>144 <p>Copyright·©·1996-2025·<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.61 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/doc/html/absform.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>517 <p>Copyright·©·1996-2025·<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;
818 B
html2text {}
Max HTML report size reached
1.73 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>207 <p>Copyright·©·1996-2025·<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.2 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="4525499178-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="4525499178-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="6097510237-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="6097510237-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="4525499178-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4525499178-3">{</span><span·class="n">Listen</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Address</span>[·...·truncated·by·diffoscope;·len:·456,·SHA:·1fa6565622cc51bb7b2a90d7e497bbf89bf5177ce5e62bd11696fd4f5a0f54ee·...·]-4">}</span><span·class="w">245 </span><span·class="err"> </span><span·class="err"> </span><span·class="p"·data-group-id="6097510237-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6097510237-3">{</span><span·class="n">Listen</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Address</span>[·...·truncated·by·diffoscope;·len:·456,·SHA:·ffa57a26d163dcbd3ce4cfe25f16acd8e1bf1ff501ab6dd1e9976a943bc10cde·...·]-4">}</span><span·class="w">
246 </span><span·class="nf">listen</span><span·class="p"·data-group-id="4525499178-5">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">Host</span><span·class="p"·data-group-id="4525499178-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="6097510237-5">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">Host</span><span·class="p"·data-group-id="6097510237-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="4525499178-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4525499178-7">{</span><span·class="n">Listen</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Address</span>[·...·truncated·by·diffoscope;·len:·456,·SHA:·d32dce5cb7ceaa54aa40cf02fc456bd6886c218be3c806f4b65491b48e7974c2·...·]-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="6097510237-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6097510237-7">{</span><span·class="n">Listen</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Address</span>[·...·truncated·by·diffoscope;·len:·456,·SHA:·7d9fee0095f20ed54e1f8500740eee3d904ca027ccd5e124104f5d17a774fc9c·...·]-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="9761074129-1">(</span><span·class="p"·data-group-id="9761074129-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="2364002960-1">(</span><span·class="p"·data-group-id="2364002960-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="8811181910-1">(</span><span·class="p"·data-group-id="8811181910-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="1533715264-1">(</span><span·class="p"·data-group-id="1533715264-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 ····</span><span·class="p"·data-group-id="8811181910-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="8811181910-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·173,·SHA:·fa439cac45fd85b342a2f802ad932fd6edad22dc7f8e94fd672d6c7cb220dd69·...·]-3">)</span><span·class="p">,</span><span·class="w">261 ····</span><span·class="p"·data-group-id="1533715264-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="1533715264-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·173,·SHA:·d468eb5937d99c2015c4d5e6bf2cc408333dc10fa571e4e343f01d5128ae78a3·...·]-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="8811181910-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><sp[·...·truncated·by·diffoscope;·len:·611,·SHA:·15136fbdd2404c1576fe23c6b1e54a3317e3a97ff63a3a533f2f88b5eb780d65·...·]-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="1533715264-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><sp[·...·truncated·by·diffoscope;·len:·611,·SHA:·5ae39f49bce6885433b7e749600e0ffe85afa790a6050c32073b2783678c5b8c·...·]-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·on·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="4780532342-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:·b24b0d3eab757095fa9d0b4c82afc96ac892e26ac5d36dcedf33cc3b0d7e3f0c·...·]-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·on·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="8021041899-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:·564ca3057552fc374a646e1cc187d783a12917a09ad3f5ff5b455ffcc6ce5dea·...·]-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="1244175110-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">·</sp[·...·truncated·by·diffoscope;·len:·154,·SHA:·3aea98b570d515fc28107885fe99528f0eda9ee5fdd63b879ec6d78e2df18c80·...·]-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="1533310236-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">·</sp[·...·truncated·by·diffoscope;·len:·154,·SHA:·3d2283fdb0b626a9739e382300a04094bce0996ad8b3e09bb10d69922a2743b0·...·]-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="6893800572-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:·2c7b67c61aadbfa37fcd101098212f20ed9acb8e33adc738421d826c36a9492e·...·]-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="0538681594-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:·ac0db2f1d64f01e96df1c206858b08910b52c77035417aa26c90e41d2313d7cf·...·]-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="1508946933-1">(</span><span·class="n">Listen</span><span·class="p"·data-group-id="1508946933-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="1578420955-1">(</span><span·class="n">Listen</span><span·class="p"·data-group-id="1578420955-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="1508946933-2">(</span><span·class="p"·data-group-id="1508946933-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="1578420955-2">(</span><span·class="p"·data-group-id="1578420955-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="9718487019-1">(</span><span·class="n">NodeName</span><span·class="p"·data-group-id="9718487019-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="7748115615-1">(</span><span·class="n">NodeName</span><span·class="p"·data-group-id="7748115615-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="9718487019-2">(</span><span·class="p"·data-group-id="9718487019-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="7748115615-2">(</span><span·class="p"·data-group-id="7748115615-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="5665958855-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="5665958855-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">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="4796368523-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="4796368523-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="5665958855-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="5665958855-2">}</span></code></pre><p>The·argument·<code·class="inline">Listen</code>·is·the·handle·originally·passed·from·the332 </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="4796368523-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="4796368523-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="2165498455-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="2165498455-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">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="1475264250-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="1475264250-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="2165498455-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="2165498455-2">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·199,·SHA:·741d92bcc4b5cbfd0f1fcd47befc2f9e7a2de12fd2b1de34dad2898e6b15551e·...·]-3">}</span></code></pre><p>The·argument·<code·class="inline">Listen</code>·is·the·handle·originally·passed·from·the335 </span><span·class="err"> </span><span·class="err"> </span><span·class="p"·data-group-id="1475264250-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="1475264250-2">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·199,·SHA:·e8f8905bdf34ec7d9686ee359800371ab078f67bef69e3ae3fbc5b0829e178c6·...·]-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="8865737208-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="8865737208-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="8865737208-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="8865737208-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:·945,·SHA:·bf95ee92d1148bde89fd737ce32fca9ecc716e3f3ef9fcfc882577dcc78fbe49·...·]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:·5d135544b582508072bf9d71b7df6a476ded5915b1adb43ab2802bcced7d529e·...·]
 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="5024025105-1">(</span><span·class="n">DistCtrlr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Length</span><span·class="p"·data-group-id="5024025105-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5024025105-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="5024025105-2">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="5024025105-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="5024025105-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="5145240667-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="5145240667-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:·992c2ee2b3c9e7789f43f3ff842fbe5454ba2610c4352ba4b0ac0b7919743725·...·]-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="9971800811-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="9971800811-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:·69b7754159071d8c54d1bb2b9f7167d18f366e047870fe9cf329ac7d81da5aa1·...·]-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="0772876338-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="0772876338-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:·380b71b009348ee4250b80f4a7cc38601e7e9dd3e9b62e125eca6db0193c7630·...·]-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="1728204714-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="1728204714-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:·eedf2a9a6d394fc5f0e7039a859c3044ee75a5f94e1ef654a3c4a05bd828b8ba·...·]-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="2227100513-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="2227100513-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="2562832682-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="2562832682-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="4416911589-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="4416911589-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="0278285124-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="0278285124-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="3899074322-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="3899074322-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="3899074322-2">[·...·truncated·by·diffoscope;·len:·49,·SHA:·d5bd7c8a64b9bbec1a9240efe695e0566650976366cfad5794bdccff6a61d178·...·]-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="5694094314-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="5694094314-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="5694094314-2">[·...·truncated·by·diffoscope;·len:·49,·SHA:·b669284af1eef235c3d5db01e209f60e872c08176768295276cb339ba14539d3·...·]-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="3439577123-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="3439577123-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3439577123-2">{</span><span·class="ss">ok<[·...·truncated·by·diffoscope;·len:·280,·SHA:·118b3833e39ffd68c293667a2674a2e651c41c2623dcec30b4c15d7abb5bd3bd·...·]-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="1383225256-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="1383225256-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1383225256-2">{</span><span·class="ss">ok<[·...·truncated·by·diffoscope;·len:·280,·SHA:·ade8c81b19b4d6c34ab2b1a380dfd1b399061228d788757099df6a3635d6d6ba·...·]-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
383 been·initiated·by·this·node.·That·is,·the·connection·is·set·up·via·<code·class="inline">setup/5</code>.</p></li><li><p><strong><code·class="inline"·id="hs_data_mf_setopts">mf_setopts</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="3203328777-1">(</span><span·class="n">DistCtrl</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opts</span><span·class="p"·data-group-id="3203328777-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="3203328777-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="3203328777-2">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller·and·<code·class="inline">Opts</code> 
384 is·a·list·of·options·to·set·on·the·connection.</p><p>This·function·is·optional.·Used·when·connection·is·up.</p></li><li><p><strong><code·class="inline"·id="hs_data_mf_getopts">mf_getopts</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·c[·...·truncated·by·diffoscope;·len:·863,·SHA:·109a4b718473fd4550f6e9db5c034f0d6ca2ad5f903b16ca7bd1e70c3d37baf5·...·]">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller·and·<code·class="inline">Opts</code>383 been·initiated·by·this·node.·That·is,·the·connection·is·set·up·via·<code·class="inline">setup/5</code>.</p></li><li><p><strong><code·class="inline"·id="hs_data_mf_setopts">mf_setopts</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class[·...·truncated·by·diffoscope;·len:·670,·SHA:·df7cd473529480b461138309a16a088b17b4a4aab41bbc75826af6aceb3be291·...·]">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller·and·<code·class="inline">Opts</code>
Max diff block lines reached; 3563/55577 bytes (6.41%) of diff not shown.
780 B
html2text {}
Max HTML report size reached
1.31 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>246 <p>Copyright·©·1996-2025·<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.45 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/doc/html/atomics.html
    
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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>646 <p>Copyright·©·1996-2025·<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;
655 B
html2text {}
Max HTML report size reached
3.82 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="4089700868-1">(</span><span·class="p"·data-group-id="4089700868-1">)</span><span·class="w">·</span><span·class="p"·data-group-id="4089700868-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="4589371885-1">(</span><span·class="p"·data-group-id="4589371885-1">)</span><span·class="w">·</span><span·class="p"·data-group-id="4589371885-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="4089700868-2">}</span><span·class="w">218 </span><span·class="p"·data-group-id="4589371885-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>370 <p>Copyright·©·1996-2025·<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-15.2.7/doc/html/beam_makeops.html
Max HTML report size reached
45.9 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="3916844172-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:·ffa76ded91609ab7196e0db93330ad88b2d4cbc31ff6b915896e373897823773·...·]-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="1772802260-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:·e637514ef79b58bd522932262e48ca6bdfa202d40be006575a0e4fdfaa7e0795·...·]-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="3916844172-3">(</span><span·class="nf">getArgRef</span><span·class="p"·data-group-id="3916844172-4">(</span><span·class="n">Src</span><span·class="p"·data-group-id="3916844172-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">imm<[·...·truncated·by·diffoscope;·len:·327,·SHA:·272f36f7523e1e2ea96951a18f8545f29fdaecbdf1edfb5957a959c00b8cb1a4·...·]-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="1772802260-3">(</span><span·class="nf">getArgRef</span><span·class="p"·data-group-id="1772802260-4">(</span><span·class="n">Src</span><span·class="p"·data-group-id="1772802260-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">imm<[·...·truncated·by·diffoscope;·len:·327,·SHA:·51250dd1da564359adbe6d8830858a8055a32ac9cf34b59de8a782a82b6d6b8e·...·]-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="3916844172-6">(</span><span·class="ss">labels</span><span·class="p"·data-group-id="3916844172-7">[</span><span·class="n">Fail</span><span·class="p">.</span><span·class="nf">getLabel</span><span·class="p"·data-group-id="3916844172-8">(</span><span·class="p"[·...·truncated·by·diffoscope;·len:·132,·SHA:·f4e4e871ccb96169496b3bf8f1dd1291e50100e693df95a78a21028bef5aaf54·...·]-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="1772802260-6">(</span><span·class="ss">labels</span><span·class="p"·data-group-id="1772802260-7">[</span><span·class="n">Fail</span><span·class="p">.</span><span·class="nf">getLabel</span><span·class="p"·data-group-id="1772802260-8">(</span><span·class="p"[·...·truncated·by·diffoscope;·len:·132,·SHA:·09225b93edf0309701f54e4db288ec0f7b6b3e0739e5051993cf1607edfd0834·...·]-6">)</span><span·class="p">;</span><span·class="w">
155 </span><span·class="p"·data-group-id="3916844172-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="1772802260-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="0232567367-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:·ce55405e7dd0bcbe83f0e0a28367e87ea20b308fe84a97069886761c7adb841a·...·]-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="5841646063-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:·5c49b46b19a7fc479186a2d32ef38d405a53470adb76172583a97a7f1378e6cd·...·]-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="1448450917-1">(</span><span·class="p"·data-group-id="1448450917-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="7441896005-1">(</span><span·class="p"·data-group-id="7441896005-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="1448450917-2">(</span><span·class="n">FCALLS</span><span·class="p"·data-group-id="1448450917-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="7441896005-2">(</span><span·class="n">FCALLS</span><span·class="p"·data-group-id="7441896005-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="1448450917-3">(</span><span·class="nf">resolve_fragment</span><span·class="p"·data-group-id="1448450917-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="1448450917-5"[·...·truncated·by·diffoscope;·len:·156,·SHA:·248a26500571c1d769c08b775565cb72bb75d4e81adc423798f359258327ccd4·...·]-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="7441896005-3">(</span><span·class="nf">resolve_fragment</span><span·class="p"·data-group-id="7441896005-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="7441896005-5"[·...·truncated·by·diffoscope;·len:·156,·SHA:·dfc811eacffe9a5fb68f628f1af95191f5d0345844912b4917eaa7ee40c0ca08·...·]-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="1448450917-6">(</span><span·class="p"·data-group-id="1448450917-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="7441896005-6">(</span><span·class="p"·data-group-id="7441896005-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="9408918220-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="9408918220-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="7417170411-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="7417170411-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="9408918220-2">(</span><span·class="p"·data-group-id="9408918220-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="7417170411-2">(</span><span·class="p"·data-group-id="7417170411-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="9408918220-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="9408918220-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="7417170411-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="7417170411-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="9408918220-4">(</span><span·class="n">ARG2</span><span·class="p"·data-group-id="9408918220-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="7417170411-4">(</span><span·class="n">ARG2</span><span·class="p"·data-group-id="7417170411-4">)</span><span·class="p">;</span><span·class="w">
252 </span><span·class="nf">make_move_patch</span><span·class="p"·data-group-id="9408918220-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="9408918220-6">[</span><span·class="n">Fun</span><span·class="p">.</span><span·class="nf">getValue[·...·truncated·by·diffoscope;·len:·262,·SHA:·0e027bf10d054eb4171c6d360d66bc6395341902e9bac5ee812c915c35bb7555·...·]-5">)</span><span·class="p">;</span><span·class="w">252 </span><span·class="nf">make_move_patch</span><span·class="p"·data-group-id="7417170411-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="7417170411-6">[</span><span·class="n">Fun</span><span·class="p">.</span><span·class="nf">getValue[·...·truncated·by·diffoscope;·len:·262,·SHA:·4324d4ddc1aaf84df232ef461f1d4915cab760a6b18c41dd62dfe2e7a7a0537f·...·]-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="9408918220-8">(</span><span·class="ss">new_fun</span><span·class="p"·data-group-id="9408918220-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="7417170411-8">(</span><span·class="ss">new_fun</span><span·class="p"·data-group-id="7417170411-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="9408918220-9">(</span><span·class="p"·data-group-id="9408918220-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="7417170411-9">(</span><span·class="p"·data-group-id="7417170411-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="9408918220-10">(</span><span·class="nf">getXRef</span><span·class="p"·data-group-id="9408918220-11">(</span><span·class="mi">0</span><span·class="p"·data-group-id="9408918220-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RET</[·...·truncated·by·diffoscope;·len:·46,·SHA:·fe72561862fecf846203d7ab448e47b8a02cfab9f445523b5cf5f7ed8b57f47b·...·]-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="7417170411-10">(</span><span·class="nf">getXRef</span><span·class="p"·data-group-id="7417170411-11">(</span><span·class="mi">0</span><span·class="p"·data-group-id="7417170411-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RET</[·...·truncated·by·diffoscope;·len:·46,·SHA:·292c5649e684be981a2dbaa14c6ff9396e72b62f8c9cf5e3fb60d6555c612595·...·]-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="3889179716-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="3889179716-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="6103382394-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="6103382394-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="3725491835-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:·f74b1bc05437e336ab1ce0138bae1f2b17f4291da89d42f91deacf65b3f48fae·...·]-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="2683633859-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:·5e2bda6bb7e9e9229d9e60ae3d616cdd6b86fafa95d51ff8497e357911300cb6·...·]-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="3725491835-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="3725491835-3">)</span><span·class="p">;</span><span·class="w">300 ····</span><span·class="nf">erts_unseal_module</span><span·class="p"·data-group-id="2683633859-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="2683633859-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="3725491835-4">[</span><span·class="ss">i</span><span·class="p"·data-group-id="3725491835-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="2683633859-4">[</span><span·class="ss">i</span><span·class="p"·data-group-id="2683633859-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="3725491835-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="3725491835-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="2683633859-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="2683633859-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="3725491835-6">(</span><span·class="n">ErtsCodeInfo</span><span·class="o">*</span><span·class="p"·data-group-id="3725491835-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="2683633859-6">(</span><span·class="n">ErtsCodeInfo</span><span·class="o">*</span><span·class="p"·data-group-id="2683633859-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="3725491835-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="3725491835-7">)</span><span·class="p">;</span><span·class="w">304 ····</span><span·class="nf">uninstall_breakpoint</span><span·class="p"·data-group-id="2683633859-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="2683633859-7">)</span><span·class="p">;</span><span·class="w">
305 ····</span><span·class="nf">consolidate_bp_data</span><span·class="p"·data-group-id="3725491835-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="3725491835-8">)</span><span·class="p">;</span><span·class="w">305 ····</span><span·class="nf">consolidate_bp_data</span><span·class="p"·data-group-id="2683633859-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="2683633859-8">)</span><span·class="p">;</span><span·class="w">
306 ····</span><span·class="n">ASSERT</span><span·class="p"·data-group-id="3725491835-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="3725491835-9">)</span><span·class="p">;</span><span·class="w">306 ····</span><span·class="n">ASSERT</span><span·class="p"·data-group-id="2683633859-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="2683633859-9">)</span><span·class="p">;</span><span·class="w">
  
307 ····</span><span·class="nf">erts_seal_module</span><span·class="p"·data-group-id="3725491835-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="3725491835-10">)</span><span·class="p">;</span><span·class="w">307 ····</span><span·class="nf">erts_seal_module</span><span·class="p"·data-group-id="2683633859-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="2683633859-10">)</span><span·class="p">;</span><span·class="w">
308 </span><span·class="p"·data-group-id="3725491835-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="2683633859-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.56 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>408 <p>Copyright·©·1996-2025·<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;
755 B
html2text {}
Max HTML report size reached
4.71 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="9171718568-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="9171718568-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="9171718568-2">(</span><span·class="p"·data-group-id="9171718568-3">[</span><span·class="n">LoaderState</span><span·class="p"[·...·truncated·by·diffoscope;·len:·199,·SHA:·3a8b9f3445018c4b11b220502c9e45571cdc6e8e893ba8af57ae8c0c5dfdd101·...·]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=[·...·truncated·by·diffoscope;·len:·306,·SHA:·33d7dc0ff85aa55c3a03b3087b1e77278b931ace9e3c01118ea6cc4be71b31d2·...·]
 171 ··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">finish_loading</span><span·class="p"·data-group-id="5770238965-2">(</span><span·class="p"·data-group-id="5770238965-3">[</span><span·class="n">LoaderState</span><span·class="p"·data-group-id="5770238965-3">]</span><span·class="p"·data-group-id="5770238965-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>320 <p>Copyright·©·1996-2025·<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;
734 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>203 <p>Copyright·©·1996-2025·<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.4 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>500 <p>Copyright·©·1996-2025·<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;
601 B
html2text {}
Max HTML report size reached
1.36 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>221 <p>Copyright·©·1996-2025·<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-15.2.7/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="2027039931-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="2027039931-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:·a3f19b975e88c5eb5ba4b88d0f471c99cd14dbc26cba292fef1fd1b20ba98d45·...·]-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="9133645187-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="9133645187-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:·c9f9f79183b638a68b77553790b3df9371a0553509e6748e3cda57e8fd217081·...·]-2">)</span><span·class="w">
409 </span><span·class="p"·data-group-id="2027039931-3">(</span><span·class="mi">2</span><span·class="p"·data-group-id="2027039931-3">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="2027039931-4">(</span><span·class="mi">0</span><span·class="p"·data-group-id="2027039931-4">)</span><span·class="w">·····</span><span·class="p"·data-group-id="2027039931-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="2027039931-6">(</span><span·class="mi">3</span><span·class="p"·data-group-id="2027039931-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="20[·...·truncated·by·diffoscope;·len:·13,·SHA:·7f3344877f12ba91fc50887915a8b3bc5bff3cffb62fc1fedec5b3649e1a9aff·...·]</span><span·class="w">409 </span><span·class="p"·data-group-id="9133645187-3">(</span><span·class="mi">2</span><span·class="p"·data-group-id="9133645187-3">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="9133645187-4">(</span><span·class="mi">0</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·211,·SHA:·5b0a2121dd48d2b00b386d81fa43abcf98c6401b3871466236e025f9f8463f57·...·]</span><span·class="w">
 410 </span><span·class="p"·data-group-id="9133645187-6">(</span><span·class="mi">3</span><span·class="p"·data-group-id="9133645187-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="9133645187-5">]</span><span·class="w">
411 </span><span·class="p"·data-group-id="2027039931-7">(</span><span·class="mi">4</span><span·class="p"·data-group-id="2027039931-7">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="2027039931-8">(</span><span·class="mi">1</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·4e6da527c2d83a81f39ae43408ae7cd9f418e88a4c57a27282edc262fc9a886b·...·]-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="9133645187-7">(</span><span·class="mi">4</span><span·class="p"·data-group-id="9133645187-7">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="9133645187-8">(</span><span·class="mi">1</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·dbe8ea5051cf47bc3bd6e2651c9d80065db4f894de2312b62196d06b90394cd9·...·]-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="2027039931-9">(</span><span·class="mi">5</span><span·class="p"·data-group-id="2027039931-9">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="2027039931-10">(</span><span·class="mi">2</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·257,·SHA:·75223589dd0770a2d01edbd0a7399b8f003d3f3c7f3a607504df62bd137ba051·...·]-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="9133645187-9">(</span><span·class="mi">5</span><span·class="p"·data-group-id="9133645187-9">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="9133645187-10">(</span><span·class="mi">2</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·257,·SHA:·e68159445838806a48f6b4d311d947f26715ec75452e3700117fe80ce9eb2a67·...·]-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="2027039931-13">(</span><span·class="mi">6</span><span·class="p"·data-group-id="2027039931-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:·812b53728daaa51958dd5456d918a1088a586cf7d782315c66889c533fb09e80·...·]-11">}</span><span·class="w">413 </span><span·class="p"·data-group-id="9133645187-13">(</span><span·class="mi">6</span><span·class="p"·data-group-id="9133645187-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:·30e476d43876331930578459133f1b1feed824f8e579be851239cef3cdad41ca·...·]-11">}</span><span·class="w">
414 </span><span·class="p"·data-group-id="2027039931-14">(</span><span·class="mi">7</span><span·class="p"·data-group-id="2027039931-14">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="2027039931-15">(</span><span·class="mi">3</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·e158883b2c8d10f82bb19bc3f0278ba47890f24010bbff1177160bf455737a89·...·]-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="9133645187-14">(</span><span·class="mi">7</span><span·class="p"·data-group-id="9133645187-14">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="9133645187-15">(</span><span·class="mi">3</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·2d44ea7c368a8ab24a4e7e0378da19ebafc1a649c7bceba8fb835b8e5579082e·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>478 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>343 <p>Copyright·©·1996-2025·<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-15.2.7/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.2.7/doc/html/erl_ddll.html"><code·class="inline">erl_ddll</code></a>·module·(the·<a·href="../../../lib/kernel-10.2.7/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.2.7/doc/html/erl_ddll.html"><code·class="inline">erl_ddll</code></a>·module·(the·<a·href="../../../lib/kernel-10.2.7/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="3128154738-1">(</span><span·class="ss">pg_sync</span><span·class="p"·data-group-id="3128154738-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="4267803867-1">(</span><span·class="ss">pg_sync</span><span·class="p"·data-group-id="4267803867-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="3128154738-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="3128154738-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="4267803867-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="4267803867-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="3128154738-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="3128154738-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="4267803867-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="4267803867-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="3128154738-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="3128154738-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="4267803867-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="4267803867-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="3128154738-5">(</span><span·class="p"·data-group-id="3128154738-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:·83e53ae1330ebf917575e8bc358f42073a993791f0f38501beb5ab58ef02ef92·...·]-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="4267803867-5">(</span><span·class="p"·data-group-id="4267803867-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:·7f5893a0b6256918c5dcd3daed464a60e5509632c0665639ab0eb8e218a5dd5d·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
378 </span><span·class="nf">connect</span><span·class="p"·data-group-id="3128154738-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="3128154738-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="4267803867-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="4267803867-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="3128154738-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="3128154738-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="4267803867-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="4267803867-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="3128154738-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="3128154738-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="4267803867-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="4267803867-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="3128154738-10">(</span><span·class="p"·data-group-id="3128154738-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="3128154738-11">}</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·2b422bb8022a4d026089867c78183ca9e104746da55e16b9a21a3d8f78fd34d7·...·]-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="4267803867-10">(</span><span·class="p"·data-group-id="4267803867-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="4267803867-11">}</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·e81569dbc9be1d30fff75029bb36d58c25fc50a40f8f20798a3f554395c9aa4c·...·]-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="3128154738-12">(</span><span·class="p"·data-group-id="3128154738-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="3128154738-13">}</[·...·truncated·by·diffoscope;·len:·202,·SHA:·3766dfe98a5aaa564c824090fc59c6c2b2cd5d88397086a8345ac8fd1427871b·...·]-12">)</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="4267803867-12">(</span><span·class="p"·data-group-id="4267803867-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="4267803867-13">}</[·...·truncated·by·diffoscope;·len:·202,·SHA:·42fe5fb49862fcac455188c57d7e7cc4d891ee4f9fa973f064f21ae5ca9b79ee·...·]-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="3128154738-15">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="3128154738-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·clas[·...·truncated·by·diffoscope;·len:·166,·SHA:·c1f3d226d85bfcf5b581e6817f13ce2ae564dcae3912491e48347200c5e4553b·...·]-15">)</span><span·class="w">·</span><span·class="k">of</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="4267803867-15">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="4267803867-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·clas[·...·truncated·by·diffoscope;·len:·166,·SHA:·378c080972dd753fe43e6cc76f517190f1a5085979288d7605791fdd8462083e·...·]-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="3128154738-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="3128154738-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="4267803867-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="4267803867-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="3128154738-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3128154738-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="4267803867-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4267803867-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="3128154738-19">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="3128154738-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:·fa07742f42a68b9b170b8010e2abde1c6438659015f5e00e8d972b52f6b471f7·...·]-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="4267803867-19">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="4267803867-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:·a8f9100c494fefcf45db9f2e81aa42b78928c3d08f7128cf61019e14c53ad6d5·...·]-19">)</span><span·class="p">,</span><span·class="w">
391 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="3128154738-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3128154738-21">)</span><span·class="p">,</span><span·class="w">391 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="4267803867-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4267803867-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="3128154738-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="3128154738-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="4267803867-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="4267803867-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="3128154738-23">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="3128154738-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:·4395a754afa1eb77a2ae9eb949da57ab05956c53455486e0be4e0198da95868c·...·]-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="4267803867-23">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="4267803867-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:·d1124d3db4f25fdd1f7b12497f2d9a3ff0533ee0f909d3da12e69bcdc7cd1c6d·...·]-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.2.7/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.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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="3999036874-1">(</span><span·class="ss">pg_async</span><span·class="p"·data-group-id="3999036874-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="3352086102-1">(</span><span·class="ss">pg_async</span><span·class="p"·data-group-id="3352086102-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="3999036874-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="3999036874-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="3352086102-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="3352086102-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="3999036874-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="3999036874-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="3352086102-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="3352086102-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="3999036874-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="3999036874-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="3352086102-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="3352086102-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="3999036874-5">(</span><span·class="p"·data-group-id="3999036874-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">/</s[·...·truncated·by·diffoscope;·len:·250,·SHA:·02a7df16ea49113ca590534bc88ff944e0659773f399e43e8b730436e3602913·...·]-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="3352086102-5">(</span><span·class="p"·data-group-id="3352086102-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">/</s[·...·truncated·by·diffoscope;·len:·250,·SHA:·84f9ee613243d577072cf41a4b916740948bdf5cbe784aa9388fdc772eed290e·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
550 </span><span·class="nf">connect</span><span·class="p"·data-group-id="3999036874-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="3999036874-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="3352086102-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="3352086102-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="3999036874-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="3999036874-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="3352086102-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="3352086102-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="3999036874-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="3999036874-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="3352086102-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="3352086102-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="3999036874-10">(</span><span·class="p"·data-group-id="3999036874-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="3999036874-11">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·cb1c89191900c1f34ab2ac7d06154c29122197b68de00852c82495ca8f580108·...·]-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="3352086102-10">(</span><span·class="p"·data-group-id="3352086102-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="3352086102-11">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·e7aa01635ce0fb333a1b9d23f5983b61a845d5068037541569bea6bdf856ab26·...·]-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="3999036874-12">(</span><span·class="p"·data-group-id="3999036874-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="3999036874-13">}</s[·...·truncated·by·diffoscope;·len:·231,·SHA:·67f14cc86230760174de32aa7e5a7adb21263c40e8da963a5b47f10efc1a68a5·...·]-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="3352086102-12">(</span><span·class="p"·data-group-id="3352086102-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="3352086102-13">}</s[·...·truncated·by·diffoscope;·len:·231,·SHA:·58637c1884be65e67c47fb6f9761ae0f47bcbc0ad658de9e3afcaec3237d9722·...·]-12">)</span><span·class="p">,</span><span·class="w">
557 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="3999036874-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"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·ee7fef54a380ca4d5894fe29d710153387bd9b097a4d17e2a87d9a813ede97f2·...·]-15">)</span><span·class="p">,</span><span·class="w">557 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="3352086102-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"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·ce1e3c5d68581e91fe92a89e3b3d6ba608fa0f4df7eb6419561a5743f392559d·...·]-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="3999036874-16">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3999036874-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="3352086102-16">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3352086102-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="3999036874-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="3999036874-17">}</span><span·class="p">;</span><span·class="w">560 ············</span><span·class="p"·data-group-id="3352086102-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="3352086102-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="3999036874-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3999036874-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="3352086102-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3352086102-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="3999036874-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:·26,·SHA:·21c395609c74d86cb1e1c07052d17ff4957881456db6fd4e19338f56c940e9e9·...·]-19">)</span><span·class="p">,</span><span·class="w">565 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="3352086102-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:·26,·SHA:·f4b81ec331f1767d604ad5565975f24e2942e33d36186d9f81db31543d29878d·...·]-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="3999036874-20">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3999036874-20">)</span><span·class="p">,</span><span·class="w"> 
567 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="3999036874-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3999036874-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="3352086102-20">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3352086102-20">)</span><span·class="p">,</span><span·class="w">
 567 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="3352086102-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3352086102-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="3999036874-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="3999036874-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="3352086102-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="3352086102-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="3999036874-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-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·ab7afc8e71d06066896bd9e13d7924e29c31309ac7cf84b43236d2cc8d4a83f5·...·]-23">)</span><span·class="p">,</span><span·class="w">570 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="3352086102-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-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·ed888b0b2dfe98ddff111f1b6cb942046dfc96e2ca164b7236612f459239245f·...·]-23">)</span><span·class="p">,</span><span·class="w">
571 ····</span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="3999036874-24">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3999036874-24">)</span><span·class="p">.</span><span·class="w">571 ····</span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="3352086102-24">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3352086102-24">)</span><span·class="p">.</span><span·class="w">
  
572 </span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="3999036874-25">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3999036874-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="3352086102-25">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3352086102-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="3999036874-26">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3999036874-27">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><s[·...·truncated·by·diffoscope;·len:·93,·SHA:·b038532d3d61afec5f00e930c3a1f80054616da6fb2ecb8478676276955d5871·...·]-26">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">574 ········</span><span·class="p"·data-group-id="3352086102-26">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3352086102-27">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><s[·...·truncated·by·diffoscope;·len:·93,·SHA:·6f19a4c15ab98b71e456fcbb637016a0f346343d6e07af23a841c1f9aef359a9·...·]-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="3999036874-28">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3999036874-28">)</span><span·class="w">575 ············</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="3352086102-28">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3352086102-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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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="0189512618-1">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="0189512618-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="4433486873-1">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="4433486873-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="0189512618-2">(</span><span·class="p"·data-group-id="0189512618-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:·5b2a920a8a098446f229ce59922781f0c2a049c2ca865dd4262bd934b05ef9b8·...·]-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="4433486873-2">(</span><span·class="p"·data-group-id="4433486873-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:·05ab2faf0589318c2ca059a62cda16841d09917c1d96768c6195f2d639805d2e·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
687 </span><span·class="nf">load</span><span·class="p"·data-group-id="0189512618-4">(</span><span·class="p"·data-group-id="0189512618-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="4433486873-4">(</span><span·class="p"·data-group-id="4433486873-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="0189512618-5">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="0189512618-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="4433486873-5">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="4433486873-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="0189512618-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="0189512618-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="4433486873-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="4433486873-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="0189512618-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="0189512618-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="4433486873-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="4433486873-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="0189512618-8">(</span><span·class="n">E</span><span·class="p"·data-group-id="0189512618-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="4433486873-8">(</span><span·class="n">E</span><span·class="p"·data-group-id="4433486873-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="0189512618-9">(</span><span·class="p"·data-group-id="0189512618-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="0189512618-10">}</span><span[·...·truncated·by·diffoscope;·len:·192,·SHA:·6c3d1b760d30225a52961b4d069d64beef60ca10b8326fcaa46ac8a4884bcdd3·...·]-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="4433486873-9">(</span><span·class="p"·data-group-id="4433486873-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="4433486873-10">}</span><span[·...·truncated·by·diffoscope;·len:·192,·SHA:·4222b3b9e71d92d0c53bee45d300948ee0fe718be0d04695bfaa060d3440624a·...·]-9">)</span><span·class="p">,</span><span·class="w">
696 ············</span><span·class="nf">register</span><span·class="p"·data-group-id="0189512618-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="0189512618-12">)</span><span·class="p">;</span><span·class="w">696 ············</span><span·class="nf">register</span><span·class="p"·data-group-id="4433486873-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="4433486873-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="0189512618-13">(</span><span·class="n">L</span><span·class="p"·data-group-id="0189512618-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="4433486873-13">(</span><span·class="n">L</span><span·class="p"·data-group-id="4433486873-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
701 ····</span><span·class="p"·data-group-id="0189512618-14">[</span><span·class="p"·data-group-id="0189512618-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:·6a0e4a0f355daa4c598224af44fdaf3880fbea31be9875bf98e7b0bdda2524dc·...·]-14">]</span><span·class="p">.</span><span·class="w">701 ····</span><span·class="p"·data-group-id="4433486873-14">[</span><span·class="p"·data-group-id="4433486873-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:·425ecec72cc633373db3a4d85684eb242b22503176a79c442bfa95aa2c595097·...·]-14">]</span><span·class="p">.</span><span·class="w">
  
702 </span><span·class="nf">next_perm</span><span·class="p"·data-group-id="0189512618-16">(</span><span·class="n">L</span><span·class="p"·data-group-id="0189512618-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="4433486873-16">(</span><span·class="n">L</span><span·class="p"·data-group-id="4433486873-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="0189512618-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="0189512618-17">)</span><span·class="p">.</span><span·class="w">703 ····</span><span·class="nf">next_perm</span><span·class="p"·data-group-id="4433486873-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="4433486873-17">)</span><span·class="p">.</span><span·class="w">
  
704 </span><span·class="nf">prev_perm</span><span·class="p"·data-group-id="0189512618-18">(</span><span·class="n">L</span><span·class="p"·data-group-id="0189512618-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">704 </span><span·class="nf">prev_perm</span><span·class="p"·data-group-id="4433486873-18">(</span><span·class="n">L</span><span·class="p"·data-group-id="4433486873-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 9109/58764 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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>422 <p>Copyright·©·1996-2025·<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.42 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>306 <p>Copyright·©·1996-2025·<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.1 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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·+R·9·-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·+R·9·-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="8567371420-1">(</span><span·class="ss">sname</span><span·class="p"·data-group-id="8567371420-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="9369934888-1">(</span><span·class="ss">sname</span><span·class="p"·data-group-id="9369934888-1">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="8567371420-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8567371420-3">[</span><span·class="p"·data-group-id="8567371420-4">[</span><span·class="s">&quot;arnie&quot;</span><span·class="p"·data-group-id="8567371[·...·truncated·by·diffoscope;·len:·109,·SHA:·783e036dab4e6a6911cbbb193800a1a785a008508c2fc0ded55a2a0516b781ef·...·]-2">}</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="9369934888-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9369934888-3">[</span><span·class="p"·data-group-id="9369934888-4">[</span><span·class="s">&quot;arnie&quot;</span><span·class="p"·data-group-id="9369934[·...·truncated·by·diffoscope;·len:·109,·SHA:·fa041d14f55f2603c50873156edf3081c1ab2a4e0f6288df141f90aad6e109ae·...·]-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="8567371420-5">(</span><span·class="p"·data-group-id="8567371420-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="9369934888-5">(</span><span·class="p"·data-group-id="9369934888-5">)</span><span·class="p">.</span><span·class="w">
159 </span><span·class="p"·data-group-id="8567371420-6">[</span><span·class="s">&quot;+bertie&quot;</span><span·class="p"·data-group-id="8567371420-6">]</span></code></pre><p>Here·<code·class="inline">+W·w</code>·and·<code·class="inline">+R·9</code>·are·emulator·flags.·<code·class="inline">-s·my_init</code>·is·an·init·flag,159 </span><span·class="p"·data-group-id="9369934888-6">[</span><span·class="s">&quot;+bertie&quot;</span><span·class="p"·data-group-id="9369934888-6">]</span></code></pre><p>Here·<code·class="inline">+W·w</code>·and·<code·class="inline">+R·9</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="6062931869-1">(</span><span·class="ss">myflag</span><span·class="p"·data-group-id="6062931869-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="7631420900-1">(</span><span·class="ss">myflag</span><span·class="p"·data-group-id="7631420900-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="6062931869-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6062931869-3">[</span><span·class="p"·data-group-id="6062931869-4">[</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="6062931869-[·...·truncated·by·diffoscope;·len:·105,·SHA:·7aecf8ebd48794e1f5ccac0a6f590e9d70f941c8202f22411ca466b5a340c2c9·...·]-2">}</span><span·class="gp·unselectable">165 </span><span·class="p"·data-group-id="7631420900-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7631420900-3">[</span><span·class="p"·data-group-id="7631420900-4">[</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="7631420900-[·...·truncated·by·diffoscope;·len:·105,·SHA:·c25ceab3a41097b9170d697a7d93da2f2f41d3dec1d94996bb7edbe4642495ad·...·]-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="6062931869-5">(</span><span·class="p"·data-group-id="6062931869-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="7631420900-5">(</span><span·class="p"·data-group-id="7631420900-5">)</span><span·class="p">.</span><span·class="w">
167 </span><span·class="p"·data-group-id="6062931869-6">[</span><span·class="p"·data-group-id="6062931869-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="7631420900-6">[</span><span·class="p"·data-group-id="7631420900-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 700, 15 lines modifiedOffset 700, 15 lines modified
700 processes)·into·a·smaller·set·of·schedulers·when·schedulers·frequently·run700 processes)·into·a·smaller·set·of·schedulers·when·schedulers·frequently·run
701 out·of·work.·When·disabled,·the·frequency·with·which·schedulers·run·out·of701 out·of·work.·When·disabled,·the·frequency·with·which·schedulers·run·out·of
702 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>702 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>
703 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.703 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.
704 The·user-defined·CPU·topology·overrides704 The·user-defined·CPU·topology·overrides
705 any·automatically·detected·CPU·topology.·The·CPU·topology·is·used·when705 any·automatically·detected·CPU·topology.·The·CPU·topology·is·used·when
706 <a·href="#%2Bsbt">binding·schedulers·to·logical·processors</a>.·This·option·must·be·before706 <a·href="#%2Bsbt">binding·schedulers·to·logical·processors</a>.·This·option·must·be·before
707 <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="7637397756-1">(</span><span·class="p"·data-group-id="7637397756-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">707 <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="8607864190-1">(</span><span·class="p"·data-group-id="8607864190-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">
708 </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">708 </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">
709 </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">709 </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">
710 </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">710 </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">
711 </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">711 </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">
712 </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">712 </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">
713 </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">713 </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">
714 </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">714 </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 733, 30 lines modifiedOffset 733, 30 lines modified
733 node.</li><li><code·class="inline">&lt;LogicalIds&gt;&lt;ThreadIds&gt;&lt;CoreIds&gt;&lt;NodeIds&gt;&lt;ProcessorIds&gt;</code>,·that·is,·thread733 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
734 is·part·of·a·core·that·is·part·of·a·NUMA·node,·which·is·part·of·a734 is·part·of·a·core·that·is·part·of·a·NUMA·node,·which·is·part·of·a
735 processor.</li></ul><p>A·CPU·topology·can·consist·of·both·processor·external,·and·processor735 processor.</li></ul><p>A·CPU·topology·can·consist·of·both·processor·external,·and·processor
736 internal·NUMA·nodes·as·long·as·each·logical·processor·belongs·to·only·one736 internal·NUMA·nodes·as·long·as·each·logical·processor·belongs·to·only·one
737 NUMA·node.·If·<code·class="inline">&lt;ProcessorIds&gt;</code>·is·omitted,·its·default·position·is·before737 NUMA·node.·If·<code·class="inline">&lt;ProcessorIds&gt;</code>·is·omitted,·its·default·position·is·before
738 <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·a738 <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
739 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">739 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">
740 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="7951954703-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="7951954703-1">)</span><span·class="p">.</span><span·class="w">740 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="2539864072-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="2539864072-1">)</span><span·class="p">.</span><span·class="w">
741 </span><span·class="p"·data-group-id="7951954703-2">[</span><span·class="p"·data-group-id="7951954703-3">{</span><span·class="ss">processor</span><span·class="p">,</span><span·class="p"·data-group-id="7951954703-4">[</span><span·class="p"·data-group-id="7951954703-5">{</span><span·class="ss">c[·...·truncated·by·diffoscope;·len:·261,·SHA:·288b1e1505abdec2d07a8c1c59a2e66b9d1e6aa9efe828d49b91b82bf87f1700·...·]-5">}</span><span·class="p">,</span><span·class="w">741 </span><span·class="p"·data-group-id="2539864072-2">[</span><span·class="p"·data-group-id="2539864072-3">{</span><span·class="ss">processor</span><span·class="p">,</span><span·class="p"·data-group-id="2539864072-4">[</span><span·class="p"·data-group-id="2539864072-5">{</span><span·class="ss">c[·...·truncated·by·diffoscope;·len:·261,·SHA:·47860bc7615dae3920faa719bf2b449b2ef456329ebbef9478c038a893ca3a3d·...·]-5">}</span><span·class="p">,</span><span·class="w">
742 ·············</span><span·class="p"·data-group-id="7951954703-7">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="7951954703-8">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7951954703-8">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·ea292e2dcf0f9e89d74015cc69e733976870521adf47d398add149fcbd38b0a0·...·]-7">}</span><span·class="p">,</span><span·class="w">742 ·············</span><span·class="p"·data-group-id="2539864072-7">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="2539864072-8">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2539864072-8">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·4cfd4404933d7ec55bb3f49ea27f6abd9e8ad15e7e0579fb9b7fd79da0150d32·...·]-7">}</span><span·class="p">,</span><span·class="w">
743 ·············</span><span·class="p"·data-group-id="7951954703-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="7951954703-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7951954703-10">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·6f0e4596ef59433d4c6452ec3b268d32a249dc5724491e61051865c5a2dee3bc·...·]-9">}</span><span·class="p">,</span><span·class="w">743 ·············</span><span·class="p"·data-group-id="2539864072-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="2539864072-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="2539864072-10">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·c4f645a969bd6835979c1bc61ff1fe1b8c39dca8a06f16c672f50ed61198a3a9·...·]-9">}</span><span·class="p">,</span><span·class="w">
744 ·············</span><span·class="p"·data-group-id="7951954703-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="7951954703-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="7951954703-12">}[·...·truncated·by·diffoscope;·len:·208,·SHA:·bcf210095f81859429f40db7f18e866b37309dd350c492382851b37c25dd226f·...·]-2">]</span></code></pre><p>A·more·complicated·example·with·two·quad·core·processors,·each·processor·in744 ·············</span><span·class="p"·data-group-id="2539864072-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="2539864072-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="2539864072-12">}[·...·truncated·by·diffoscope;·len:·208,·SHA:·208b0a675a325a75e789e605b2640a11e033d13d43193452cb6ec6701c0fc666·...·]-2">]</span></code></pre><p>A·more·complicated·example·with·two·quad·core·processors,·each·processor·in
745 its·own·NUMA·node.·The·ordering·of·logical·processors·is·a·bit·weird.·This745 its·own·NUMA·node.·The·ordering·of·logical·processors·is·a·bit·weird.·This
746 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">746 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">
747 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="5654111365-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="5654111365-1">)</span><span·class="p">.</span><span·class="w">747 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="6664355668-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="6664355668-1">)</span><span·class="p">.</span><span·class="w">
748 </span><span·class="p"·data-group-id="5654111365-2">[</span><span·class="p"·data-group-id="5654111365-3">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="5654111365-4">[</span><span·class="p"·data-group-id="5654111365-5">{</span><span·class="ss">proces[·...·truncated·by·diffoscope;·len:·419,·SHA:·9340912973d4e8bc5b9d9244bd7959332015fe8b04676a87db0deff2c0dd7a48·...·]-7">}</span><span·class="p">,</span><span·class="w">748 </span><span·class="p"·data-group-id="6664355668-2">[</span><span·class="p"·data-group-id="6664355668-3">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="6664355668-4">[</span><span·class="p"·data-group-id="6664355668-5">{</span><span·class="ss">proces[·...·truncated·by·diffoscope;·len:·419,·SHA:·8431c8852b3761cc7f28d26271be8de0727b2e5901d194aceb42c16d7cff88a1·...·]-7">}</span><span·class="p">,</span><span·class="w">
749 ····················</span><span·class="p"·data-group-id="5654111365-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5654111365-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5654111365-10">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·c4424842d735192018198dde92cab65c980b9abe5a398b2b2529a8d178eb5c55·...·]-9">}</span><span·class="p">,</span><span·class="w">749 ····················</span><span·class="p"·data-group-id="6664355668-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="6664355668-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6664355668-10">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·6c551cc05669e4af80dac150cf3b9f94d14059953af00fa84b34718518f55812·...·]-9">}</span><span·class="p">,</span><span·class="w">
750 ····················</span><span·class="p"·data-group-id="5654111365-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5654111365-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="5654111365-12">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·29fe21a99d71d6de6253ed3312a081c41fc02b098a46cf9ed54b2c881af1206e·...·]-11">}</span><span·class="p">,</span><span·class="w">750 ····················</span><span·class="p"·data-group-id="6664355668-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="6664355668-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="6664355668-12">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·a747d1964a52cc8e33ee0f8feea09d04bc1800ab24149f293b51ad7fd85029d1·...·]-11">}</span><span·class="p">,</span><span·class="w">
751 ····················</span><span·class="p"·data-group-id="5654111365-13">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5654111365-14">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="5654111365-14">}</span><span·class="p"·data-group-id="5654111365-13">}</span><span·class="p"·data-group-id="5654111365-6">]</span><span·class="p"·data-group-id="5654111365-5">}</span><span·class="p"·data-group-id="5654111365-4">]</span><span·class="p"·data-group-id="5654111365-3">}</span><span·class="p">,</span><span·class="w"> 
752 ·</span><span·class="p"·data-group-id="5654111365-15">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="5654111365-16">[</span><span·class="p"·data-group-id="5654111365-17">{</span><span·class="ss">processor</span><s[·...·truncated·by·diffoscope;·len:·414,·SHA:·c831454802c744eaa9b1503a197890c42ceda0f5f580b5381701903db8299def·...·]">}</span><span·class="p">,</span><span·class="w">751 ····················</span><span·class="p"·data-group-id="6664355668-13">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="6664355668-14">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·320,·SHA:·f557a1e9cb4a02e3f421e1e9888d58f5866c4dea431155af9e4817052ac0c42d·...·]">}</span><span·class="p">,</span><span·class="w">
 752 ·</span><span·class="p"·data-group-id="6664355668-15">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="6664355668-16">[</span><span·class="p"·data-group-id="6664355668-17">{</span><span·class="ss">processor</span><span·class="p">,</span><span·class="p"·data-group-id="6664355668-18">[</span><span·class="p"·data-group-id="6664355668-19">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="6664355668-20">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="6664355668-20">}</span><span·class="p"·data-group-id="6664355668-19">}</span><span·class="p">,</span><span·class="w">
753 ····················</span><span·class="p"·data-group-id="5654111365-21">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5654111365-22">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="5654111365-22">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·29fe21a99d71d6de6253ed3312a081c41fc02b098a46cf9ed54b2c881af1206e·...·]-21">}</span><span·class="p">,</span><span·class="w">753 ····················</span><span·class="p"·data-group-id="6664355668-21">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="6664355668-22">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="6664355668-22">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·a747d1964a52cc8e33ee0f8feea09d04bc1800ab24149f293b51ad7fd85029d1·...·]-21">}</span><span·class="p">,</span><span·class="w">
754 ····················</span><span·class="p"·data-group-id="5654111365-23">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5654111365-24">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="5654111365-24">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·29fe21a99d71d6de6253ed3312a081c41fc02b098a46cf9ed54b2c881af1206e·...·]-23">}</span><span·class="p">,</span><span·class="w">754 ····················</span><span·class="p"·data-group-id="6664355668-23">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="6664355668-24">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="6664355668-24">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·a747d1964a52cc8e33ee0f8feea09d04bc1800ab24149f293b51ad7fd85029d1·...·]-23">}</span><span·class="p">,</span><span·class="w">
755 ····················</span><span·class="p"·data-group-id="5654111365-25">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5654111365-26">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="5654111365-26">}[·...·truncated·by·diffoscope;·len:·318,·SHA:·60a9c78e0837bdd21719c292239778a53dbb0350465e1f17cd07f67cbd449b07·...·]-2">]</span></code></pre><p>As·long·as·real·identifiers·are·correct,·it·is·OK·to·pass·a·CPU·topology755 ····················</span><span·class="p"·data-group-id="6664355668-25">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="6664355668-26">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="6664355668-26">}[·...·truncated·by·diffoscope;·len:·318,·SHA:·805336a8780146b0fd67113665734ea9d82c8b16dcccb725479810c4ac8ad5eb·...·]-2">]</span></code></pre><p>As·long·as·real·identifiers·are·correct,·it·is·OK·to·pass·a·CPU·topology
756 that·is·not·a·correct·description·of·the·CPU·topology.·When·used·with·care756 that·is·not·a·correct·description·of·the·CPU·topology.·When·used·with·care
757 this·can·be·very·useful.·This·to·trick·the·emulator·to·bind·its·schedulers757 this·can·be·very·useful.·This·to·trick·the·emulator·to·bind·its·schedulers
758 as·you·want.·For·example,·if·you·want·to·run·multiple·Erlang·runtime·systems758 as·you·want.·For·example,·if·you·want·to·run·multiple·Erlang·runtime·systems
759 on·the·same·machine,·you·want·to·reduce·the·number·of·schedulers·used·and759 on·the·same·machine,·you·want·to·reduce·the·number·of·schedulers·used·and
760 manipulate·the·CPU·topology·so·that·they·bind·to·different·logical·CPUs.·An760 manipulate·the·CPU·topology·so·that·they·bind·to·different·logical·CPUs.·An
761 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·one761 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
762 %·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,·and762 %·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 923, 18 lines modifiedOffset 923, 18 lines modified
923 </h2>923 </h2>
924 <p>The·standard·Erlang/OTP·system·can·be·reconfigured·to·change·the·default924 <p>The·standard·Erlang/OTP·system·can·be·reconfigured·to·change·the·default
925 behavior·on·startup.</p><ul><li><p><strong>The·<code·class="inline">.erlang</code>·startup·file</strong>·-·When·Erlang/OTP·is·started,·the·system925 behavior·on·startup.</p><ul><li><p><strong>The·<code·class="inline">.erlang</code>·startup·file</strong>·-·When·Erlang/OTP·is·started,·the·system
926 searches·for·a·file·named·<code·class="inline">.erlang</code>·in·the926 searches·for·a·file·named·<code·class="inline">.erlang</code>·in·the
927 <a·href="init.html#home">user's·home·directory</a>·and·then927 <a·href="init.html#home">user's·home·directory</a>·and·then
928 <a·href="../../../lib/stdlib-6.2.2/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·Erlang928 <a·href="../../../lib/stdlib-6.2.2/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
929 expressions.·These·expressions·are·evaluated·as·if·they·were·input·to·the929 expressions.·These·expressions·are·evaluated·as·if·they·were·input·to·the
930 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="3831754796-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="3831754796-2">[</span><span·class="p"·data-group-id="3831754796-2">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·33f26d9448d4fb605f0f59eaf334b774a4a42a6bc39eb4b4d4ac5359d794cded·...·]-1">)</span><span·class="p">.</span><span·class="w">930 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="3651612879-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="3651612879-2">[</span><span·class="p"·data-group-id="3651612879-2">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·20991865d9914d71e20758182d4eb2745a10cca47d7efb65e4620701de22edaf·...·]-1">)</span><span·class="p">.</span><span·class="w">
931 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="3831754796-3">(</span><span·class="s">&quot;/home/calvin/test/ebin&quot;</span><span·class="p"·data-group-id="3831754796-3">)</span><span·class="p">.</span><span·class="w">931 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="3651612879-3">(</span><span·class="s">&quot;/home/calvin/test/ebin&quot;</span><span·class="p"·data-group-id="3651612879-3">)</span><span·class="p">.</span><span·class="w">
932 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="3831754796-4">(</span><span·class="s">&quot;/home/hobbes/bigappl-1.2/ebin&quot;</span><span·class="p"·data-group-id="3831754796-4">)</span><span·class="p">.</span><span·class="w">932 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="3651612879-4">(</span><span·class="s">&quot;/home/hobbes/bigappl-1.2/ebin&quot;</span><span·class="p"·data-group-id="3651612879-4">)</span><span·class="p">.</span><span·class="w">
933 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3831754796-5">(</span><span·class="s">&quot;.erlang·rc·finished\n&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="3831754796-6">[</span><span·class="p"·data-group-id="3831754796-6">]</span><span·class="p"·data-group-id="3831754796-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·not933 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3651612879-5">(</span><span·class="s">&quot;.erlang·rc·finished\n&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="3651612879-6">[</span><span·class="p"·data-group-id="3651612879-6">]</span><span·class="p"·data-group-id="3651612879-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
934 prefixed·by·a·module·name·are·assumed·to·be·functional·objects·(funs),934 prefixed·by·a·module·name·are·assumed·to·be·functional·objects·(funs),
935 built-in·functions·(BIFs),·or·belong·to·the·module·<code·class="inline">user_default</code>·or935 built-in·functions·(BIFs),·or·belong·to·the·module·<code·class="inline">user_default</code>·or
936 <code·class="inline">shell_default</code>.</p><p>To·include·private·shell·commands,·define·them·in·a·module·<code·class="inline">user_default</code>·and936 <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
937 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·of937 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
938 <code·class="inline">user_default</code>·is·defined,·the·Erlang/OTP·environment·can·be·customized.·More938 <code·class="inline">user_default</code>·is·defined,·the·Erlang/OTP·environment·can·be·customized.·More
939 powerful·changes·can·be·made·by·supplying·command-line·arguments·in·the939 powerful·changes·can·be·made·by·supplying·command-line·arguments·in·the
940 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">940 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 988, 15 lines modifiedOffset 988, 15 lines modified
988 ······<p·class="built-using">988 ······<p·class="built-using">
989 ········Built·using989 ········Built·using
990 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the990 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
991 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>991 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
992 ······</p>992 ······</p>
993 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>993 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
994 ····</footer>994 ····</footer>
995 ··</div>995 ··</div>
996 </main>996 </main>
997 </div>997 </div>
998 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>998 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
999 ··<script>999 ··<script>
1000 ··let·initialized·=·false;1000 ··let·initialized·=·false;
740 B
html2text {}
Max HTML report size reached
28.3 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="4266583873-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="4266583873-2">[</span><span·c[·...·truncated·by·diffoscope;·len:·193,·SHA:·c845f049ead57f99faa20035f2e793a9a6fd11f12b3b2d4c7be3e92a2c47534a·...·]-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="4446382977-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="4446382977-2">[</span><span·c[·...·truncated·by·diffoscope;·len:·193,·SHA:·3b5f32b81fda107eef301d0c14b5af3088320bce066b229af18787d1ed335fbc·...·]-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="1720701764-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="1074909020-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="1720701764-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="1720701764-2">]</span><sp[·...·truncated·by·diffoscope;·len:·265,·SHA:·aaab9b159d21891c4049b1427fbe181384eed9fe6422f2c283d291ea35c60a0a·...·]-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="1074909020-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="1074909020-2">]</span><sp[·...·truncated·by·diffoscope;·len:·265,·SHA:·61573a9787ea7fd1ecf5786bbc8b3e682eecdaf3a10d5b12dd0c1f039d2153c6·...·]-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="3088184129-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="3088184129-2">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·33bb5b98e870aee45c4dfed116f1b6949919388b68c47fb6609a819655475ce5·...·]-1">)</span><span·class="p">.</span></code></pre><h3·id="kill-epmd"·class="section-heading">276 ··········</span><span·class="p"·data-group-id="3556258468-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="3556258468-2">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·f3e6a1f918be7528c1aeeb3288b7d6761e53f45db0fa2357bf8bffe0c0a861ec·...·]-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="5331724737-1">(</span><span·class="ss">initiator</span><span·class="p"·data-group-id="5331724737-1">)</span><span·class="w">······································</span><span·class="n">B</span><span·class="w">·</span><span·class="p"·data-group-id="53317247[·...·truncated·by·diffoscope;·len:·87,·SHA:·8c6d53d56703337f95998d6faa0532da1564e1eb9218337648656fa64093a6a0·...·]-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="2012136630-1">(</span><span·class="ss">initiator</span><span·class="p"·data-group-id="2012136630-1">)</span><span·class="w">······································</span><span·class="n">B</span><span·class="w">·</span><span·class="p"·data-group-id="20121366[·...·truncated·by·diffoscope;·len:·87,·SHA:·56354f07d5fbf4f5ac45a4af9f706879217684989efa948e9cf49ebf22dfa02f·...·]-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="5331724737-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="2012136630-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="5331724737-3">)</span><span·class="w">423 ···················································</span><span·class="ss">recv_status</span><span·class="p"·data-group-id="2012136630-3">)</span><span·class="w">
  
424 ··························</span><span·class="p"·data-group-id="5331724737-4">(</span><span·class="n">ChB</span><span·class="p"·data-group-id="5331724737-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:·119,·SHA:·1c9fc7686bc8b184e51075fc407b78ae93439641015fa2b7caab4f1b2c8c3745·...·]-5">)</span><span·class="w">424 ··························</span><span·class="p"·data-group-id="2012136630-4">(</span><span·class="n">ChB</span><span·class="p"·data-group-id="2012136630-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:·119,·SHA:·cc5c4928ab5f2b21ff1e08d506537b0fa2ad94c0c275d1ac6a66964aed879635·...·]-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="5331724737-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="2012136630-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="5331724737-6">)</span><span·class="w">429 ···················································</span><span·class="ss">recv_complement</span><span·class="p"·data-group-id="2012136630-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="5331724737-7">(</span><span·class="p"·data-group-id="5331724737-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="2012136630-7">(</span><span·class="p"·data-group-id="2012136630-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="5331724737-8">(</span><span·class="n">B</span><span·class="p"·data-group-id="5331724737-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="2012136630-8">(</span><span·class="n">B</span><span·class="p"·data-group-id="2012136630-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="5331724737-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="5331724737-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="2012136630-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="2012136630-9">)</span><span·class="w">
433 ··························</span><span·class="p"·data-group-id="5331724737-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="5331724737-10">)</span><span·class="w">433 ··························</span><span·class="p"·data-group-id="2012136630-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="2012136630-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="5331724737-11">(</span><span·class="n">A</span><span·class="p"·data-group-id="5331724737-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="2012136630-11">(</span><span·class="n">A</span><span·class="p"·data-group-id="2012136630-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="5331724737-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="5331724737-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="2012136630-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="2012136630-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="5331724737-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="5331724737-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="2012136630-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="2012136630-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="5331724737-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="5331724737-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="2012136630-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="2012136630-14">)</span><span·class="w">
442 ··························</span><span·class="p"·data-group-id="5331724737-15">(</span><span·class="n">DiB</span><span·class="p"·data-group-id="5331724737-15">)</span><span·class="w">442 ··························</span><span·class="p"·data-group-id="2012136630-15">(</span><span·class="n">DiB</span><span·class="p"·data-group-id="2012136630-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="5331724737-16">(</span><span·class="n">B</span><span·class="p"·data-group-id="5331724737-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="2012136630-16">(</span><span·class="n">B</span><span·class="p"·data-group-id="2012136630-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="5331724737-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="5331724737-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="2012136630-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="2012136630-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 762, 15 lines modifiedOffset 762, 15 lines modified
762 ······<p·class="built-using">762 ······<p·class="built-using">
763 ········Built·using763 ········Built·using
764 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the764 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
765 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>765 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
766 ······</p>766 ······</p>
767 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>767 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
768 ····</footer>768 ····</footer>
769 ··</div>769 ··</div>
770 </main>770 </main>
771 </div>771 </div>
772 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>772 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
773 ··<script>773 ··<script>
774 ··let·initialized·=·false;774 ··let·initialized·=·false;
632 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1778 <p>Copyright·©·1996-2025·<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-15.2.7/doc/html/erl_ext_dist.html
    
Offset 436, 15 lines modifiedOffset 436, 15 lines modified
436 ··</a>436 ··</a>
437 ··<span·class="text">SMALL_BIG_EXT</span>437 ··<span·class="text">SMALL_BIG_EXT</span>
438 </h2>438 </h2>
439 <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·is439 <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
440 positive·and·1·if·it·is·negative.·The·digits·are·stored·with·the·least440 positive·and·1·if·it·is·negative.·The·digits·are·stored·with·the·least
441 significant·byte·stored·first.·To·calculate·the·integer,·the·following·formula441 significant·byte·stored·first.·To·calculate·the·integer,·the·following·formula
442 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">442 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">
443 </span><span·class="p"·data-group-id="7751835476-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:·a69685275cbd8128fe6a885b39339a20f4285daf61d250063c3bfdd8579e85c4·...·]-1">)</span></code></pre><h2·id="large_big_ext"·class="section-heading">443 </span><span·class="p"·data-group-id="6309868831-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:·2bd06811b3d94cc3f08c133a250182af79cf6e821cf4e2eeb30fdacacf1a55e6·...·]-1">)</span></code></pre><h2·id="large_big_ext"·class="section-heading">
444 ··<a·href="#large_big_ext"·class="hover-link">444 ··<a·href="#large_big_ext"·class="hover-link">
445 ····<i·class="ri-link-m"·aria-hidden="true"></i>445 ····<i·class="ri-link-m"·aria-hidden="true"></i>
446 ··</a>446 ··</a>
447 ··<span·class="text">LARGE_BIG_EXT</span>447 ··<span·class="text">LARGE_BIG_EXT</span>
448 </h2>448 </h2>
449 <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·length449 <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
450 field·is·an·unsigned·4·byte·integer.</p><h2·id="reference_ext-deprecated"·class="section-heading">450 field·is·an·unsigned·4·byte·integer.</p><h2·id="reference_ext-deprecated"·class="section-heading">
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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>626 <p>Copyright·©·1996-2025·<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;
687 B
html2text {}
Max HTML report size reached
7.53 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="7569925261-1">(</span><span·class="ss">niftest</span><span·class="p"·data-group-id="7569925261-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="2664853648-1">(</span><span·class="ss">niftest</span><span·class="p"·data-group-id="2664853648-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="7569925261-2">(</span><span·class="p"·data-group-id="7569925261-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><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·000d0a6b7ed19222b38d26fabc7625bf043dd35780a75e087a9b3856259a5186·...·]-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="2664853648-2">(</span><span·class="p"·data-group-id="2664853648-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><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·fcf0e4fafb0186b0b636392f464432bd5add6ba06152d8e1ef5736d049b6b6ae·...·]-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="7569925261-4">(</span><span·class="p"·data-group-id="7569925261-5">[</span><span·class="ss">hello</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7569925261-5">]</span><span·class="p"·data-group-id="7569925261-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="2664853648-4">(</span><span·class="p"·data-group-id="2664853648-5">[</span><span·class="ss">hello</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2664853648-5">]</span><span·class="p"·data-group-id="2664853648-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="7569925261-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7569925261-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="2664853648-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2664853648-6">)</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">init</span><span·class="p"·data-group-id="7569925261-7">(</span><span·class="p"·data-group-id="7569925261-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="2664853648-7">(</span><span·class="p"·data-group-id="2664853648-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="7569925261-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="7569925261-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="2664853648-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="2664853648-8">)</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">hello</span><span·class="p"·data-group-id="7569925261-9">(</span><span·class="p"·data-group-id="7569925261-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="2664853648-9">(</span><span·class="p"·data-group-id="2664853648-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="7569925261-10">(</span><span·class="s">&quot;NIF·library·not·loaded&quot;</span><span·class="p"·data-group-id="7569925261-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="2664853648-10">(</span><span·class="s">&quot;NIF·library·not·loaded&quot;</span><span·class="p"·data-group-id="2664853648-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 2873, 15 lines modifiedOffset 2873, 15 lines modified
2873 ······<p·class="built-using">2873 ······<p·class="built-using">
2874 ········Built·using2874 ········Built·using
2875 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2875 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2876 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2876 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2877 ······</p>2877 ······</p>
2878 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2878 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2879 ····</footer>2879 ····</footer>
2880 ··</div>2880 ··</div>
2881 </main>2881 </main>
2882 </div>2882 </div>
2883 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2883 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2884 ··<script>2884 ··<script>
2885 ··let·initialized·=·false;2885 ··let·initialized·=·false;
696 B
html2text {}
Max HTML report size reached
3.61 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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.2.7/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.2.7/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.2.7/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.2.7/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="8467529963-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="8467529963-1">)</span><span·class="p">.</span></code></pre><p>For·more·information·about·the·record·see·<a·href="../../../lib/kernel-10.2.7/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="6745785521-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="6745785521-1">)</span><span·class="p">.</span></code></pre><p>For·more·information·about·the·record·see·<a·href="../../../lib/kernel-10.2.7/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.2.7/doc/html/code.html"><code·class="inline">code</code></a>.</p>405 about·archive·files,·see·<a·href="../../../lib/kernel-10.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>491 <p>Copyright·©·1996-2025·<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-15.2.7/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="3940876648-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="3940876648-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="3940876648-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">8[·...·truncated·by·diffoscope;·len:·1414,·SHA:·a8e97767acaa7b23582779a70752f04f40f16cd52765f658ecae3414cc0e8173·...·]-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="4245004675-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="4245004675-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="4245004675-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">8[·...·truncated·by·diffoscope;·len:·1414,·SHA:·3b834c389e73eea848d646b3a71a4455503a8cc37162d98282cc89cb3f1b3f6a·...·]-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="3940876648-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="3940876648-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="4245004675-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="4245004675-9">)</span><span·class="gp·unselectable">
154 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="3940876648-10">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="3940876648-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:·1854b44143962da54c850f4a5dedafae8f4c4a953016357942699c3d5cf8140d·...·]-11">)</span><span·class="p">.</span><span·class="w">154 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="4245004675-10">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="4245004675-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:·8911a98b6e5bec273536bec5bff8649af5df5cd9767a97fd7de1252151c3bc95·...·]-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="3940876648-12">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="3940876648-13">(</span><span·class="p"·data-group-id="3940876648-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span[·...·truncated·by·diffoscope;·len:·954,·SHA:·1c66500211358108d4607992dab2b175135ad027f713abe6ba275be6e95949f3·...·]-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="4245004675-12">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="4245004675-13">(</span><span·class="p"·data-group-id="4245004675-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span[·...·truncated·by·diffoscope;·len:·954,·SHA:·a604c04e1fd6645d57e02739a5553c0cd8a30b35f6bb78c50984fe42d78f0274·...·]-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="3940876648-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="3940876648-18">[</span><span·class="nb">send</span>[·...·truncated·by·diffoscope;·len:·420,·SHA:·27b9c2abf5d1451f35b69ef52c6dbdba96155c7d600275ff77355a122690b34d·...·]-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="4245004675-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="4245004675-18">[</span><span·class="nb">send</span>[·...·truncated·by·diffoscope;·len:·420,·SHA:·6825896e1fa3e1b6b748e73ebf7dda1e079e42005ec208c50bee1f42c7e23761·...·]-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="3940876648-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:·12e4853dc641b14ae39357278001e398d1ea327c3d6da2fe4d622de4464ad5db·...·]-20">}</span><span·class="gp·unselectable">160 </span><span·class="p"·data-group-id="4245004675-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:·69922446db73edb7c58aa3781ff38c120ae0f339f02b9ee2ce0cf9063739976b·...·]-20">}</span><span·class="gp·unselectable">
161 4&gt;·</span><span·class="p"·data-group-id="3940876648-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="3940876648-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·375,·SHA:·77d80b703b49e9c6a5a5d93ae81f00b9b624268a4ee8068c13a28efa0412e03d·...·]-22">)</span><span·class="p">.</span><span·class="w">161 4&gt;·</span><span·class="p"·data-group-id="4245004675-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="4245004675-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·375,·SHA:·3cfb6f380d107566fea9bb89e6ad2ca91b22244ec853f9f6d27dc061ab227d72·...·]-22">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p"·data-group-id="3940876648-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:·9e1d98c63b2b503e1b3afe9087f6e739e59ba9ae5762de28d6b576e42b282a77·...·]-24">}</span><span·class="w">162 </span><span·class="p"·data-group-id="4245004675-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:·cdcad4df37428a9e7a941fe2b9fc26f77f5e50e6c98b588505c3acc4ae81b4d3·...·]-24">}</span><span·class="w">
163 </span><span·class="p"·data-group-id="3940876648-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:·7b71f421fd97cc0a883eddb0924420060dc8c02e4e61da22d51150c3c1b758a9·...·]-25">}</span><span·class="w">163 </span><span·class="p"·data-group-id="4245004675-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:·30df35ae84a6b059a9c6af580881b4ff47f16bcc11d1bb26d3e930f6f1ff61e6·...·]-25">}</span><span·class="w">
164 </span><span·class="p"·data-group-id="3940876648-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:·9bf274bd77dd2363c261daeee00102faeb1a7fe0096e0575d555812d9fde817b·...·]-26">}</span><span·class="w">164 </span><span·class="p"·data-group-id="4245004675-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:·8e88d817c3e6ec9e433af7004cbdd6c1ddcf7f5a68f8ba43cdb396e7b01acacf·...·]-26">}</span><span·class="w">
165 </span><span·class="p"·data-group-id="3940876648-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:·9bf274bd77dd2363c261daeee00102faeb1a7fe0096e0575d555812d9fde817b·...·]-27">}</span><span·class="w">165 </span><span·class="p"·data-group-id="4245004675-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:·8e88d817c3e6ec9e433af7004cbdd6c1ddcf7f5a68f8ba43cdb396e7b01acacf·...·]-27">}</span><span·class="w">
166 </span><span·class="p"·data-group-id="3940876648-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:·9bf274bd77dd2363c261daeee00102faeb1a7fe0096e0575d555812d9fde817b·...·]-28">}</span><span·class="w">166 </span><span·class="p"·data-group-id="4245004675-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:·8e88d817c3e6ec9e433af7004cbdd6c1ddcf7f5a68f8ba43cdb396e7b01acacf·...·]-28">}</span><span·class="w">
167 </span><span·class="p"·data-group-id="3940876648-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:·9bf274bd77dd2363c261daeee00102faeb1a7fe0096e0575d555812d9fde817b·...·]-29">}</span><span·class="w">167 </span><span·class="p"·data-group-id="4245004675-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:·8e88d817c3e6ec9e433af7004cbdd6c1ddcf7f5a68f8ba43cdb396e7b01acacf·...·]-29">}</span><span·class="w">
168 </span><span·class="p"·data-group-id="3940876648-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="3940876648-30">}</span><span·class="w">168 </span><span·class="p"·data-group-id="4245004675-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="4245004675-30">}</span><span·class="w">
169 </span><span·class="p"·data-group-id="3940876648-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:·12e4853dc641b14ae39357278001e398d1ea327c3d6da2fe4d622de4464ad5db·...·]-31">}</span><span·class="w">169 </span><span·class="p"·data-group-id="4245004675-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:·69922446db73edb7c58aa3781ff38c120ae0f339f02b9ee2ce0cf9063739976b·...·]-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="6067483308-1">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="6067483308-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="0576253109-1">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="0576253109-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="6067483308-2">(</span><span·class="p"·data-group-id="6067483308-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:·80c1c345acac4ca399be0abdd545e3841741b21172e9f8a2fd3e549d7a1c899e·...·]-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="0576253109-2">(</span><span·class="p"·data-group-id="0576253109-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:·0e36934694b0f1a762e78d24aec3d79d92714efc703374cfeebaeef87efd78d6·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">load</span><span·class="p"·data-group-id="6067483308-4">(</span><span·class="p"·data-group-id="6067483308-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="0576253109-4">(</span><span·class="p"·data-group-id="0576253109-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="6067483308-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="6067483308-6">[</span><span·class="p"·data-group-id="6067483308-6">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·84490528c1f0027af09887be35010d4f4cb89924a5d77a5388d3a599e2b0424c·...·]-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="0576253109-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="0576253109-6">[</span><span·class="p"·data-group-id="0576253109-6">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·65825149ac789485fadcc277ec230777b5c02c9e02e9637205dc80f76e8d889a·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">enabled</span><span·class="p"·data-group-id="6067483308-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="6067483308-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="0576253109-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="0576253109-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="6067483308-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:·5f39d4f73dadc9a511e32c2b0a2a30bfadef05d57837b5e6e8e89fea864714b6·...·]-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="0576253109-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:·af737c223db880960d32ea62948511c7852709ddcaab0459a59d2ae13856ae52·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1662 <p>Copyright·©·1996-2025·<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
627 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/doc/html/erlang.html
Max HTML report size reached
1.33 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/doc/html/erlc_cmd.html
    
Offset 295, 15 lines modifiedOffset 295, 15 lines modified
295 ······<p·class="built-using">295 ······<p·class="built-using">
296 ········Built·using296 ········Built·using
297 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the297 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
298 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>298 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
299 ······</p>299 ······</p>
300 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>300 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
301 ····</footer>301 ····</footer>
302 ··</div>302 ··</div>
303 </main>303 </main>
304 </div>304 </div>
305 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>305 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
306 ··<script>306 ··<script>
307 ··let·initialized·=·false;307 ··let·initialized·=·false;
533 B
html2text {}
Max HTML report size reached
1.39 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>406 <p>Copyright·©·1996-2025·<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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>539 <p>Copyright·©·1996-2025·<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-15.2.7/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="8377932400-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="8377932400-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="1959901483-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="1959901483-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-6.2.2/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-6.2.2/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="5347272386-1">(</span><span·class="p"·data-group-id="5347272386-2">[</span><span·class="n">String</span><span·class="p"·data-group-id="5347272386-2">]</span><span·class="p"·data-group-id="5347272386-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="8537615195-1">(</span><span·class="p"·data-group-id="8537615195-2">[</span><span·class="n">String</span><span·class="p"·data-group-id="8537615195-2">]</span><span·class="p"·data-group-id="8537615195-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="5347272386-3">(</span><span·class="n">String</span><span·class="p"·data-group-id="5347272386-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="8537615195-3">(</span><span·class="n">String</span><span·class="p"·data-group-id="8537615195-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="5347272386-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="5347272386-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="8537615195-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="8537615195-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="5347272386-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="5347272[·...·truncated·by·diffoscope;·len:·181,·SHA:·c2d80e37d7f18d4d6ccefdeb25585640cf9096630ce22cc83767af949c4f94ff·...·]-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="8537615195-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="8537615[·...·truncated·by·diffoscope;·len:·181,·SHA:·415964ed5c70d08cf659d238383df4e875a181c3f674ec03299f287c098654b3·...·]-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="5347272386-7">(</span><span·class="p"·data-group-id="5347272386-7">)</span><span·class="w">152 ············</span><span·class="nf">usage</span><span·class="p"·data-group-id="8537615195-7">(</span><span·class="p"·data-group-id="8537615195-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="5347272386-8">(</span><span·class="p">_</span><span·class="p"·data-group-id="5347272386-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="8537615195-8">(</span><span·class="p">_</span><span·class="p"·data-group-id="8537615195-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="5347272386-9">(</span><span·class="p"·data-group-id="5347272386-9">)</span><span·class="p">.</span><span·class="w">155 ····</span><span·class="nf">usage</span><span·class="p"·data-group-id="8537615195-9">(</span><span·class="p"·data-group-id="8537615195-9">)</span><span·class="p">.</span><span·class="w">
  
156 </span><span·class="nf">usage</span><span·class="p"·data-group-id="5347272386-10">(</span><span·class="p"·data-group-id="5347272386-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="8537615195-10">(</span><span·class="p"·data-group-id="8537615195-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="5347272386-11">(</span><span·class="s">&quot;usage:·factorial·integer\n&quot;</span><span·class="p"·data-group-id="5347272386-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="8537615195-11">(</span><span·class="s">&quot;usage:·factorial·integer\n&quot;</span><span·class="p"·data-group-id="8537615195-11">)</span><span·class="p">,</span><span·class="w">
158 ····</span><span·class="nf">halt</span><span·class="p"·data-group-id="5347272386-12">(</span><span·class="mi">1</span><span·class="p"·data-group-id="5347272386-12">)</span><span·class="p">.</span><span·class="w">158 ····</span><span·class="nf">halt</span><span·class="p"·data-group-id="8537615195-12">(</span><span·class="mi">1</span><span·class="p"·data-group-id="8537615195-12">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">fac</span><span·class="p"·data-group-id="5347272386-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="5347272386-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="8537615195-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="8537615195-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="5347272386-14">(</span><span·class="n">N</span><span·class="p"·data-group-id="5347272386-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:·212,·SHA:·070a9d04798082d6fe8434e03e9af723e3cf07aaceafbcbd855db2e8ddb6be33·...·]-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="8537615195-14">(</span><span·class="n">N</span><span·class="p"·data-group-id="8537615195-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:·212,·SHA:·dc2b0b9e88338b8837422c78e445630db94182455135beb3ee43e303aa9ad5bd·...·]-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-6.2.2/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-6.2.2/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="9698721378-1">(</span><span·class="p"·data-group-id="9698721378-2">[</span><span·class="p"·data-group-id="9698721378-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:·01c8b2039ab97944d978434949c05ed5a870c93ba5e312c6de3339d59112843c·...·]-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="7582066043-1">(</span><span·class="p"·data-group-id="7582066043-2">[</span><span·class="p"·data-group-id="7582066043-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:·449341b9e7b0ea37c7bd39a7e6de67f687cacaa1ebbe024741ccfd846d14047e·...·]-1">)</span></code></pre><p>The·default·encoding·of·the·I/O-server·for
174 <a·href="../../../lib/stdlib-6.2.2/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-6.2.2/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-6.2.2/doc/html/unicode_usage.html#unicode_options_summary">Summary·of·Options</a>)·in176 <a·href="../../../lib/stdlib-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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="6439992523-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="6439992523-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="6988780735-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="6988780735-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.2.7/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.2.7/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="9685534334-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="9685534334-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="4630262255-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="4630262255-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>314 <p>Copyright·©·1996-2025·<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-15.2.7/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="8977723781-1">(</span><span·class="n">Foo</span><span·class="p"·data-group-id="8977723781-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="1325753651-1">(</span><span·class="n">Foo</span><span·class="p"·data-group-id="1325753651-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="8977723781-2">[</span><span·class="mi">42</span><span·class="p">|</span><span·class="n">Foo</span><span·class="p"·data-group-id="8977723781-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="1325753651-2">[</span><span·class="mi">42</span><span·class="p">|</span><span·class="n">Foo</span><span·class="p"·data-group-id="1325753651-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="8977723781-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="8977723781-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="1325753651-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="1325753651-3">}</span><span·class="p">,</span><span·class="w">
143 ···</span><span·class="p"·data-group-id="8977723781-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="8977723781-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="1325753651-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="1325753651-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="7228335016-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="7228335016-1">}</span><span·class="p">.</span><span·class="w">144 </span><span·class="p"·data-group-id="4983309533-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="4983309533-1">}</span><span·class="p">.</span><span·class="w">
145 </span><span·class="p"·data-group-id="7228335016-2">{</span><span·class="ss">put_list</span><span·class="p">,</span><span·class="p"·data-group-id="7228335016-3">{</span><span·class="ss">integer</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="7228335016-3"[·...·truncated·by·diffoscope;·len:·458,·SHA:·f4471221c96383d8f8ad6939cbb5a00097a34f10d4256cb37abc090e8eaa6054·...·]-2">}</span><span·class="p">.</span><span·class="w">145 </span><span·class="p"·data-group-id="4983309533-2">{</span><span·class="ss">put_list</span><span·class="p">,</span><span·class="p"·data-group-id="4983309533-3">{</span><span·class="ss">integer</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="4983309533-3"[·...·truncated·by·diffoscope;·len:·458,·SHA:·8da3b0f3c9a1ab572e00d90c31b1b8839a23815261c3394477442f62fd94c326·...·]-2">}</span><span·class="p">.</span><span·class="w">
146 </span><span·class="p"·data-group-id="7228335016-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="7228335016-7">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">0</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·205a4cb49ac0ad0e11925cb46afe8607255a6d53ab306cd4be9b59cffe84c2c5·...·]-6">}</span><span·class="p">.</span><span·class="w">146 </span><span·class="p"·data-group-id="4983309533-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="4983309533-7">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">0</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·ce93761a428f3cb999b6cc2d01f9defafbca452683e0371a2c04da4cf9362d0d·...·]-6">}</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p"·data-group-id="7228335016-8">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="7228335016-9">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="ss">tag</span><span·class="p"·data-group-id="7228335016-9">}</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·84b1530ec1183bca08107b30e40e86e701aef9533c6f3e722dbd4362f710d03d·...·]-8">}</span><span·class="p">.</span><span·class="w">147 </span><span·class="p"·data-group-id="4983309533-8">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="4983309533-9">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="ss">tag</span><span·class="p"·data-group-id="4983309533-9">}</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·b00a971c51f2ac8e2537ea1d4f1cd8c145cb19072127f4d569532793993db535·...·]-8">}</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p"·data-group-id="7228335016-10">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="7228335016-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7228335016-11">}</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·542842f2f5f21561cac7e43c3c71ec18a51210229506dd2facc1e74e9a4de815·...·]-10">}</span><span·class="p">.</span><span·class="w">148 </span><span·class="p"·data-group-id="4983309533-10">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="4983309533-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4983309533-11">}</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·19d191409559bd02f4d4504b668c48baca26820e99976251a545e3f9903a11ff·...·]-10">}</span><span·class="p">.</span><span·class="w">
149 </span><span·class="p"·data-group-id="7228335016-12">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="7228335016-13">{</span><span·class="ss">literal</span><span·class="p">,</span><span·class="p"·data-group-id="7228335016-14">{</span><span·class="ss">te[·...·truncated·by·diffoscope;·len:·229,·SHA:·46974b68d97b2a09c4fa5aed73f907a6e99405194a38c1102081b49544cbd96d·...·]-12">}</span><span·class="p">.</span><span·class="w">149 </span><span·class="p"·data-group-id="4983309533-12">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="4983309533-13">{</span><span·class="ss">literal</span><span·class="p">,</span><span·class="p"·data-group-id="4983309533-14">{</span><span·class="ss">te[·...·truncated·by·diffoscope;·len:·229,·SHA:·2a0d0f3b6815bd7aaf0780657957d2791fd5791ac89047a9a3055603d7794f12·...·]-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="4993784660-1">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="4993784660-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="1684605085-1">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="1684605085-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="4993784660-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="4993784660-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="1684605085-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="1684605085-2">}</span><span·class="p">,</span><span·class="w">
158 ····</span><span·class="p"·data-group-id="4993784660-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:·b124fe1eeaa697092eb885bc5ef80f2c3662f75cc6c00a07aec1ea55fbdd4a95·...·]-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·off·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="1684605085-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:·336ec633dd6a98c4ab05820a18cb8e1ffe2cc1506e2f0351939102f2d5280736·...·]-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·off·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="0925549659-1">(</span><span·class="nf">erts_is_literal</span><span·class="p"·data-group-id="0925549659-2">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="0925549659-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="[·...·truncated·by·diffoscope;·len:·541,·SHA:·4ce7866224e99474aca8882d3d78c28edeb5b068ee6c4d5fea450e36107af947·...·]-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="4120364795-1">(</span><span·class="nf">erts_is_literal</span><span·class="p"·data-group-id="4120364795-2">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="4120364795-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="[·...·truncated·by·diffoscope;·len:·541,·SHA:·68acd06d12361e53f95edb77c46cf2fbf9658b7eaf1f1f90c0c1d7af5032bbf3·...·]-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="0925549659-5">}</span><span·class="w">·</span><span·class="k">else</span><span·class="w">·</span><span·class="p"·data-group-id="0925549659-6">{</span><span·class="w">184 </span><span·class="p"·data-group-id="4120364795-5">}</span><span·class="w">·</span><span·class="k">else</span><span·class="w">·</span><span·class="p"·data-group-id="4120364795-6">{</span><span·class="w">
185 ··</span><span·class="nf">copy</span><span·class="p"·data-group-id="0925549659-7">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="0925549659-7">)</span><span·class="p">;</span><span·class="w">185 ··</span><span·class="nf">copy</span><span·class="p"·data-group-id="4120364795-7">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="4120364795-7">)</span><span·class="p">;</span><span·class="w">
186 </span><span·class="p"·data-group-id="0925549659-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="4120364795-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>267 <p>Copyright·©·1996-2025·<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.2 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="2117801111-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="2117801111-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="8474432213-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="8474432213-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="2117801111-2">(</span><span·class="p"·data-group-id="2117801111-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="8474432213-2">(</span><span·class="p"·data-group-id="8474432213-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="2117801111-3">(</span><span·class="p"·data-group-id="2117801111-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="8474432213-3">(</span><span·class="p"·data-group-id="8474432213-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="0170533597-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="0170533597-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="7528418551-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="7528418551-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="0170533597-2">(</span><span·class="p"·data-group-id="0170533597-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="7528418551-2">(</span><span·class="p"·data-group-id="7528418551-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.2.7/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.2.7/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="7266613425-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="7266613425-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="7266613425-2">(</span><span·class="p"·data-group-id="7266613425-2">)</span></code></pre[·...·truncated·by·diffoscope;·len:·80,·SHA:·08d079506d0dbeaa96ef2139c27e06f511035ac37297a46c7023c85f21077df4·...·]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="4814000725-1">{</span><span·class="ss">hosts_file</span><span·class="p">,</span><span·class=[·...·truncated·by·diffoscope;·len:·132,·SHA:·193ab06ac39e77eacfa585d3b9f3f5a2c84cdeff513bb40e5ae00ef9d888bd30·...·]
 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="4814000725-2">(</span><span·class="p"·data-group-id="4814000725-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="4457786638-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="4457786638-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="1037890372-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="1037890372-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="4457786638-2">(</span><span·class="p"·data-group-id="4457786638-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="1037890372-2">(</span><span·class="p"·data-group-id="1037890372-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="8046522622-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="8046522622-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="6166060156-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="6166060156-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="6166060156-2">(</span><span·class="p"·data-group-id="6166060156-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="9911702626-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="9911702626-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="9911702626-2">(</span><span·class="p"·data-group-id="9911702626-2">)</span></code></pre><p>Set·domain·name.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8605523734-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="8605523734-2">[</span><span·class="p">,</span><span·class="n">Port</span><span·class="p"·data-group-id="8605523734-2">]</span><span·class="p"·data-group-id="8605523734-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="8046522622-2">(</span><span·class="p"·data-group-id="8046522622-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="7968412869-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="7968412869-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="7968412869-2">(</span><span·class="p"·data-group-id="7968412869-2">)</span></code></pre><p>Set·domain·name.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4050372973-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="4050372973-2">[</span><span·class="p">,</span><span·class="n">Port</span><span·class="p"·data-group-id="4050372973-2">]</span><span·class="p"·data-group-id="4050372973-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="4050372973-3">(</span><span·class="p"·data-group-id="4050372973-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="4050372973-4">(</span><span·class="p"·data-group-id="4050372973-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.2.7/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="5210624890-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="5210624890-2">[</span><span·class="p">,</span><span·class="n">Port</span><span·class="p"·data-group-id="5210624890-2">]</span><span·class="p"·data-group-id="5210624890-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="5210624890-3">(</span><span·class="p"·data-group-id="5210624890-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="8605523734-3">(</span><span·class="p"·data-group-id="8605523734-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="5210624890-4">(</span><span·class="p"·data-group-id="5210624890-4">)</span></code></pre><p>Add·address·(and·port,·if·other·than·default)·of·the·secondary·nameserver·for194 ··</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="8605523734-4">(</span><span·class="p"·data-group-id="8605523734-4">)</span></code></pre><p>Add·address·(and·port,·if·other·than·default)·of·the·primary·nameserver·to·use
198 <a·href="../../../lib/kernel-10.2.7/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="7089437489-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="7089437489-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="7089437489-2">[</span><span·class="nf">string</span><span·class="p"·data-group-id="7089437489-3">(</span><span·cla[·...·truncated·by·diffoscope;·len:·500,·SHA:·a617624174ce31d09d0f7e690e0817a33f511af045bc53acc585e076791d39e0·...·]-1">}</span><span·class="p">.</span><span·class="w">195 for·<a·href="../../../lib/kernel-10.2.7/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="5425568016-1">{</span><span·class="ss">alt_nameserver</span[·...·truncated·by·diffoscope;·len:·296,·SHA:·7fa4b4b5e2c06b61ba48b27fa4b136573678c929b7998f83251a59184ba3b859·...·]-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="5425568016-3">(</span><span·class="p"·data-group-id="5425568016-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="5425568016-4">(</span><span·class="p"·data-group-id="5425568016-4">)</span></code></pre><p>Add·address·(and·port,·if·other·than·default)·of·the·secondary·nameserver·for
 198 <a·href="../../../lib/kernel-10.2.7/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="3780379345-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="3780379345-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="3780379345-2">[</span><span·class="nf">string</span><span·class="p"·data-group-id="3780379345-3">(</span><span·class="p"·data-group-id="3780379345-3">)</span><span·class="p"·data-group-id="3780379345-2">]</span></code></pre><p>Add·search·domains·for·<a·href="../../../lib/kernel-10.2.7/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="4591612393-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="4591612393-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="8005717117-2">[</span><span·class="nf">atom</span><span·class="p"·data-group-id="8005717117-3">(</span><span·class="p"·data-group-id="8005717117-3">)</span><span·class="p"·data-group-id="8005717117-2">]</span></code></pre><p>Specify·lookup·methods·and·in·which·order·to·try·them.·The·valid·methods·are200 ··</span><span·class="n">Methods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4591612393-2">[</span><span·class="nf">atom</span><span·class="p"·data-group-id="4591612393-3">(</span><span·class="p"·data-group-id="4591612393-3">)</span><span·class="p"·data-group-id="4591612393-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.2.7/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.2.7/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="8830185394-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="8830185394-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="2490745796-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="2490745796-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="8830185394-2">(</span><span·class="p"·data-group-id="8830185394-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="2490745796-2">(</span><span·class="p"·data-group-id="2490745796-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="7358567862-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="7358567862-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="4077837520-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="4077837520-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="7358567862-2">(</span><span·class="p"·data-group-id="7358567862-2">)</span></code></pre><p>Set·how·often·(in·milliseconds)·the·resolver·cache·for·<a·href="../../../lib/kernel-10.2.7/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="4077837520-2">(</span><span·class="p"·data-group-id="4077837520-2">)</span></code></pre><p>Set·how·often·(in·milliseconds)·the·resolver·cache·for·<a·href="../../../lib/kernel-10.2.7/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="3590895841-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="3590895841-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="4722752454-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="4722752454-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="3590895841-2">(</span><span·class="p"·data-group-id="3590895841-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="4722752454-2">(</span><span·class="p"·data-group-id="4722752454-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.2.7/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="0333975866-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="0333975866-1">}</span><span·class="p">.</span><span·class="w">212 <a·href="../../../lib/kernel-10.2.7/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="9814059942-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="9814059942-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="0333975866-2">(</span><span·class="p"·data-group-id="0333975866-2">)</span></code></pre><p>Set·the·number·of·DNS·queries·<a·href="../../../lib/kernel-10.2.7/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="9814059942-2">(</span><span·class="p"·data-group-id="9814059942-2">)</span></code></pre><p>Set·the·number·of·DNS·queries·<a·href="../../../lib/kernel-10.2.7/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="8799665020-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="8799665020-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="5890149092-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="5890149092-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="8799665020-2">(</span><span·class="p"·data-group-id="8799665020-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="5890149092-2">(</span><span·class="p"·data-group-id="5890149092-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.2.7/doc/html/inet_res.html#servfail_retry_timeout"><code·class="inline">inet_res</code></a>.·Defaults·to·1500·milli218 <a·href="../../../lib/kernel-10.2.7/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="5908786484-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="5908786484-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="6028364182-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="6028364182-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.2.7/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.2.7/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="9809296499-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="9809296499-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="5294114292-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="5294114292-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.2.7/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.2.7/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="4405672043-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="4405672043-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="2659630714-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="2659630714-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.2.7/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.2.7/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="3597121438-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="3597121438-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="7033323470-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="7033323470-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="3597121438-2">(</span><span·class="p"·data-group-id="3597121438-2">)</span></code></pre><p>Sets·the·allowed·UDP·payload·size·<a·href="../../../lib/kernel-10.2.7/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="7033323470-2">(</span><span·class="p"·data-group-id="7033323470-2">)</span></code></pre><p>Sets·the·allowed·UDP·payload·size·<a·href="../../../lib/kernel-10.2.7/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="3046508480-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="3046508480-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="2584011413-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="2584011413-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="3046508480-2">(</span><span·class="p"·data-group-id="3046508480-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:·6865835025262936cf3224a05f153f94be58876a91e2b0036a817784ffeb85a3·...·]-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="2584011413-2">(</span><span·class="p"·data-group-id="2584011413-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:·677140d982fcbeaca4c2362d3061d7509303af9b3578b0d76af497a76805290a·...·]-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="7158940557-2">(</span><span·class="p"·data-group-id="7158940557-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="2415766220-2">(</span><span·class="p"·data-group-id="2415766220-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="0200262422-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="02002[·...·truncated·by·diffoscope;·len:·5,·SHA:·1fe83904f673b4ceaf0e579e5c8c93fc2e05a6500d284f60adfbeb008c83aaf1·...·]-1">}</span><span·class="p">.</span><span·class="w">249 </span><span·class="p"·data-group-id="7079890053-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="70798[·...·truncated·by·diffoscope;·len:·5,·SHA:·bbc53cbf8bf4f7df55308f9c435a8f29997c6b06049f8781b040c0cc4ad95c7e·...·]-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="0200262422-2">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0200262422-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:·13dbde9434a5ba7fbf0419ec34b65f67c55cab631fe1939f7e404a554c8c4c93·...·]-2">}</span><span·class="p">.</span><span·class="w">251 </span><span·class="p"·data-group-id="7079890053-2">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7079890053-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:·7c87540ae6139b3820c748218aa22a4acce7c902521ed13a98388c59f7d810e3·...·]-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="0200262422-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="0200262422-5">}</span><span·class="p">.</span><span·class="w">253 </span><span·class="p"·data-group-id="7079890053-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="7079890053-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="0200262422-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="0200262422-6">}</span><span·class="p">.</span><span·class="w">255 </span><span·class="p"·data-group-id="7079890053-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="7079890053-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="0200262422-7">{</span><span·class="ss">edns</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="0200262422-7">}</span><span·class="p">.</span><span·class="w">257 </span><span·class="p"·data-group-id="7079890053-7">{</span><span·class="ss">edns</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="7079890053-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="0200262422-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="0200262422-8">}</span><span·class="p">.</span><span·class="w">259 </span><span·class="p"·data-group-id="7079890053-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="7079890053-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="0200262422-9">{</span><span·class="ss">lookup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0200262422-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:·0d4aeb51ceb4e91ced4dcdb3f7184a296bc5308acfe114d710a3bfe28095e2df·...·]-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="7079890053-9">{</span><span·class="ss">lookup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7079890053-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:·66af84580a4899317b5e32c8e467029def47b99a4e8eceae8cc5812ef9d42879·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>306 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
307 ····</footer>307 ····</footer>
308 ··</div>308 ··</div>
309 </main>309 </main>
Max diff block lines reached; 137/46490 bytes (0.29%) of diff not shown.
667 B
html2text {}
Max HTML report size reached
17.4 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="6103288361-1">(</span><span·class="p"·data-group-id="6103288361-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="4526253701-1">(</span><span·class="p"·data-group-id="4526253701-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="6103288361-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="6103288361-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="4526253701-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="4526253701-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="0556843418-1">(</span><span·class="p"·data-group-id="0556843418-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="3795902589-1">(</span><span·class="p"·data-group-id="3795902589-1">)</span><span·class="p">.</span><span·class="w">
219 </span><span·class="p"·data-group-id="0556843418-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:·c7121f8001db9149513f0802fd66e5d809a065fcd7a489f0489f9c3ff186b318·...·]-2">]</span><span·class="gp·unselectable">219 </span><span·class="p"·data-group-id="3795902589-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:·f989c75a21245cd0f5dc1a3004f8d7b3392efded48b8a5cc63adf3071a0f1c2d·...·]-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="0556843418-3">(</span><span·class="ss">children</span><span·class="p"·data-group-id="0556843418-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="3795902589-3">(</span><span·class="ss">children</span><span·class="p"·data-group-id="3795902589-3">)</span><span·class="p">.</span><span·class="w">
221 </span><span·class="p"·data-group-id="0556843418-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0556843418-5">[</span><span·class="p"·data-group-id="0556843418-6">[</span><span·class="s">&quot;thomas&quot;</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·175,·SHA:·59cf82d912d43d30a82047d729d63ddde8b5c727c28fe6ce024bcb1962d072b1·...·]-4">}</span><span·class="gp·unselectable">221 </span><span·class="p"·data-group-id="3795902589-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3795902589-5">[</span><span·class="p"·data-group-id="3795902589-6">[</span><span·class="s">&quot;thomas&quot;</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·175,·SHA:·ad11a8ff163b7ea507ed1bc7d0e0bfab5ff8b67c060aa30044fdc783805fdb32·...·]-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="0556843418-7">(</span><span·class="ss">ages</span><span·class="p"·data-group-id="0556843418-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="3795902589-7">(</span><span·class="ss">ages</span><span·class="p"·data-group-id="3795902589-7">)</span><span·class="p">.</span><span·class="w">
223 </span><span·class="p"·data-group-id="0556843418-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0556843418-9">[</span><span·class="p"·data-group-id="0556843418-10">[</span><span·class="s">&quot;7&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·191,·SHA:·33c5f848d2bf751a2b20ebe88052a65f3a2da95c5f7d61229719cb1ad3f6834d·...·]-8">}</span><span·class="gp·unselectable">223 </span><span·class="p"·data-group-id="3795902589-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3795902589-9">[</span><span·class="p"·data-group-id="3795902589-10">[</span><span·class="s">&quot;7&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·191,·SHA:·b4f1637db3753cd5a3cec32c293d79517b7fd39a2800fe944588d7f3edba129a·...·]-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="0556843418-11">(</span><span·class="ss">silly</span><span·class="p"·data-group-id="0556843418-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="3795902589-11">(</span><span·class="ss">silly</span><span·class="p"·data-group-id="3795902589-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.2.7/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.2.7/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="5322134685-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="5322134685-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="0286128277-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="0286128277-1">)</span><span·class="p">.</span><span·class="w">
518 </span><span·class="p"·data-group-id="5322134685-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5322134685-3">[</span><span·class="p"·data-group-id="5322134685-4">[</span><span·class="s">&quot;b&quot;</span><span·class="p">,</span><span·class="s">&q[·...·truncated·by·diffoscope;·len:·331,·SHA:·6468fae5560cde174f3b0f4a32fd28097351528cffd45fd931bad7f951d13d23·...·]-2">}</span></code></pre><p>The·following·flags·are·defined·automatically·and·can·be·retrieved·using·this518 </span><span·class="p"·data-group-id="0286128277-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0286128277-3">[</span><span·class="p"·data-group-id="0286128277-4">[</span><span·class="s">&quot;b&quot;</span><span·class="p">,</span><span·class="s">&q[·...·truncated·by·diffoscope;·len:·331,·SHA:·51c0a48c49c8f155de479a7154584d8da3546dbd475e731d06281238e7deb37c·...·]-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="3493441467-1">(</span><span·class="ss">progname</span><span·class="p"·data-group-id="3493441467-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="3577152837-1">(</span><span·class="ss">progname</span><span·class="p"·data-group-id="3577152837-1">)</span><span·class="p">.</span><span·class="w">
521 </span><span·class="p"·data-group-id="3493441467-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3493441467-3">[</span><span·class="p"·data-group-id="3493441467-4">[</span><span·class="s">&quot;erl&quot;</span><span·class="p"·data-group-id="3493441467[·...·truncated·by·diffoscope;·len:·559,·SHA:·6930318c649490bb446a3ad311594fae4d436ca7ba752b54f2287d472b9c80b3·...·]-1">)</span><span·class="p">.</span><span·class="w">521 </span><span·class="p"·data-group-id="3577152837-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3577152837-3">[</span><span·class="p"·data-group-id="3577152837-4">[</span><span·class="s">&quot;erl&quot;</span><span·class="p"·data-group-id="3577152837[·...·truncated·by·diffoscope;·len:·559,·SHA:·72354d8509d1671f7763b3a5ceaf0bc155853399afe7bfa744ce54ff7b7397fc·...·]-1">)</span><span·class="p">.</span><span·class="w">
522 </span><span·class="p"·data-group-id="2184364277-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2184364277-3">[</span><span·class="p"·data-group-id="2184364277-4">[</span><span·class="s">&quot;/home/harry&quot;</span><span·class="p"·data-group-id="2[·...·truncated·by·diffoscope;·len:·115,·SHA:·302829b993e03bfd1d8c9d00733235d17fb98c8b8b13fb16ca6a44273cfe0dfb·...·]-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="3134942055-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3134942055-3">[</span><span·class="p"·data-group-id="3134942055-4">[</span><span·class="s">&quot;/home/harry&quot;</span><span·class="p"·data-group-id="3[·...·truncated·by·diffoscope;·len:·115,·SHA:·8c91f1ef48771a5e0db49218f77d4299bb343b3ed7d598b996870816d3bbb567·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>802 <p>Copyright·©·1996-2025·<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.51 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/doc/html/introduction.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>189 <p>Copyright·©·1996-2025·<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;
703 B
html2text {}
Max HTML report size reached
52.4 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="1292955444-1">[</span><span·class="p"·data-group-id="1292955444-2">{</span><span·class="p"·data-group-id="1292955444-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:·115,·SHA:·d4a61465ac23473eeeefa54f37dc0930186ea515a9a0ff43933ca22f7ea5fba8·...·]4-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="6791933074-1">[</span><span·class="p"·data-group-id="6791933074-2">{</span><span·class="p"·data-group-id="6791933074-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:·115,·SHA:·19f563a252dedfb1167b1a5e1d73feb77137262907e658feb408da70ad839083·...·]4-3">]</span><span·class="p">,</span><span·class="w">
375 ··</span><span·class="p"·data-group-id="1292955444-4">[</span><span·class="p"·data-group-id="1292955444-4">]</span><span·class="p">,</span><span·class="w">375 ··</span><span·class="p"·data-group-id="6791933074-4">[</span><span·class="p"·data-group-id="6791933074-4">]</span><span·class="p">,</span><span·class="w">
376 ··</span><span·class="p"·data-group-id="1292955444-5">[</span><span·class="p"·data-group-id="1292955444-5">]</span><span·class="p"·data-group-id="1292955444-2">}</span><span·class="p"·data-group-id="1292955444-1">]</span></code></pre><p>Match·an·argument·list·of·three,·where·the·second·argument·[·...·truncated·by·diffoscope;·len:·473,·SHA:·129f5d559e9e3574067917a5b1cc0f2abf4ac7381876bf5922f8baf3810d4d8a·...·]-3">]</span><span·class="p">,</span><span·class="w">376 ··</span><span·class="p"·data-group-id="6791933074-5">[</span><span·class="p"·data-group-id="6791933074-5">]</span><span·class="p"·data-group-id="6791933074-2">}</span><span·class="p"·data-group-id="6791933074-1">]</span></code></pre><p>Match·an·argument·list·of·three,·where·the·second·argument·[·...·truncated·by·diffoscope;·len:·473,·SHA:·43d33a6a1ff4743c0d0000642873a322f9f2b0a8e33200cf9d38e8d740af90d5·...·]-3">]</span><span·class="p">,</span><span·class="w">
377 ··</span><span·class="p"·data-group-id="4853755741-4">[</span><span·class="p"·data-group-id="4853755741-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:·8548a497a3e7aa7808ef63f6c02b2a82bae85fe7e326dfd746b95635e9c70882·...·]-4">]</span><span·class="p">,</span><span·class="w">377 ··</span><span·class="p"·data-group-id="0970549889-4">[</span><span·class="p"·data-group-id="0970549889-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:·111ece4c809dc2e432457b156972c7ff4b53b449b49860f3c55e5ba585bcef61·...·]-4">]</span><span·class="p">,</span><span·class="w">
378 ··</span><span·class="p"·data-group-id="4853755741-6">[</span><span·class="p"·data-group-id="4853755741-6">]</span><span·class="p"·data-group-id="4853755741-2">}</span><span·class="p"·data-group-id="4853755741-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="0970549889-6">[</span><span·class="p"·data-group-id="0970549889-6">]</span><span·class="p"·data-group-id="0970549889-2">}</span><span·class="p"·data-group-id="0970549889-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="3003070579-1">[</span><span·class="p"·data-group-id="3003070579-2">{</span><span·class="p"·data-group-id="3003070579-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:·f529cee57bf6c0cad8732166a99a57981530f7941a904c9bad17e6c4564a9ed5·...·]-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="0585949437-1">[</span><span·class="p"·data-group-id="0585949437-2">{</span><span·class="p"·data-group-id="0585949437-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:·ca06b17a442ee9df5831d8f2ee3910228a65a80e837b2080f8e448778c519f77·...·]-3">]</span><span·class="p">,</span><span·class="w">
381 ··</span><span·class="p"·data-group-id="3003070579-4">[</span><span·class="p"·data-group-id="3003070579-5">{</span><span·class="ss">&#39;orelse&#39;</span><span·class="p">,</span><span·class="w">381 ··</span><span·class="p"·data-group-id="0585949437-4">[</span><span·class="p"·data-group-id="0585949437-5">{</span><span·class="ss">&#39;orelse&#39;</span><span·class="p">,</span><span·class="w">
382 ······</span><span·class="p"·data-group-id="3003070579-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="3003070579-7">{</span><span·class=[·...·truncated·by·diffoscope;·len:·284,·SHA:·3d2d60edae070f69c059381d77e14cd4d7c0f99ac2bf0f148b33a6dea0422ffe·...·]-6">}</span><span·class="p">,</span><span·class="w">382 ······</span><span·class="p"·data-group-id="0585949437-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="0585949437-7">{</span><span·class=[·...·truncated·by·diffoscope;·len:·284,·SHA:·b16a365634af39f7f103a6ad95420b1ef50c6d5ba10d3f73758f94d51b049247·...·]-6">}</span><span·class="p">,</span><span·class="w">
383 ······</span><span·class="p"·data-group-id="3003070579-9">{</span><span·class="ss">&#39;and&#39;</span><span·class="p">,</span><span·class="w">383 ······</span><span·class="p"·data-group-id="0585949437-9">{</span><span·class="ss">&#39;and&#39;</span><span·class="p">,</span><span·class="w">
384 ········</span><span·class="p"·data-group-id="3003070579-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="3003070579-11">{</span><span·clas[·...·truncated·by·diffoscope;·len:·195,·SHA:·840e2cf36fb48df3b7c18c6e01e54fa35f8ee4cf39acf06d162b81bcb2f26ebf·...·]-10">}</span><span·class="p">,</span><span·class="w">384 ········</span><span·class="p"·data-group-id="0585949437-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="0585949437-11">{</span><span·clas[·...·truncated·by·diffoscope;·len:·195,·SHA:·e396dd3cbdf1abc8005b8fad4441171816a4d8870ca55431fa841d2e8ace82b3·...·]-10">}</span><span·class="p">,</span><span·class="w">
385 ········</span><span·class="p"·data-group-id="3003070579-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="3003070579-13">{</span><span·clas[·...·truncated·by·diffoscope;·len:·537,·SHA:·725d4bc78cc75d56fc441f22c682636f843f01f736cb7ee2df92f002ef97fdf3·...·]-4">]</span><span·class="p">,</span><span·class="w">385 ········</span><span·class="p"·data-group-id="0585949437-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="0585949437-13">{</span><span·clas[·...·truncated·by·diffoscope;·len:·537,·SHA:·881e9757bfce4e6df4fc31d44892bafaabfadc3f9079dbd31ba254c2ff771189·...·]-4">]</span><span·class="p">,</span><span·class="w">
386 ··</span><span·class="p"·data-group-id="3003070579-15">[</span><span·class="p"·data-group-id="3003070579-15">]</span><span·class="p"·data-group-id="3003070579-2">}</span><span·class="p"·data-group-id="3003070579-1">]</span></code></pre><p>The·above·problem·can·also·be·solved·as·follows:</p><pre>[·...·truncated·by·diffoscope;·len:·411,·SHA:·e6d05167657bf7ef04ffaf1bcb9d6e5f6dba2155959ab335c640a0e655ac4057·...·]-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="0585949437-15">[</span><span·class="p"·data-group-id="0585949437-15">]</span><span·class="p"·data-group-id="0585949437-2">}</span><span·class="p"·data-group-id="0585949437-1">]</span></code></pre><p>The·above·problem·can·also·be·solved·as·follows:</p><pre>[·...·truncated·by·diffoscope;·len:·411,·SHA:·89bdcb84374b0d2d85425caf9040e6e9315dd3bbfd68c1659fb2e9bd77658c1a·...·]-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="3404980446-5">[</span><span·class="p"·data-group-id="3404980446-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3404980446-6">[</span><span·class="p"·data-group-id="3404980446-6">]</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·bacd92d9ecd34ddfef5fcf0c3c46fee0065c79dd6a84ac6f46582dc1199ff015·...·]-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="6618384303-5">[</span><span·class="p"·data-group-id="6618384303-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6618384303-6">[</span><span·class="p"·data-group-id="6618384303-6">]</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·a003edc09133789a0c7e5b336fcaede77682dbe73d393bd15bb853a04cb2cb36·...·]-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="8086598418-1">[</span><span·class="p"·data-group-id="8086598418-2">{</span><span·class="p"·data-group-id="8086598418-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:·69b6df8f5f0441004b7beb76555dd12112d7aa67db0a2a232dd079367a273d22·...·]-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="8332194684-1">[</span><span·class="p"·data-group-id="8332194684-2">{</span><span·class="p"·data-group-id="8332194684-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:·b9b9dff7e723e02842a3ae040ec4d9c07fb09a33f8e79e90e7ef327101567a97·...·]-4">]</span><span·class="p">,</span><span·class="w">
390 ··</span><span·class="p"·data-group-id="8086598418-9">[</span><span·class="p"·data-group-id="8086598418-9">]</span><span·class="p"·data-group-id="8086598418-2">}</span><span·class="p"·data-group-id="8086598418-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="8332194684-9">[</span><span·class="p"·data-group-id="8332194684-9">]</span><span·class="p"·data-group-id="8332194684-2">}</span><span·class="p"·data-group-id="8332194684-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="3935793327-1">[</span><span·class="p"·data-group-id="3935793327-2">{</span><span·class="p"·data-group-id="3935793327-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:·4055527d8a3e82069e6e08ff8ce5e3cc0e3e6c57d91a1916fd299b859953f7b9·...·]-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="7349829236-1">[</span><span·class="p"·data-group-id="7349829236-2">{</span><span·class="p"·data-group-id="7349829236-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:·f539260d428dd3301f31baf8b5d2569dbeff48e1315462046a00e96d2bfae635·...·]-3">]</span><span·class="p">,</span><span·class="w">
393 ··</span><span·class="p"·data-group-id="3935793327-4">[</span><span·class="p"·data-group-id="3935793327-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="3935793327-5">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·c718f1ee0eca541753def0a430ea3c2c17b80c94aca05e8c0ee3e4e9586b8861·...·]-4">]</span><span·class="p">,</span><span·class="w">393 ··</span><span·class="p"·data-group-id="7349829236-4">[</span><span·class="p"·data-group-id="7349829236-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="7349829236-5">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·5dd2aa197bd8602413415495be9099b29fa634c58abfc9e229438ec0a5c850a9·...·]-4">]</span><span·class="p">,</span><span·class="w">
394 ··</span><span·class="p"·data-group-id="3935793327-6">[</span><span·class="p"·data-group-id="3935793327-7">{</span><span·class="ss">message</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3935793327-8">{</span><span·class="ss">process_dump</span><span·class="[·...·truncated·by·diffoscope;·len:·187,·SHA:·36d7b31fd64ff33f2eb5751050794dd357c3b3790b2e462b42431d2d62daa3df·...·]-2">}</span><span·class="p">,</span><span·class="w">394 ··</span><span·class="p"·data-group-id="7349829236-6">[</span><span·class="p"·data-group-id="7349829236-7">{</span><span·class="ss">message</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7349829236-8">{</span><span·class="ss">process_dump</span><span·class="[·...·truncated·by·diffoscope;·len:·187,·SHA:·bdc8b2e38cf4491430b9a6c956299ffe54515cc92946724f08730c14afa9142d·...·]-2">}</span><span·class="p">,</span><span·class="w">
395 ·</span><span·class="p"·data-group-id="3935793327-9">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3935793327-10">[</span><span·class="p"·data-group-id="3935793327-10">]</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·505,·SHA:·3fcd7612f38a4fe33f49f7a384036e6d334b0da3d78d8b4f0a0e3545b8c56fc9·...·]-1">]</span></code></pre><p>As·can·be·noted·above,·the·parameter·list·can·be·matched·against·a·single395 ·</span><span·class="p"·data-group-id="7349829236-9">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7349829236-10">[</span><span·class="p"·data-group-id="7349829236-10">]</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·505,·SHA:·b7b3d4ee622ee58a571be1bf5ec12cdf21885466c5b498dc8e7b5e1f96599391·...·]-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="1197952735-1">[</span><span·class="p"·data-group-id="1197952735-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="9287677103-1">[</span><span·class="p"·data-group-id="9287677103-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">
399 ··</span><span·class="p"·data-group-id="1197952735-3">[</span><span·class="p"·data-group-id="1197952735-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="1197952735-5">{</span><span·class="ss">get_tcw</span><span·class="p"·data-group-id="1197952735-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="1197952735-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="1197952735-6">}</span><span·class="p"·data-group-id="1197952735-4">}</span><span·class="p"·data-group-id="1197952735-3">]</span><span·class="p">,</span><span·class="w"> 
400 ··</span><span·class="p"·data-group-id="1197952735-7">[</span><span·class="p"·data-group-id="1197952735-7">]</span><span·class="p"·data-group-id="1197952735-2">}</span><span·class="p"·data-group-id="1197952735-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="6804398873-1">[</span><span·class="p"·data-group-id="6804398873-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w"> 
401 ··</span><span·class="p"·data-group-id="6804398873-3">[</span><span·class="p"·data-group-id="6804398873-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6804398873-5">{</span><span·class="ss">is_seq_trace</span><span·class="p"·data-group-id="6804398873-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="6804398873-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="6804398873-6">}</span><span·class="p"·data-group-id="6804398873-4">}</span><span·class="p"·data-group-id="6804398873-3">]</span><span·class="p">,</span><span·class="w"> 
402 ··</span><span·class="p"·data-group-id="6804398873-7">[</span><span·class="p"·data-group-id="6804398873-7">]</span><span·class="p"·data-group-id="6804398873-2">}</span><span·class="p"·data-group-id="6804398873-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="9287677103-3">[</span><span·class="p"·data-group-id="9287677103-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="9287677103-5">{</span><span·class="ss">get_tcw</span><span·class="p"·data-group-id="928767[·...·truncated·by·diffoscope;·len:·394,·SHA:·52f185e30beb71aeb96f67aa231659d721037a75a0e5b4e8f8fce16171a93d07·...·]
 400 ··</span><span·class="p"·data-group-id="9287677103-7">[</span><span·class="p"·data-group-id="9287677103-7">]</span><span·class="p"·data-group-id="9287677103-2">}</span><span·class="p"·data-group-id="9287677103-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="4055522496-1">[</span><span·class="p"·data-group-id="4055522496-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">
 401 ··</span><span·class="p"·data-group-id="4055522496-3">[</span><span·class="p"·data-group-id="4055522496-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4055522496-5">{</span><span·class="ss">is_seq_trace</span><span·class="p"·data-group-id="4055522496-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="4055522496-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="4055522496-6">}</span><span·class="p"·data-group-id="4055522496-4">}</span><span·class="p"·data-group-id="4055522496-3">]</span><span·class="p">,</span><span·class="w">
 402 ··</span><span·class="p"·data-group-id="4055522496-7">[</span><span·class="p"·data-group-id="4055522496-7">]</span><span·class="p"·data-group-id="4055522496-2">}</span><span·class="p"·data-group-id="4055522496-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="0182458438-1">[</span><span·class="p"·data-group-id="0182458438-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="9761129592-1">[</span><span·class="p"·data-group-id="9761129592-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
404 ··</span><span·class="p"·data-group-id="0182458438-3">[</span><span·class="p"·data-group-id="0182458438-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="0182458438-5">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·244,·SHA:·250aa5d00fc2765b6cfcee383127231001ff11913d5b59661b174c2cb3b79a43·...·]-3">]</span><span·class="p">,</span><span·class="w">404 ··</span><span·class="p"·data-group-id="9761129592-3">[</span><span·class="p"·data-group-id="9761129592-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="9761129592-5">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·244,·SHA:·942b5279c508316cb3d37c2f1c3b69ff6c867e5453954d1fb98a8ed56552fe04·...·]-3">]</span><span·class="p">,</span><span·class="w">
405 ··</span><span·class="p"·data-group-id="0182458438-6">[</span><span·class="p"·data-group-id="0182458438-7">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0182458438-8">[</span><span·class="ss">silent</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·309,·SHA:·29882d325a7449c427acfc08290ce4d2cb2de0d0fa8f091cb00820604d584de0·...·]-2">}</span><span·class="p">,</span><span·class="w">405 ··</span><span·class="p"·data-group-id="9761129592-6">[</span><span·class="p"·data-group-id="9761129592-7">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9761129592-8">[</span><span·class="ss">silent</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·309,·SHA:·01877725f89d9a61a26f491bc59f9095d5d87d344ae1aa0529332bf7762842d5·...·]-2">}</span><span·class="p">,</span><span·class="w">
406 ·</span><span·class="p"·data-group-id="0182458438-10">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">406 ·</span><span·class="p"·data-group-id="9761129592-10">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
407 ··</span><span·class="p"·data-group-id="0182458438-11">[</span><span·class="p"·data-group-id="0182458438-12">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="0182458438-13">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·248,·SHA:·6564eac814f5a30b20f91a35f98a889b45c656d93bd52d922dbb085ff6c8fb80·...·]-11">]</span><span·class="p">,</span><span·class="w">407 ··</span><span·class="p"·data-group-id="9761129592-11">[</span><span·class="p"·data-group-id="9761129592-12">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="9761129592-13">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·248,·SHA:·7255648162ad2ae3a7ac329c5492bce58b4c272fd7fd7bb70a8641c2e3dc5536·...·]-11">]</span><span·class="p">,</span><span·class="w">
408 ··</span><span·class="p"·data-group-id="0182458438-14">[</span><span·class="p"·data-group-id="0182458438-15">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0182458438-16">[</span><span·class="p"·data-group-id="0182458438-16">]<[·...·truncated·by·diffoscope;·len:·630,·SHA:·33c37156bfe3cd545715ff732cccfbaab9385cbdd4df935192d6bec5ce70e4e0·...·]-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">408 ··</span><span·class="p"·data-group-id="9761129592-14">[</span><span·class="p"·data-group-id="9761129592-15">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9761129592-16">[</span><span·class="p"·data-group-id="9761129592-16">]<[·...·truncated·by·diffoscope;·len:·630,·SHA:·0e114b9eaa9e85a2b657351ca9ea7e7cb0b34d035155f28f1259d156a8784757·...·]-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
409 ··</span><span·class="p"·data-group-id="3516412317-3">[</span><span·class="p"·data-group-id="3516412317-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="3516412317-5">{</span><span·class="nb">length</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·242,·SHA:·ebb7da68e6422c108e9e609e760b663bbbd587ee77d784a5d95ec30056f02048·...·]-3">]</span><span·class="p">,</span><span·class="w">409 ··</span><span·class="p"·data-group-id="8353517238-3">[</span><span·class="p"·data-group-id="8353517238-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8353517238-5">{</span><span·class="nb">length</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·242,·SHA:·68c6fdab97f0f1a4f7cb627ce9c221d9174c40a0950da59eed1ddae779f7eb4b·...·]-3">]</span><span·class="p">,</span><span·class="w">
410 ··</span><span·class="p"·data-group-id="3516412317-6">[</span><span·class="p"·data-group-id="3516412317-7">{</span><span·class="ss">return_trace</span><span·class="p"·data-group-id="3516412317-7">}</span><span·class="p"·data-group-id="3516412317-6">]</span><span·class="p"·data-group-id="35164123[·...·truncated·by·diffoscope;·len:·2,·SHA:·4523540f1504cd17100c4835e85b7eefd49911580f8efff0599a8f283be6b9e3·...·]-2">}</span><span·class="p">,</span><span·class="w">410 ··</span><span·class="p"·data-group-id="8353517238-6">[</span><span·class="p"·data-group-id="8353517238-7">{</span><span·class="ss">return_trace</span><span·class="p"·data-group-id="8353517238-7">}</span><span·class="p"·data-group-id="8353517238-6">]</span><span·class="p"·data-group-id="83535172[·...·truncated·by·diffoscope;·len:·2,·SHA:·aea92132c4cbeb263e6ac2bf6c183b5d81737f179f21efdc5863739672f0f470·...·]-2">}</span><span·class="p">,</span><span·class="w">
411 ·</span><span·class="p"·data-group-id="3516412317-8">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="3516412317-9">[</span><span·class="p"·data-group-id="3516412317-9">]</span><span·class="p">,</span><span·class="p"·data-group-id="3516412317-10"[·...·truncated·by·diffoscope;·len:·157,·SHA:·ae31718a0044168ffb62eb58df4ae12e5cf92a37507dfabccf2ba4594bcffd22·...·]-1">]</span></code></pre><p>Generate·a·trace·message·only·if·the·function·is·of·arity·3·and·the·first411 ·</span><span·class="p"·data-group-id="8353517238-8">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8353517238-9">[</span><span·class="p"·data-group-id="8353517238-9">]</span><span·class="p">,</span><span·class="p"·data-group-id="8353517238-10"[·...·truncated·by·diffoscope;·len:·157,·SHA:·109e8b447a1c1a05fba5d778086d99d926eeacbe43979eeda0f121f2cf0997f6·...·]-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="6053107748-1">[</span><span·class="p"·data-group-id="6053107748-2">{</span><span·class="p"·data-group-id="6053107748-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:·94c38cac9226e4e19634129d06d58754577de31737040ec8a0ef83c6bc8870c8·...·]-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="4286509990-1">[</span><span·class="p"·data-group-id="4286509990-2">{</span><span·class="p"·data-group-id="4286509990-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:·4d883402a60c63672ef1f288701f1f1bcc7b91d37116f3c35d68c72f3533764b·...·]-3">]</span><span·class="p">,</span><span·class="w">
413 ··</span><span·class="p"·data-group-id="6053107748-4">[</span><span·class="p"·data-group-id="6053107748-4">]</span><span·class="p">,</span><span·class="w">413 ··</span><span·class="p"·data-group-id="4286509990-4">[</span><span·class="p"·data-group-id="4286509990-4">]</span><span·class="p">,</span><span·class="w">
414 ··</span><span·class="p"·data-group-id="6053107748-5">[</span><span·class="p"·data-group-id="6053107748-5">]</span><span·class="p"·data-group-id="6053107748-2">}</span><span·class="p">,</span><span·class="w">414 ··</span><span·class="p"·data-group-id="4286509990-5">[</span><span·class="p"·data-group-id="4286509990-5">]</span><span·class="p"·data-group-id="4286509990-2">}</span><span·class="p">,</span><span·class="w">
415 ·</span><span·class="p"·data-group-id="6053107748-6">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6053107748-7">[</span><span·class="p"·data-group-id="6053107748-7">]</span><span·class="p">,</span><span·class="p"·data-group-id="6053107748-8">[·...·truncated·by·diffoscope;·len:·155,·SHA:·382b94c74784645595c04bee292e956e354f7380afdc3ac87c86acd0d927fd35·...·]-1">]</span></code></pre><h2·id="ets-examples"·class="section-heading">415 ·</span><span·class="p"·data-group-id="4286509990-6">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4286509990-7">[</span><span·class="p"·data-group-id="4286509990-7">]</span><span·class="p">,</span><span·class="p"·data-group-id="4286509990-8">[·...·truncated·by·diffoscope;·len:·155,·SHA:·1566fe8c13d7bbf66bf5cbaafa0261f5d64e2f5f1c5e67c86ea2a81e03cffc21·...·]-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="9653813915-1">[</span><span·class="p"·data-group-id="9653813915-2">{</span><span·class="p"·data-group-id="9653813915-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:·9faf0e013d5095db574441819b496e3da36320d6b4ad887c5b45416972b66e7e·...·]-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="2581780234-1">[</span><span·class="p"·data-group-id="2581780234-2">{</span><span·class="p"·data-group-id="2581780234-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:·873cef0915d71872ecc5f9acceece2d8a723d44f262c3f596140c2b59d8c853b·...·]-3">}</span><span·class="p">,</span><span·class="w">
423 ··</span><span·class="p"·data-group-id="9653813915-4">[</span><span·class="p"·data-group-id="9653813915-4">]</span><span·class="p">,</span><span·class="w">423 ··</span><span·class="p"·data-group-id="2581780234-4">[</span><span·class="p"·data-group-id="2581780234-4">]</span><span·class="p">,</span><span·class="w">
424 ··</span><span·class="p"·data-group-id="9653813915-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="9653813915-5">]</span><span·class="p"·data-group-id="9653813915-2">}</span><span·class="p"·data-group-id="9653813915-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="2581780234-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="2581780234-5">]</span><span·class="p"·data-group-id="2581780234-2">}</span><span·class="p"·data-group-id="2581780234-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="1234122435-1">[</span><span·class="p"·data-group-id="1234122435-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="0021294505-1">[</span><span·class="p"·data-group-id="0021294505-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
426 ··</span><span·class="p"·data-group-id="1234122435-3">[</span><span·class="p"·data-group-id="1234122435-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:·1982f89e7fd448efaa5a758b164167dfbebfa8d1fb15c89af305fa6fa5c2b194·...·]5-3">]</span><span·class="p">,</span><span·class="w">426 ··</span><span·class="p"·data-group-id="0021294505-3">[</span><span·class="p"·data-group-id="0021294505-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:·24e75b9425859ab53b502c16ee9674060830beb789f9aa89c05751494f55bf25·...·]5-3">]</span><span·class="p">,</span><span·class="w">
427 ··</span><span·class="p"·data-group-id="1234122435-8">[</span><span·class="p"·data-group-id="1234122435-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="1234122435[·...·truncated·by·diffoscope;·len:·158,·SHA:·c62b08c9c45be5dfca3f5cf0c913a1405d39fcb2206296758051d93efce224a5·...·]5-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="0021294505-8">[</span><span·class="p"·data-group-id="0021294505-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="0021294505[·...·truncated·by·diffoscope;·len:·158,·SHA:·a29238823954696ea1d15c6c59739b1bf786ae125b1e392c1b29669938b75c29·...·]5-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="6234290403-1">[</span><span·class="p"·data-group-id="6234290403-2">{</span><span·class="p"·data-group-id="6234290403-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:·32a397db3d573726ede877390de1166d8e29b8c3a9e2613b7f3f25922dd40403·...·]-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="0157131267-1">[</span><span·class="p"·data-group-id="0157131267-2">{</span><span·class="p"·data-group-id="0157131267-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:·e0e5466efa38a95d2d839a67515d06124b9dcb1f34567926b2fa8b5c9cf0fb88·...·]-3">}</span><span·class="p">,</span><span·class="w">
433 ··</span><span·class="p"·data-group-id="6234290403-4">[</span><span·class="p"·data-group-id="6234290403-4">]</span><span·class="p">,</span><span·class="w">433 ··</span><span·class="p"·data-group-id="0157131267-4">[</span><span·class="p"·data-group-id="0157131267-4">]</span><span·class="p">,</span><span·class="w">
434 ··</span><span·class="p"·data-group-id="6234290403-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="6234290403-5">]</span><span·class="p"·data-group-id="6234290403-2">}</span><span·class="p">,</span><span·class="w">434 ··</span><span·class="p"·data-group-id="0157131267-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="0157131267-5">]</span><span·class="p"·data-group-id="0157131267-2">}</span><span·class="p">,</span><span·class="w">
435 ·</span><span·class="p"·data-group-id="6234290403-6">{</span><span·class="p"·data-group-id="6234290403-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="62[·...·truncated·by·diffoscope;·len:·8,·SHA:·4e2b2c5c4be1a1577b55624d08d00a30e4c84d16a4dd7a8211da307ecb027c9b·...·]-7">}</span><span·class="p">,</span><span·class="w">435 ·</span><span·class="p"·data-group-id="0157131267-6">{</span><span·class="p"·data-group-id="0157131267-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="01[·...·truncated·by·diffoscope;·len:·8,·SHA:·ce985ecb7849e06df6c6002258bd463de9670e024dfbe37417b12bc49d115df6·...·]-7">}</span><span·class="p">,</span><span·class="w">
436 ··</span><span·class="p"·data-group-id="6234290403-8">[</span><span·class="p"·data-group-id="6234290403-8">]</span><span·class="p">,</span><span·class="w">436 ··</span><span·class="p"·data-group-id="0157131267-8">[</span><span·class="p"·data-group-id="0157131267-8">]</span><span·class="p">,</span><span·class="w">
437 ··</span><span·class="p"·data-group-id="6234290403-9">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="6234290403-9">]</span><span·class="p"·data-group-id="6234290403-6">}</span><span·class="p"·data-group-id="6234290403-1">]</span></code></pre><p>Function·<a·href="../../../lib/stdlib-6.2.2/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="0157131267-9">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="0157131267-9">]</span><span·class="p"·data-group-id="0157131267-6">}</span><span·class="p"·data-group-id="0157131267-1">]</span></code></pre><p>Function·<a·href="../../../lib/stdlib-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>482 <p>Copyright·©·1996-2025·<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
61.7 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/doc/html/notes.html
    
Offset 224, 15 lines modifiedOffset 224, 15 lines modified
224 <ul><li><p><a·href="../../../lib/kernel-10.2.7/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.2.7/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.2.7/doc/html/inet.html#getifaddrs/1"><code·class="inline">inet:getifaddrs/0,1</code></a>·is·improved·when·using224 <ul><li><p><a·href="../../../lib/kernel-10.2.7/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.2.7/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.2.7/doc/html/inet.html#getifaddrs/1"><code·class="inline">inet:getifaddrs/0,1</code></a>·is·improved·when·using
225 inet_backend·=·socket.</p><p>Own·Id:·OTP-19264</p></li><li><p><a·href="../../../lib/stdlib-6.2.2/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"·class="section-heading">225 inet_backend·=·socket.</p><p>Own·Id:·OTP-19264</p></li><li><p><a·href="../../../lib/stdlib-6.2.2/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"·class="section-heading">
226 ··<a·href="#improvements-and-new-features"·class="hover-link">226 ··<a·href="#improvements-and-new-features"·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">Improvements·and·New·Features</span>229 ··<span·class="text">Improvements·and·New·Features</span>
230 </h3>230 </h3>
231 <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-6.2.2/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="1859461010-1">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1859461010-2">[</span><span·class="ss">label</span><span·class="p">,</span><span·class="ss">registered_name</span><span·class="p"[·...·truncated·by·diffoscope;·len:·79,·SHA:·c1997ea847d61d7b1309065f3deb26b57a1aa347e1835a0090049c65f3febb3c·...·]-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">231 <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-6.2.2/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="7985854057-1">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7985854057-2">[</span><span·class="ss">label</span><span·class="p">,</span><span·class="ss">registered_name</span><span·class="p"[·...·truncated·by·diffoscope;·len:·79,·SHA:·4ecd1a340369092c5f40ea6cd9c6116f7a9ef976394a0c8e2308128f6fb93d43·...·]-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">
232 ··<a·href="#erts-15-1-3"·class="hover-link">232 ··<a·href="#erts-15-1-3"·class="hover-link">
233 ····<i·class="ri-link-m"·aria-hidden="true"></i>233 ····<i·class="ri-link-m"·aria-hidden="true"></i>
234 ··</a>234 ··</a>
235 ··<span·class="text">Erts·15.1.3</span>235 ··<span·class="text">Erts·15.1.3</span>
236 </h2>236 </h2>
237 <h3·id="fixed-bugs-and-malfunctions-8"·class="section-heading">237 <h3·id="fixed-bugs-and-malfunctions-8"·class="section-heading">
238 ··<a·href="#fixed-bugs-and-malfunctions-8"·class="hover-link">238 ··<a·href="#fixed-bugs-and-malfunctions-8"·class="hover-link">
Offset 272, 16 lines modifiedOffset 272, 16 lines modified
272 </h2>272 </h2>
273 <h3·id="fixed-bugs-and-malfunctions-11"·class="section-heading">273 <h3·id="fixed-bugs-and-malfunctions-11"·class="section-heading">
274 ··<a·href="#fixed-bugs-and-malfunctions-11"·class="hover-link">274 ··<a·href="#fixed-bugs-and-malfunctions-11"·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">Fixed·Bugs·and·Malfunctions</span>277 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
278 </h3>278 </h3>
279 <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="5143725641-1">{</span><span·class="ss">&#39;GetOverlappedResult&#39;</span><span·class="p">,</span><span·class="w">279 <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="4879423105-1">{</span><span·class="ss">&#39;GetOverlappedResult&#39;</span><span·class="p">,</span><span·class="w">
280 ··</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="5143725641-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-1"·class="section-heading">280 ··</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="4879423105-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-1"·class="section-heading">
281 ··<a·href="#improvements-and-new-features-1"·class="hover-link">281 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
282 ····<i·class="ri-link-m"·aria-hidden="true"></i>282 ····<i·class="ri-link-m"·aria-hidden="true"></i>
283 ··</a>283 ··</a>
284 ··<span·class="text">Improvements·and·New·Features</span>284 ··<span·class="text">Improvements·and·New·Features</span>
285 </h3>285 </h3>
286 <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.2.7/doc/html/inet.html"><code·class="inline">inet</code></a>·functions,·either·when·called·with·sockets,286 <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.2.7/doc/html/inet.html"><code·class="inline">inet</code></a>·functions,·either·when·called·with·sockets,
287 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-6.2.2/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-6.2.2/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">287 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-6.2.2/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-6.2.2/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 310, 25 lines modifiedOffset 310, 25 lines modified
310 </h3>310 </h3>
311 <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-2"·class="section-heading">311 <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-2"·class="section-heading">
312 ··<a·href="#improvements-and-new-features-2"·class="hover-link">312 ··<a·href="#improvements-and-new-features-2"·class="hover-link">
313 ····<i·class="ri-link-m"·aria-hidden="true"></i>313 ····<i·class="ri-link-m"·aria-hidden="true"></i>
314 ··</a>314 ··</a>
315 ··<span·class="text">Improvements·and·New·Features</span>315 ··<span·class="text">Improvements·and·New·Features</span>
316 </h3>316 </h3>
317 <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.1.1/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.2.7/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.1/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-8.6.1/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.2.7/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../lib/kernel-10.2.7/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../lib/kernel-10.2.7/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../lib/kernel-10.2.7/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.2.7/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.2.7/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="9698313542-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9698313542-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:·6d8fb55327b56f76dfe615084bf18ca422f1f19fb5268bd7d2ad761914df9736·...·]-1">)</span><span·class="p">.</span><span·class="w">317 <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.1.1/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.2.7/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.1/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-8.6.1/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.2.7/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../lib/kernel-10.2.7/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../lib/kernel-10.2.7/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../lib/kernel-10.2.7/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.2.7/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.2.7/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="5988948559-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5988948559-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:·de8e2b0964380fa3d13dbd218aa519d6512e5d8fd254d84e4136e69127e90122·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
318 </span><span·class="nf">update</span><span·class="p"·data-group-id="9698313542-3">(</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="9698313542-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:·4798ef535a591833045f5374c0d3663fe7bea431eba99dcb831ae2aae4bf2de0·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">318 </span><span·class="nf">update</span><span·class="p"·data-group-id="5988948559-3">(</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="5988948559-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:·38290dc389a154cac06af230a68581964fd92bd0a2cea63b4db3f92f869924ba·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
319 ····</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="9698313542-5">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="ss">up_to_date</span><span·class="p"·data-group-id="9698313542-5">}</span><span·class="p">,</span><span·class="w">319 ····</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="5988948559-5">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="ss">up_to_date</span><span·class="p"·data-group-id="5988948559-5">}</span><span·class="p">,</span><span·class="w">
320 ····</span><span·class="k">if</span><span·class="w">320 ····</span><span·class="k">if</span><span·class="w">
321 ········</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">321 ········</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">
322 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="9698313542-6">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">negative</span><span·class="p"·data-group-id="9698313542-6">}</span><span·class="p">;</span><span·class="w">322 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="5988948559-6">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">negative</span><span·class="p"·data-group-id="5988948559-6">}</span><span·class="p">;</span><span·class="w">
323 ········</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">323 ········</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">
324 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="9698313542-7">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">zero</span><span·class="p"·data-group-id="9698313542-7">}</span><span·class="p">;</span><span·class="w">324 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="5988948559-7">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">zero</span><span·class="p"·data-group-id="5988948559-7">}</span><span·class="p">;</span><span·class="w">
325 ········</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">325 ········</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">
326 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="9698313542-8">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">positive</span><span·class="p"·data-group-id="9698313542-8">}</span><span·class="w">326 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="5988948559-8">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">positive</span><span·class="p"·data-group-id="5988948559-8">}</span><span·class="w">
327 ····</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·external327 ····</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
328 resource·by·passing·an·atom·(or·a·string)·as·first·argument·to328 resource·by·passing·an·atom·(or·a·string)·as·first·argument·to
329 <a·href="erlang.html#open_port/2"><code·class="inline">open_port()</code></a>,·implemented·by·the·vanilla·driver,329 <a·href="erlang.html#open_port/2"><code·class="inline">open_port()</code></a>,·implemented·by·the·vanilla·driver,
330 has·been·removed.·This·feature·has·been·scheduled·for·removal·in·OTP·27330 has·been·removed.·This·feature·has·been·scheduled·for·removal·in·OTP·27
331 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.2.7/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·to331 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.2.7/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
332 that·a·few·details·were·fixed:</p><ul><li><a·href="../../../lib/kernel-10.2.7/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>332 that·a·few·details·were·fixed:</p><ul><li><a·href="../../../lib/kernel-10.2.7/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>
333 that·is·a·&quot;category&quot;,·not·an·item.</li><li><a·href="../../../lib/kernel-10.2.7/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·by333 that·is·a·&quot;category&quot;,·not·an·item.</li><li><a·href="../../../lib/kernel-10.2.7/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 3266, 17 lines modifiedOffset 3266, 17 lines modified
3266 markedly·so·when·the·maximum·number·of·file·descriptors·has·been·tuned·to·a3266 markedly·so·when·the·maximum·number·of·file·descriptors·has·been·tuned·to·a
3267 large·number.</p><p>Instead,·in·erl_child_setup,·walk·the·open·descriptors·under·<code·class="inline">/dev/fd</code>·and3267 large·number.</p><p>Instead,·in·erl_child_setup,·walk·the·open·descriptors·under·<code·class="inline">/dev/fd</code>·and
3268 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-6.2.2/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>3268 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-6.2.2/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>
3269 module.</p><p>Own·Id:·OTP-16327</p></li><li><p>As·announced·in·OTP·22.0,·the·previously·existing·limited·support·for·VxWorks3269 module.</p><p>Own·Id:·OTP-16327</p></li><li><p>As·announced·in·OTP·22.0,·the·previously·existing·limited·support·for·VxWorks
3270 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·to3270 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
3271 <a·href="erlang.html#decode_packet/3"><code·class="inline">erlang:decode_packet/3</code></a>·and·<a·href="../../../lib/kernel-10.2.7/doc/html/inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>·has·been·changed·to·also·include3271 <a·href="erlang.html#decode_packet/3"><code·class="inline">erlang:decode_packet/3</code></a>·and·<a·href="../../../lib/kernel-10.2.7/doc/html/inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>·has·been·changed·to·also·include
3272 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">3272 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">
3273 ······</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">decode_packet</span><span·class="p"·data-group-id="2113263484-1">(</span><span·class="ss">httph_bin</span><span·class="p">,</span><span·class="p"·data-group-id="2113263484-2">&lt;&lt;</span><span·class="s">&quot;HELLO:3273 ······</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">decode_packet</span><span·class="p"·data-group-id="8636658568-1">(</span><span·class="ss">httph_bin</span><span·class="p">,</span><span·class="p"·data-group-id="8636658568-2">&lt;&lt;</span><span·class="s">&quot;HELLO:
3274 ······hi\r\n\r\n&quot;</span><span·class="p"·data-group-id="2113263484-2">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2113263484-3">[</span><span·class="p"·data-group-id="2113263484-3">]</span><span·class="p"·data-group-id="2113263484-1">)</span><span·class="p">.</span><span·class="w"> 
3275 ······</span><span·class="p"·data-group-id="2113263484-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2113263484-5">{</span><span·class="ss">http_header</span><span·class="p">,</span><span·class="mi">0</span><span·cla[·...·truncated·by·diffoscope;·len:·1101,·SHA:·3a8c422eae75b3358a3789e864db305c6ca33cd441558dbecbbf603e4189b41b·...·]3274 ······hi\r\n\r\n&quot;</span><span·class="p"·data-group-id="8636658568-2">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8636658568-3">[</span><span·class="p"·data-group-id="8636658568-3">]</span><span·class="p"·data-group-id="8636658568-1[·...·truncated·by·diffoscope;·len:·50,·SHA:·7c76ffcbdd2b9b0809992215d4bc03869c03819d4f2872424fd7856db727c221·...·]
 3275 ······</span><span·class="p"·data-group-id="8636658568-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8636658568-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="8636658568-6">&lt;&lt;</span><span·class="s">&quot;Hello&quot;</span><span·class="p"·data-group-id="8636658568-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8636658568-7">&lt;&lt;</span><span·class="s">&quot;HELLO&quot;</span><span·class="p"·data-group-id="8636658568-7">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8636658568-8">&lt;&lt;</span><span·class="s">&quot;hi&quot;</span><span·class="p"·data-group-id="8636658568-8">&gt;&gt;</span><span·class="p"·data-group-id="8636658568-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="8636658568-9">&lt;&lt;</span><span·class="s">&quot;\r\n&quot;</span><span·class="p"·data-group-id="8636658568-9">&gt;&gt;</span><span·class="p"·data-group-id="8636658568-4">}</span></code></pre><p>Own·Id:·OTP-16347·Aux·Id:·PR-2466</p></li><li><p>Ensure·<a·href="../../../lib/kernel-10.2.7/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
3276 connection·before·<code·class="inline">nodeup</code>·messages·of·a·reestablished·connection·toward·the3276 connection·before·<code·class="inline">nodeup</code>·messages·of·a·reestablished·connection·toward·the
3277 same·node.</p><p>Own·Id:·OTP-16362</p></li><li><p>Update·of·<a·href="../../../lib/kernel-10.2.7/doc/html/seq_trace.html#whatis">sequential·tracing</a>·to·also·support·other3277 same·node.</p><p>Own·Id:·OTP-16362</p></li><li><p>Update·of·<a·href="../../../lib/kernel-10.2.7/doc/html/seq_trace.html#whatis">sequential·tracing</a>·to·also·support·other
3278 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·file3278 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
3279 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·supported3279 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
3280 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·maps3280 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
3281 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·argument3281 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
3282 <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,3282 <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 10983, 20 lines modifiedOffset 10983, 20 lines modified
10983 <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>·behaved10983 <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
10984 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could10984 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could
10985 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you10985 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you
10986 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·be10986 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
10987 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink10987 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink
10988 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or10988 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or
10989 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did10989 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did
10990 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="8960017516-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="8960017516-1">)</span><span·class="p">,</span><span·class="w">10990 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="8995900331-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="8995900331-1">)</span><span·class="p">,</span><span·class="w">
10991 ············</span><span·class="c1">%%·...</span><span·class="w">10991 ············</span><span·class="c1">%%·...</span><span·class="w">
10992 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="8960017516-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="8960017516-2">)</span><span·class="p">,</span><span·class="w">10992 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="8995900331-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="8995900331-2">)</span><span·class="p">,</span><span·class="w">
10993 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="8960017516-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="8960017516-3">)</span><span·class="p">,</span><span·class="w">10993 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="8995900331-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="8995900331-3">)</span><span·class="p">,</span><span·class="w">
10994 ············</span><span·class="k">receive</span><span·class="w">10994 ············</span><span·class="k">receive</span><span·class="w">
10995 ················</span><span·class="p"·data-group-id="8960017516-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">,</sp[·...·truncated·by·diffoscope;·len:·166,·SHA:·150c062fb1edef80c7fcc9c52d0db3b747ddd43549f5b5a76b9ea252abdc908f·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">10995 ················</span><span·class="p"·data-group-id="8995900331-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">,</sp[·...·truncated·by·diffoscope;·len:·166,·SHA:·63196a961c488f4d5b05a7102a5975c21908bbd7dbf218c6b0e8055c7121c1f6·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">
10996 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">10996 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">
10997 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">10997 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">
10998 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">10998 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">
10999 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">10999 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">
11000 ············</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·contents11000 ············</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
11001 would·be·appended·to·the·end·of·the·command·line·even·if·the·command·line·had11001 would·be·appended·to·the·end·of·the·command·line·even·if·the·command·line·had
11002 an·<code·class="inline">-extra</code>·options.·Changed·to·place·the·options·from·<code·class="inline">ERL_FLAGS</code>·just·before11002 an·<code·class="inline">-extra</code>·options.·Changed·to·place·the·options·from·<code·class="inline">ERL_FLAGS</code>·just·before
Offset 11542, 15 lines modifiedOffset 11542, 15 lines modified
11542 ······<p·class="built-using">11542 ······<p·class="built-using">
11543 ········Built·using11543 ········Built·using
11544 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the11544 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
11545 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>11545 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
11546 ······</p>11546 ······</p>
11547 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>11547 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
11548 ····</footer>11548 ····</footer>
11549 ··</div>11549 ··</div>
11550 </main>11550 </main>
11551 </div>11551 </div>
11552 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>11552 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
11553 ··<script>11553 ··<script>
11554 ··let·initialized·=·false;11554 ··let·initialized·=·false;
603 B
html2text {}
Max HTML report size reached
4.88 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="4143842251-1">(</span><span·class="ss">scheduler_id</span><span·class="p"·data-group-id="4143842251-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="7551501404-1">(</span><span·class="ss">scheduler_id</span><span·class="p"·data-group-id="7551501404-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="4143842251-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="4143842251-3">(</span><span·class="o">?[·...·truncated·by·diffoscope;·len:·130,·SHA:·2752469cf5eb2c843b3e59b1a6caaf3f1f06c119d7ab8c0487ea8a5930ac063d·...·]-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="7551501404-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="7551501404-3">(</span><span·class="o">?[·...·truncated·by·diffoscope;·len:·130,·SHA:·35f9bb8bb9dadc2332ea278c313f8479874c3cebc67591656de8d6f63e77fc09·...·]-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="4143842251-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="4143842251-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="7551501404-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="7551501404-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>598 <p>Copyright·©·1996-2025·<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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>404 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>325 <p>Copyright·©·1996-2025·<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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>461 <p>Copyright·©·1996-2025·<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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>252 <p>Copyright·©·1996-2025·<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.2 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>142 <p>Copyright·©·1996-2025·<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.38 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>189 <p>Copyright·©·1996-2025·<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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>235 <p>Copyright·©·1996-2025·<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-15.2.7/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="0701598580-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="1770688671-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="0701598580-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="1770688671-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>322 <p>Copyright·©·1996-2025·<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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>427 <p>Copyright·©·1996-2025·<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.87 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="7165478048-1">(</span><span·class="p"·data-group-id="7165478048-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="7469634492-1">(</span><span·class="p"·data-group-id="7469634492-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="7165478048-2">(</span><span·class="p"·data-group-id="7165478048-3">[</span><span·class="ss">monotonic</span><span·class="p"·data-group-id="7165478048-3">]</span><span·class="p"·data-group-id="7165478048-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="7469634492-2">(</span><span·class="p"·data-group-id="7469634492-3">[</span><span·class="ss">monotonic</span><span·class="p"·data-group-id="7469634492-3">]</span><span·class="p"·data-group-id="7469634492-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="7165478048-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="7165478048-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="7469634492-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="7469634492-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>646 <p>Copyright·©·1996-2025·<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-15.2.7/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="0138005506-1">(</span><span·class="p"·data-group-id="0138005506-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="0517130311-1">(</span><span·class="p"·data-group-id="0517130311-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="0138005506-2">(</span><span·class="p"·data-group-id="0138005506-2">)</span><span·class="p">,</span><span·class="w">153 ····</span><span·class="nf">lots</span><span·class="p"·data-group-id="0517130311-2">(</span><span·class="p"·data-group-id="0517130311-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="0138005506-3">(</span><span·class="p"·data-group-id="0138005506-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="0517130311-3">(</span><span·class="p"·data-group-id="0517130311-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="0138005506-4">(</span><span·class="p"·data-group-id="0138005506-4">)</span><span·class="p">.</span><span·class="w">156 ····</span><span·class="nf">&#39;of&#39;</span><span·class="p"·data-group-id="0517130311-4">(</span><span·class="p"·data-group-id="0517130311-4">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">&#39;of&#39;</span><span·class="p"·data-group-id="0138005506-5">(</span><span·class="p"·data-group-id="0138005506-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="0517130311-5">(</span><span·class="p"·data-group-id="0517130311-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="0138005506-6">(</span><span·class="p"·data-group-id="0138005506-6">)</span><span·class="p">.</span><span·class="w">158 ····</span><span·class="nf">indirections</span><span·class="p"·data-group-id="0517130311-6">(</span><span·class="p"·data-group-id="0517130311-6">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">indirections</span><span·class="p"·data-group-id="0138005506-7">(</span><span·class="p"·data-group-id="0138005506-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="0517130311-7">(</span><span·class="p"·data-group-id="0517130311-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="0138005506-8">(</span><span·class="mi">10</span><span·class="p"·data-group-id="0138005506-8">)</span><span·class="p">.</span><span·class="w">160 ····</span><span·class="nf">bar</span><span·class="p"·data-group-id="0517130311-8">(</span><span·class="mi">10</span><span·class="p"·data-group-id="0517130311-8">)</span><span·class="p">.</span><span·class="w">
  
161 </span><span·class="nf">bar</span><span·class="p"·data-group-id="0138005506-9">(</span><span·class="mi">0</span><span·class="p"·data-group-id="0138005506-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="0517130311-9">(</span><span·class="mi">0</span><span·class="p"·data-group-id="0517130311-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="0138005506-10">(</span><span·class="n">N</span><span·class="p"·data-group-id="0138005506-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="0517130311-10">(</span><span·class="n">N</span><span·class="p"·data-group-id="0517130311-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="0138005506-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="0138005506-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="0517130311-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="0517130311-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>391 <p>Copyright·©·1996-2025·<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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>196 <p>Copyright·©·1996-2025·<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.43 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>201 <p>Copyright·©·1996-2025·<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
39.4 KB
./usr/share/doc/erlang-doc/html/erts-15.2.7/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="3360526165-1">(</span><span·class="p"·data-group-id="3360526165-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="7402306340-1">(</span><span·class="p"·data-group-id="7402306340-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="3360526165-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="ss">default</span><span·class="p"·data-group-id="3360526165-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="7402306340-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="ss">default</span><span·class="p"·data-group-id="7402306340-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="nf">fun</span><span·class="p"·data-group-id="3360526165-3">(</span><span·class="ss">end_of_data</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Cont</span><span·class="p"·data-group-id="3360526165-3">)</span><span·class="w">·</span><span·class="p">-&gt;</[·...·truncated·by·diffoscope;·len:·123,·SHA:·45797d9b99139a6d67a51cba9709da115da19b0271e23d42eb70e2152d3bd0f9·...·]-4">]</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="nf">fun</span><span·class="p"·data-group-id="7402306340-3">(</span><span·class="ss">end_of_data</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Cont</span><span·class="p"·data-group-id="7402306340-3">)</span><span·class="w">·</span><span·class="p">-&gt;</[·...·truncated·by·diffoscope;·len:·123,·SHA:·baeb8b74abdf34412f4f74372f7b6b05174a057aad2ec9fed0a92e3898176693·...·]-4">]</span><span·class="p">;</span><span·class="w">
138 ··············</span><span·class="p"·data-group-id="3360526165-5">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cont</span><span·class="p"·data-group-id="3360526165-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">138 ··············</span><span·class="p"·data-group-id="7402306340-5">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cont</span><span·class="p"·data-group-id="7402306340-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
139 ·················</span><span·class="p"·data-group-id="3360526165-6">[</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="3360526165-7">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span[·...·truncated·by·diffoscope;·len:·436,·SHA:·ef288a1385ea34bbb10175ef9c0e9e37b35f7a9db4c9471bf95046c853042820·...·]-6">]</span><span·class="w">139 ·················</span><span·class="p"·data-group-id="7402306340-6">[</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="7402306340-7">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span[·...·truncated·by·diffoscope;·len:·436,·SHA:·f7f0d0169d6a3984fc8ab43c8d71d125694706f22bc34242adc7d23850e94716·...·]-6">]</span><span·class="w">
140 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">140 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
141 </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="3360526165-10">(</span><span·class="n">Read</span><span·class="p"·data-group-id="3360526165-11">(</span><span·class="p"·data-group-id="3360526165-11">)</span><span·class="p">,</span><span·class="n">Compress</span><span·class="p"·data-group-id="3360526165-10">)</span><span·class="p">,</span><span·class="w">141 </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="7402306340-10">(</span><span·class="n">Read</span><span·class="p"·data-group-id="7402306340-11">(</span><span·class="p"·data-group-id="7402306340-11">)</span><span·class="p">,</span><span·class="n">Compress</span><span·class="p"·data-group-id="7402306340-10">)</span><span·class="p">,</span><span·class="w">
142 </span><span·class="n">Last</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="3360526165-12">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3360526165-13">[</span><span·class="p"·data-group-id="3360526165-13">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·66,·SHA:·086d0c2fe80479f24d865666da981ad9409543fcb4bc79a018d85d9d21dedf0c·...·]-12">)</span><span·class="p">,</span><span·class="w">142 </span><span·class="n">Last</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="7402306340-12">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7402306340-13">[</span><span·class="p"·data-group-id="7402306340-13">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·66,·SHA:·247a93c0ce88f478ccf22ffd5ca03976dd03c8a7e3712e1f8fd7f935e510a4c2·...·]-12">)</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="3360526165-14">(</span><span·class="n">Z</span><span·class="p"·data-group-id="3360526165-14">)</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="7402306340-14">(</span><span·class="n">Z</span><span·class="p"·data-group-id="7402306340-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="3360526165-15">(</span><span·class="n">Z</span><span·class="p"·data-group-id="3360526165-15">)</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="7402306340-15">(</span><span·class="n">Z</span><span·class="p"·data-group-id="7402306340-15">)</span><span·class="p">,</span><span·class="w">
145 </span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="3360526165-16">(</span><span·class="p"·data-group-id="3360526165-17">[</span><span·class="n">Compressed</span><span·class="p">|</span><span·class="n">Last</span><span·class="p"·data-group-id="3360526165-17">]</span><span·class="p"·data-group-id="3360526165-16">)</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="7402306340-16">(</span><span·class="p"·data-group-id="7402306340-17">[</span><span·class="n">Compressed</span><span·class="p">|</span><span·class="n">Last</span><span·class="p"·data-group-id="7402306340-17">]</span><span·class="p"·data-group-id="7402306340-16">)</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="1100119024-1">(</span><span·class="n">Z</span><span·class="p"·data-group-id="1100119024-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="2451575685-1">(</span><span·class="n">Z</span><span·class="p"·data-group-id="2451575685-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="1100119024-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="1100119024-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="2451575685-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="2451575685-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="1100119024-3">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="p"·data-group-id="1100119024-4">&lt;&lt;</span><span·class="w">·</span><span·class="p"·data-group-id="1100119024-4">&gt;&gt;</span><span·class="p">,</span><span·class="ss">f[·...·truncated·by·diffoscope;·len:·53,·SHA:·cd9157d8b94d5e1699eb5467060cd2f256921e4cad29ef7f2d5b762e17dea319·...·]-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="2451575685-3">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="p"·data-group-id="2451575685-4">&lt;&lt;</span><span·class="w">·</span><span·class="p"·data-group-id="2451575685-4">&gt;&gt;</span><span·class="p">,</span><span·class="ss">f[·...·truncated·by·diffoscope;·len:·53,·SHA:·1b215bbd0d989fecaa396c64b2170c1b3afa926c650fbdae5ecdb5e9161ce265·...·]-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="1100119024-5">(</span><span·class="n">Z</span><span·class="p"·data-group-id="1100119024-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="2451575685-5">(</span><span·class="n">Z</span><span·class="p"·data-group-id="2451575685-5">)</span><span·class="p">,</span><span·class="w">
838 </span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="1100119024-6">(</span><span·class="p"·data-group-id="1100119024-7">[</span><span·class="n">B1</span><span·class="p">,</span><span·class="n">B2</span><span·class="p"·data-group-id="1100119024-7">]</span><span·class="p"·data-group-id="1100119024-6">)</span></code></pre>838 </span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="2451575685-6">(</span><span·class="p"·data-group-id="2451575685-7">[</span><span·class="n">B1</span><span·class="p">,</span><span·class="n">B2</span><span·class="p"·data-group-id="2451575685-7">]</span><span·class="p"·data-group-id="2451575685-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="3923982812-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="3923982812-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="9176999286-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="9176999286-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="3923982812-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="3923982812-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="9176999286-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="9176999286-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1358 ··········</span><span·class="p"·data-group-id="3923982812-3">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="3923982812-4">{</span><span·class="p"·data-group-id="3923982812-5">{</span><span·class="ss">need_dictionary</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·245,·SHA:·15382b16c325dd1fc80ae363fa82fc1f47dea524b8685bcc7623555bf27ea056·...·]-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1358 ··········</span><span·class="p"·data-group-id="9176999286-3">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="9176999286-4">{</span><span·class="p"·data-group-id="9176999286-5">{</span><span·class="ss">need_dictionary</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·245,·SHA:·e77c3c806b1358c0b1c40d0e456c72988f4909d15a47aab735df4330535c1a6e·...·]-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="3923982812-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="3923982812-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="9176999286-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="9176999286-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="3923982812-7">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3923982812-8">[</span><span·class="p"·data-group-id="3923982812-8">]</span><span·class="p"·data-group-id="3923982812-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="9176999286-7">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9176999286-8">[</span><span·class="p"·data-group-id="9176999286-8">]</span><span·class="p"·data-group-id="9176999286-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="3923982812-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="3923982812-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="9176999286-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="9176999286-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="3923982812-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="3923982812-11">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·300,·SHA:·deade942bab2b9ea4a97456f9b2c6e9a125d7b7b8dfd2f13c43d41a6d0d308a0·...·]-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="9176999286-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="9176999286-11">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·300,·SHA:·25bafaa2867da02efe99f6096c676047bd969d0a71cf33ee2701b30c9cc0df45·...·]-10">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1366 ········</span><span·class="p"·data-group-id="3923982812-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:·bbf9cd57201d7ba8f6306b7f9c5a4092377571723558d44b0b87a1c576af7f1f·...·]-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1366 ········</span><span·class="p"·data-group-id="9176999286-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:·a3b21f3f35d187840d7eff161e0a9bcbfb60fb4553a13301393e176dccabcef6·...·]-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="3923982812-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="3923982812-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="9176999286-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="9176999286-14">)</span><span·class="p">,</span><span·class="w">
1368 ············</span><span·class="p"·data-group-id="3923982812-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="3923982812-16">(</[·...·truncated·by·diffoscope;·len:·280,·SHA:·0673c68ae95d8f75fdf381e8a2a4cc2a1dbb8b9b89fb65ed01ecd0d26d62c4e6·...·]-15">]</span><span·class="p">;</span><span·class="w">1368 ············</span><span·class="p"·data-group-id="9176999286-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="9176999286-16">(</[·...·truncated·by·diffoscope;·len:·280,·SHA:·709c7d4926e08e02c3a7888c800aae478fc1a27164d7b4a6bce4acbeac32a0a0·...·]-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="4391128149-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="4391128149-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="1169892413-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="1169892413-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="4391128149-2">(</span><span·class="p"·data-group-id="4391128149-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="1169892413-2">(</span><span·class="p"·data-group-id="1169892413-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="4391128149-3">(</span><span·class="n">Z</span><span·class="p"·data-group-id="4391128149-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="1169892413-3">(</span><span·class="n">Z</span><span·class="p"·data-group-id="1169892413-3">)</span><span·class="p">,</span><span·class="w">
1444 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="4391128149-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:·6470dded68b8df697e55e3162fd205777d03411a512f355a37ca91b0f04800ca·...·]-4">)</span><span·class="p">,</span><span·class="w">1444 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1169892413-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:·8c8fbee885cf41192c8c1dfb793d941ba4534c5352f84eff8bfcfb566f2bb953·...·]-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="4391128149-6">(</span><span·class="n">Z</span><span·class="p"·data-group-id="4391128149-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="1169892413-6">(</span><span·class="n">Z</span><span·class="p"·data-group-id="1169892413-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="4391128149-7">(</span><span·class="n">Z</span><span·class="p"·data-group-id="4391128149-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="1169892413-7">(</span><span·class="n">Z</span><span·class="p"·data-group-id="1169892413-7">)</span><span·class="p">.</span><span·class="w">
  
1447 </span><span·class="nf">loop</span><span·class="p"·data-group-id="4391128149-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="4391128149-9">{</span><span·class="ss">continue</span[·...·truncated·by·diffoscope;·len:·172,·SHA:·aad44db6414e1698e25c5c6bd1d6d633825c7abe5127bea0424cab5a80ba30ad·...·]-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="1169892413-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="1169892413-9">{</span><span·class="ss">continue</span[·...·truncated·by·diffoscope;·len:·172,·SHA:·1c524b12b5eaa09f95f09aae68b26f3b17f8db612e8517381a0f59dba9a5d0be·...·]-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="4391128149-10">(</span><span·class="n">Output</span><span·class="p"·data-group-id="4391128149-10">)</span><span·class="p">,</span><span·class="w">1448 ····</span><span·class="n">Handler</span><span·class="p"·data-group-id="1169892413-10">(</span><span·class="n">Output</span><span·class="p"·data-group-id="1169892413-10">)</span><span·class="p">,</span><span·class="w">
1449 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="4391128149-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:·3a70eeccf873b3b47e901b8f2696c259a5afa13589e34a4fbc8cb4286e833b9e·...·]-11">)</span><span·class="p">;</span><span·class="w">1449 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1169892413-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:·3529123ca8f2919dce27485a158a636cd7c5c85592f44070eba762752ae38887·...·]-11">)</span><span·class="p">;</span><span·class="w">
1450 </span><span·class="nf">loop</span><span·class="p"·data-group-id="4391128149-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="4391128149-15">{</span><span·class="ss">finished</sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·3621309f84dc3fb7ceef57b7ad3ffe24881f7cf5549d3a7f50163adc58019c18·...·]-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="1169892413-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="1169892413-15">{</span><span·class="ss">finished</sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·3d0a1da363239b0cf7e3b2c0e4285a638bced2f3f4e2077c1e328a170e90dc49·...·]-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="4391128149-16">(</span><span·class="n">Output</span><span·class="p"·data-group-id="4391128149-16">)</span><span·class="p">.</span></code></pre>1451 ····</span><span·class="n">Handler</span><span·class="p"·data-group-id="1169892413-16">(</span><span·class="n">Output</span><span·class="p"·data-group-id="1169892413-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1581 <p>Copyright·©·1996-2025·<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.3.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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/asn1-5.3.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2025·<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;
658 B
html2text {}
Max HTML report size reached
412 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.3.4/doc/html/asn1.epub
3.09 KB
zipinfo {}
Max HTML report size reached
102 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
2.76 KB
OEBPS/notes.xhtml
Max HTML report size reached
2.32 KB
OEBPS/content.opf
2.28 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.3.4/doc/html/asn1_getting_started.html
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.3.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>204 <p>Copyright·©·1996-2025·<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.3.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2025·<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.3.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="7084619860-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ExclMessage</span><span·class="p"·data-group-id="7084619860-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:·35cb2aa47c66c9d3980ab179d477bf059d02dbeadd03a5a62bc83596b2ac7e0c·...·]-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="1299306253-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ExclMessage</span><span·class="p"·data-group-id="1299306253-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:·4eb5faf60e0099e03bcba7117da92d053e3ebef0dbbd0fa14a7d76d2b3dc3bae·...·]-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="5388227004-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">PartMessage</span><span·class="p"·data-group-id="5388227004-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:·b7c15dd5a6da462ac9c76a7b3f2a45d26020b1244d31bf881db50c61ae102497·...·]-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="5486922908-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">PartMessage</span><span·class="p"·data-group-id="5486922908-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:·ba59aa315a558496a65e4bb67917e8a2885b749214189066e40ec16d755773a5·...·]-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="5271851401-1">{</span><span·class="ss">exclusive_decode</span><span·class="p">,</span><span·class="p"·data-group-id="5271851401-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:·e215e9b7509df05e5e57e03ac79947553a2586f85b0c74f261fa7249a55346aa·...·]-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="7836627066-1">{</span><span·class="ss">exclusive_decode</span><span·class="p">,</span><span·class="p"·data-group-id="7836627066-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:·75c334f7dcad4219bc64ec29cfea9064ea185e054054638d1a410de292115983·...·]-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="5271851401-3">(</span><span·class="p"·data-group-id="5271851401-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="7836627066-3">(</span><span·class="p"·data-group-id="7836627066-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="5271851401-4">[</span><span·class="n">DecodeInstruction</span><span·class="p"·data-group-id="5271851401-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="7836627066-4">[</span><span·class="n">DecodeInstruction</span><span·class="p"·data-group-id="7836627066-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="5271851401-5">{</span><span·class="n">ExclusiveDecodeFunctionName</span><span·class="p">,</span><span·class="n">TypeList</span><span·class="p"·data-group-id="5271851401-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="7836627066-5">{</span><span·class="n">ExclusiveDecodeFunctionName</span><span·class="p">,</span><span·class="n">TypeList</span><span·class="p"·data-group-id="7836627066-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="5271851401-6">(</span><span·class="p"·data-group-id="5271851401-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="7836627066-6">(</span><span·class="p"·data-group-id="7836627066-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="5271851401-7">[</span><span·class="n">TopType</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="5271851401-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="7836627066-7">[</span><span·class="n">TopType</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="7836627066-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="5271851401-8">[</span><span·class="n">Element</span><span·class="p"·data-group-id="5271851401-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="7836627066-8">[</span><span·class="n">Element</span><span·class="p"·data-group-id="7836627066-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="5271851401-9">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">parts</span><span·class="p"·data-group-id="5271851401-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="7836627066-9">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">parts</span><span·class="p"·data-group-id="7836627066-9">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
186 ··········</span><span·class="p"·data-group-id="5271851401-10">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">undecoded</span><span·class="p"·data-group-id="5271851401-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">186 ··········</span><span·class="p"·data-group-id="7836627066-10">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">undecoded</span><span·class="p"·data-group-id="7836627066-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
187 ··········</span><span·class="p"·data-group-id="5271851401-11">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="5271851401-11">}</span><span·class="w">187 ··········</span><span·class="p"·data-group-id="7836627066-11">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="7836627066-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="5271851401-12">(</span><span·class="p"·data-group-id="5271851401-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="7836627066-12">(</span><span·class="p"·data-group-id="7836627066-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="5271851401-13">(</span><span·class="p"·data-group-id="5271851401-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="7836627066-13">(</span><span·class="p"·data-group-id="7836627066-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="2248870075-1">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2248870075-2">[</span><span·class="ss">ber</span><span·class="p">,</span><span·class="ss">asn1config</span><span·class[·...·truncated·by·diffoscope;·len:·144,·SHA:·9b8a30ec4e9d9f9d02a638b0847f3a5839e5b50d6a0bd9153831aef3a654239b·...·]-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="6067131228-1">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6067131228-2">[</span><span·class="ss">ber</span><span·class="p">,</span><span·class="ss">asn1config</span><span·class[·...·truncated·by·diffoscope;·len:·144,·SHA:·e6f21d57789511e26e83e75b49a937f4b0b97ebd3c709ca71b433ede9520f6f8·...·]-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="2248870075-3">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p"·data-group-id="2248870075-3">)</span><span·class="p">.</span><span·class="w">266 2&gt;·</span><span·class="nf">rr</span><span·class="p"·data-group-id="6067131228-3">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p"·data-group-id="6067131228-3">)</span><span·class="p">.</span><span·class="w">
267 </span><span·class="p"·data-group-id="2248870075-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="2248870075-4">]</span><span·class="gp·unselectable">267 </span><span·class="p"·data-group-id="6067131228-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="6067131228-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="2248870075-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="2248870075-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="6067131228-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="6067131228-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="2248870075-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·c[·...·truncated·by·diffoscope;·len:·86,·SHA:·972e849cceefbb76f7fdcb931c547c19b3d7500201ea8ad2dc6ef31d83f5acc1·...·]-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="6067131228-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·c[·...·truncated·by·diffoscope;·len:·86,·SHA:·bf262052df6420c66b8790339478b7c9864fcdf5133657c1cad96773690ee6d8·...·]-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="2248870075-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="2248870075-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="6067131228-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="6067131228-7">)</span><span·class="p">.</span><span·class="w">
271 </span><span·class="p"·data-group-id="2248870075-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><[·...·truncated·by·diffoscope;·len:·191,·SHA:·bf61d7a6d29189b28e017f114fd2c000a41bdd1a42e834bb3f74b916649f0601·...·]-8">&gt;&gt;</span><span·class="gp·unselectable">271 </span><span·class="p"·data-group-id="6067131228-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><[·...·truncated·by·diffoscope;·len:·191,·SHA:·97be04ec83785af6c1a8fa64311beaa153deea3be8b4d7fb43608a6da243583b·...·]-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="2248870075-9">(</span><span·class="n">ButtonBytes</span><span·class="p"·data-group-id="2248870075-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="6067131228-9">(</span><span·class="n">ButtonBytes</span><span·class="p"·data-group-id="6067131228-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="2248870075-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="2248870075-11">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·284,·SHA:·9a2d1bb3766479f44d634af25ef428363fa6fce2b03cbf8051a18b528be3706a·...·]-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="6067131228-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="6067131228-11">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·284,·SHA:·7370ee20a1c2d861e6b37e986d9e3baae50f31479d93819a812a9485008d5622·...·]-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="2248870075-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="6067131228-10">}</span><span·class="gp·unselectable">
275 6&gt;·</span><span·class="p"·data-group-id="2248870075-13">{</span><span·class="n">UndecKey</span><span·class="p">,</span><span·class="n">UndecBytes</span><span·class="p"·data-group-id="2248870075-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="6067131228-13">{</span><span·class="n">UndecKey</span><span·class="p">,</span><span·class="n">UndecBytes</span><span·class="p"·data-group-id="6067131228-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="2248870075-14">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2248870075-15">&lt;&lt;</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·128,·SHA:·1cc79b34efdb0fc84678654a1afdc1728d91d3604106be24f3b3b484b7a8b1ce·...·]-14">}</span><span·class="gp·unselectable">276 </span><span·class="p"·data-group-id="6067131228-14">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6067131228-15">&lt;&lt;</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·128,·SHA:·e16736328048b5f90a20f847faac70f0e57064c2284a25fc4dd9dc475f6ced63·...·]-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="2248870075-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="2248870075-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="6067131228-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="6067131228-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="2248870075-17">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="p"·data-group-id="2248870075-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="6067131228-17">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="p"·data-group-id="6067131228-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="2248870075-19">[</span><span·class="p"·data-group-id="2248870075-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="2248870[·...·truncated·by·diffoscope;·len:·3,·SHA:·32cd1acb86cd1ab3fba454893e8775ccd291dc99df6c57ffcf56058c8832dbab·...·]-20">}</span><span·class="p">,</span><span·class="w">281 ···</span><span·class="p"·data-group-id="6067131228-19">[</span><span·class="p"·data-group-id="6067131228-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="6067131[·...·truncated·by·diffoscope;·len:·3,·SHA:·9d693eeee1d1899cbc50b6d45df953d3835acf28ee869879b45565fccc814765·...·]-20">}</span><span·class="p">,</span><span·class="w">
282 ····</span><span·class="p"·data-group-id="2248870075-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="2248870075-21">}</span><span·class="p">,</span><span·class="w">282 ····</span><span·class="p"·data-group-id="6067131228-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="6067131228-21">}</span><span·class="p">,</span><span·class="w">
283 ····</span><span·class="p"·data-group-id="2248870075-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="2248870075-22">}</span><span·class="p">,</span><span·class="w">283 ····</span><span·class="p"·data-group-id="6067131228-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="6067131228-22">}</span><span·class="p">,</span><span·class="w">
284 ····</span><span·class="p"·data-group-id="2248870075-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="2248870075-23">}</span><span·class="p">,</span><span·class="w">284 ····</span><span·class="p"·data-group-id="6067131228-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="6067131228-23">}</span><span·class="p">,</span><span·class="w">
285 ····</span><span·class="p"·data-group-id="2248870075-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="2248870075-24">}</span><span·class="p"·data-group-id="224887[·...·truncated·by·diffoscope;·len:·4,·SHA:·57f689d614ab6b5bf94a06a957faba9a431b657f586ea7f0bfc92489dc840357·...·]-19">]</span><span·class="p">,</span><span·class="w">285 ····</span><span·class="p"·data-group-id="6067131228-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="6067131228-24">}</span><span·class="p"·data-group-id="606713[·...·truncated·by·diffoscope;·len:·4,·SHA:·6dfb97632210ac38a071667cf8be7df83a16178e12f1248e45b2a3d24b3b2bd1·...·]-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="2248870075-25">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="2248870075-26">[</span><span·class="p"·data-group-id="2248870075-27">{</span><span·class="ss">&#39;Action&#39;</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·559,·SHA:·41189e1cd183965a98099ef0d681ab8deca8787b2b2fafd8f47485f88cc60d31·...·]-17">}</span><span·class="p">.</span><span·class="w">287 ···</span><span·class="p"·data-group-id="6067131228-25">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="6067131228-26">[</span><span·class="p"·data-group-id="6067131228-27">{</span><span·class="ss">&#39;Action&#39;</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·559,·SHA:·c5cfe99329cb7083daf454a4b33b519da856535cf0528d69db74148675f840d0·...·]-17">}</span><span·class="p">.</span><span·class="w">
288 </span><span·class="p"·data-group-id="2248870075-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="2248870075-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="6067131228-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="6067131228-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="2248870075-31">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="2248870075-32">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·203,·SHA:·83466a4684b104d1150200f5864cab9f5fbd68beb9c4276adb1207be581ed6c4·...·]-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="6067131228-31">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="6067131228-32">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·203,·SHA:·d47ec58a3421e779016ec03ed895d82ac5fa2c595d7053fa2646c2a3a8ba7f9c·...·]-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="2248870075-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·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·4c237eee8da23f2ab980d4cbe6e12eb7b388a04fcb70ab03cfd65b40d471731b·...·]-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="6067131228-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·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·98ae55c84f0cdb08ae44ad328394ef96e85a50b57a2c46fd93536d87884223b8·...·]-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="2248870075-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·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·0b1d5335f03f55a2461a8ecd492d07da858c56c9ec97a3b920273e00b3366c5e·...·]-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="6067131228-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·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·1b1d8589e28dd820104dc8612861f8587ae6e897b45226f141dc09bf6642e122·...·]-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="2248870075-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·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·0b1d5335f03f55a2461a8ecd492d07da858c56c9ec97a3b920273e00b3366c5e·...·]-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="6067131228-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·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·1b1d8589e28dd820104dc8612861f8587ae6e897b45226f141dc09bf6642e122·...·]-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="2248870075-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·cl[·...·truncated·by·diffoscope;·len:·140,·SHA:·bdefe229322fc57c0860434b4a589ba8710a913f3994ce52f04619804d7f918d·...·]-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="6067131228-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·cl[·...·truncated·by·diffoscope;·len:·140,·SHA:·6d6dbbaf1b3018e7875ef3a404ccf4db71217c68c79144f9160008fd1ea33280·...·]-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="2248870075-37">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="2248870075-38">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="2248870075-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="6067131228-37">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="6067131228-38">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="6067131228-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="2248870075-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·c[·...·truncated·by·diffoscope;·len:·356,·SHA:·25261ebc0dc57720d82b49a03d3a7091d0d31e90b81fcffeb670465ef32d5215·...·]-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="6067131228-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·c[·...·truncated·by·diffoscope;·len:·356,·SHA:·155f1da11f294dfd062bc605048e2dbfef4dc8a6ecc9d895e6acbe2d9697e7a2·...·]-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="2248870075-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="2248870075-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="6067131228-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="6067131228-41">)</span><span·class="p">.</span><span·class="w">
298 </span><span·class="p"·data-group-id="2248870075-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="6067131228-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="2248870075-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="6067131228-42">&gt;&gt;</span><span·class="gp·unselectable">
300 10&gt;·</span><span·class="p"·data-group-id="2248870075-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="2248870075-44">{</span><span·class="ss">buttonList</span><span·class="o">=</span><sp[·...·truncated·by·diffoscope;·len:·300,·SHA:·e4b44cbc2e864970170d6684d43f865224124d5a2d16b23e85501991da6f3db0·...·]-43">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">300 10&gt;·</span><span·class="p"·data-group-id="6067131228-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="6067131228-44">{</span><span·class="ss">buttonList</span><span·class="o">=</span><sp[·...·truncated·by·diffoscope;·len:·300,·SHA:·4019068407ab67c3ed5c17145f27cdede72c2291257cbe4892337eeda2d0495a·...·]-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="2248870075-46">(</span><span·class="n">WindowBytes</span><span·class="p"·data-group-id="2248870075-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="6067131228-46">(</span><span·class="n">WindowBytes</span><span·class="p"·data-group-id="6067131228-46">)</span><span·class="p">.</span><span·class="w">
302 </span><span·class="p"·data-group-id="2248870075-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="2248870075-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="6067131228-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="6067131228-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="2248870075-49">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2248870075-50">[</span><span·class="p"·data-group-id="2248870075-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="6067131228-49">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6067131228-50">[</span><span·class="p"·data-group-id="6067131228-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="2248870075-51">&gt;&gt;</span><span·class="p">,</span><span·class="w">304 ·······················································</span><span·class="mi">255</span><span·class="p"·data-group-id="6067131228-51">&gt;&gt;</span><span·class="p">,</span><span·class="w">
305 ·····················································</span><span·class="p"·data-group-id="2248870075-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><s[·...·truncated·by·diffoscope;·len:·188,·SHA:·990d82b21ad1d682a3a7d6f15d347ed6eb93efe3142bbbebf2674f5788d4aa62·...·]-52">&gt;&gt;</span><span·class="p">,</span><span·class="w">305 ·····················································</span><span·class="p"·data-group-id="6067131228-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><s[·...·truncated·by·diffoscope;·len:·188,·SHA:·bd558f565896b7a0f398f7f34c0559db02ae76eba8d04be5e16e76f96df5795a·...·]-52">&gt;&gt;</span><span·class="p">,</span><span·class="w">
306 ·····················································</span><span·class="p"·data-group-id="2248870075-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><s[·...·truncated·by·diffoscope;·len:·190,·SHA:·ed221db07176ae80d42dae6f67b50b4ab8df44f8abf260d7b8e65df8deda7b2b·...·]-53">&gt;&gt;</span><span·class="p">,</span><span·class="w">306 ·····················································</span><span·class="p"·data-group-id="6067131228-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><s[·...·truncated·by·diffoscope;·len:·190,·SHA:·f70fd16a3cf8ce547a84fba65b155a736109259e4122cc0cbf49e529f6e4438d·...·]-53">&gt;&gt;</span><span·class="p">,</span><span·class="w">
307 ·····················································</span><span·class="p"·data-group-id="2248870075-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><s[·...·truncated·by·diffoscope;·len:·190,·SHA:·ed221db07176ae80d42dae6f67b50b4ab8df44f8abf260d7b8e65df8deda7b2b·...·]-54">&gt;&gt;</span><span·class="p">,</span><span·class="w">307 ·····················································</span><span·class="p"·data-group-id="6067131228-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><s[·...·truncated·by·diffoscope;·len:·190,·SHA:·f70fd16a3cf8ce547a84fba65b155a736109259e4122cc0cbf49e529f6e4438d·...·]-54">&gt;&gt;</span><span·class="p">,</span><span·class="w">
308 ·····················································</span><span·class="p"·data-group-id="2248870075-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><s[·...·truncated·by·diffoscope;·len:·303,·SHA:·04026e8d9993f442d3805b30ccdac748794a8ba820e01e59bb4979ae08472793·...·]-49">}</span><span·class="p">,</span><span·class="w">308 ·····················································</span><span·class="p"·data-group-id="6067131228-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><s[·...·truncated·by·diffoscope;·len:·303,·SHA:·36056ea1daa5929f6f495e7ea4d4da24ebf115ae4629b8ba2e52fcb53deb4085·...·]-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="2248870075-56">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2248870075-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="6067131228-56">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6067131228-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="2248870075-57">&gt;&gt;</span><span·class="p"·data-group-id="2248870075-56">}</span><span·class="p"·data-group-id="2248870075-48">}</span><span·class="p"·data-group-id="2248870075-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="6067131228-57">&gt;&gt;</span><span·class="p"·data-group-id="6067131228-56">}</span><span·class="p"·data-group-id="6067131228-48">}</span><span·class="p"·data-group-id="6067131228-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="2248870075-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="2248870075-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="6067131228-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="6067131228-58">)</span><span·class="p">.</span><span·class="w">
314 </span><span·class="p"·data-group-id="2248870075-59">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="2248870075-60">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·203,·SHA:·83466a4684b104d1150200f5864cab9f5fbd68beb9c4276adb1207be581ed6c4·...·]-60">}</span><span·class="p">,</span><span·class="w">314 </span><span·class="p"·data-group-id="6067131228-59">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="6067131228-60">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·203,·SHA:·d47ec58a3421e779016ec03ed895d82ac5fa2c595d7053fa2646c2a3a8ba7f9c·...·]-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="2248870075-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·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·4c237eee8da23f2ab980d4cbe6e12eb7b388a04fcb70ab03cfd65b40d471731b·...·]-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="6067131228-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·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·98ae55c84f0cdb08ae44ad328394ef96e85a50b57a2c46fd93536d87884223b8·...·]-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="2248870075-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·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·0b1d5335f03f55a2461a8ecd492d07da858c56c9ec97a3b920273e00b3366c5e·...·]-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="6067131228-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·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·1b1d8589e28dd820104dc8612861f8587ae6e897b45226f141dc09bf6642e122·...·]-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="2248870075-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·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·0b1d5335f03f55a2461a8ecd492d07da858c56c9ec97a3b920273e00b3366c5e·...·]-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="6067131228-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·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·1b1d8589e28dd820104dc8612861f8587ae6e897b45226f141dc09bf6642e122·...·]-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="2248870075-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·cl[·...·truncated·by·diffoscope;·len:·140,·SHA:·3975c58c9a4773122475fc1ff65b5107f9363fe64933b97c228581c0e8e8d7cf·...·]-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="6067131228-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·cl[·...·truncated·by·diffoscope;·len:·140,·SHA:·306bb85f987505b8bd445e0e18cda1a1f06024c045ec079cfcbf35970d519e3d·...·]-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="2248870075-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="2248870075-66">(</span><span·class="n">UndecWindowParts</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·c3dbb9b885ece263ef9f694b1cf8ba03442e59b5146a08ed16998e9565c81cd1·...·]-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="6067131228-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="6067131228-66">(</span><span·class="n">UndecWindowParts</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·ff5fd45cff9a34b445350d610edd9e28668e844a9f42a44be10ca1e2a201b966·...·]-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="2248870075-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·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·0b1d5335f03f55a2461a8ecd492d07da858c56c9ec97a3b920273e00b3366c5e·...·]-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="6067131228-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·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·1b1d8589e28dd820104dc8612861f8587ae6e897b45226f141dc09bf6642e122·...·]-67">}</span><span·class="gp·unselectable">
321 13&gt;·</span><span·class="p"·data-group-id="2248870075-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="2248870075-69">{</span><span·class="ss">actions</span><span·class="o">=</span><span·[·...·truncated·by·diffoscope;·len:·518,·SHA:·0f6d8f9a6dc8146d1cee4ebb365cffc003fda6e5345487a7744f1c7b52791eaf·...·]-71">)</span><span·class="p">.</span><span·class="w">321 13&gt;·</span><span·class="p"·data-group-id="6067131228-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="6067131228-69">{</span><span·class="ss">actions</span><span·class="o">=</span><span·[·...·truncated·by·diffoscope;·len:·518,·SHA:·528ff8c42d2599d7bc14cf6fdd5362de8201f0a33d1ca3c5c600b2d1802376bf·...·]-71">)</span><span·class="p">.</span><span·class="w">
322 </span><span·class="p"·data-group-id="2248870075-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="2248870075-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="6067131228-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="6067131228-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="2248870075-74">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2248870075-75">[</span><span·class="p"·data-group-id="2248870075-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="6067131228-74">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6067131228-75">[</span><span·class="p"·data-group-id="6067131228-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="2248870075-76">&gt;&gt;</span><span·class="p">,</span><span·class="w">324 ·······················································</span><span·class="mi">255</span><span·class="p"·data-group-id="6067131228-76">&gt;&gt;</span><span·class="p">,</span><span·class="w">
325 ·····················································</span><span·class="p"·data-group-id="2248870075-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><s[·...·truncated·by·diffoscope;·len:·188,·SHA:·990d82b21ad1d682a3a7d6f15d347ed6eb93efe3142bbbebf2674f5788d4aa62·...·]-77">&gt;&gt;</span><span·class="p">,</span><span·class="w">325 ·····················································</span><span·class="p"·data-group-id="6067131228-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><s[·...·truncated·by·diffoscope;·len:·188,·SHA:·bd558f565896b7a0f398f7f34c0559db02ae76eba8d04be5e16e76f96df5795a·...·]-77">&gt;&gt;</span><span·class="p">,</span><span·class="w">
326 ·····················································</span><span·class="p"·data-group-id="2248870075-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><s[·...·truncated·by·diffoscope;·len:·190,·SHA:·ed221db07176ae80d42dae6f67b50b4ab8df44f8abf260d7b8e65df8deda7b2b·...·]-78">&gt;&gt;</span><span·class="p">,</span><span·class="w">326 ·····················································</span><span·class="p"·data-group-id="6067131228-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><s[·...·truncated·by·diffoscope;·len:·190,·SHA:·f70fd16a3cf8ce547a84fba65b155a736109259e4122cc0cbf49e529f6e4438d·...·]-78">&gt;&gt;</span><span·class="p">,</span><span·class="w">
327 ·····················································</span><span·class="p"·data-group-id="2248870075-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><s[·...·truncated·by·diffoscope;·len:·190,·SHA:·ed221db07176ae80d42dae6f67b50b4ab8df44f8abf260d7b8e65df8deda7b2b·...·]-79">&gt;&gt;</span><span·class="p">,</span><span·class="w">327 ·····················································</span><span·class="p"·data-group-id="6067131228-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><s[·...·truncated·by·diffoscope;·len:·190,·SHA:·f70fd16a3cf8ce547a84fba65b155a736109259e4122cc0cbf49e529f6e4438d·...·]-79">&gt;&gt;</span><span·class="p">,</span><span·class="w">
328 ·····················································</span><span·class="p"·data-group-id="2248870075-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><s[·...·truncated·by·diffoscope;·len:·303,·SHA:·a30a4774aeb1004b28e12d2e1ea92d03a6d12fe7bdb995e05ae20e55f01bd509·...·]-74">}</span><span·class="p">,</span><span·class="w">328 ·····················································</span><span·class="p"·data-group-id="6067131228-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><s[·...·truncated·by·diffoscope;·len:·303,·SHA:·6f32272104c242141143c081ed4ebfb19bbe1ec2563ccf2fc5d4139798ef8126·...·]-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="2248870075-81">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2248870075-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="6067131228-81">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6067131228-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="2248870075-82">&gt;&gt;</span><span·class="p"·data-group-id="2248870075-81">}</span><span·class="p"·data-group-id="2248870075-73">}</span><span·class="p"·data-group-id="2248870075-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="6067131228-82">&gt;&gt;</span><span·class="p"·data-group-id="6067131228-81">}</span><span·class="p"·data-group-id="6067131228-73">}</span><span·class="p"·data-group-id="6067131228-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="2248870075-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="2248870075-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="6067131228-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="6067131228-83">)</span><span·class="p">.</span><span·class="w">
334 </span><span·class="p"·data-group-id="2248870075-84">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="2248870075-85">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="2248870075-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="6067131228-84">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="6067131228-85">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="6067131228-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="2248870075-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·c[·...·truncated·by·diffoscope;·len:·248,·SHA:·6c153124ddd18e4126f1effb943977077b881976723cbebcb528a0cb7859bc56·...·]-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="6067131228-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·c[·...·truncated·by·diffoscope;·len:·248,·SHA:·03e047b7e575bf4b60623318911d801b20135351220757bcf9484d5f6e4109f4·...·]-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.86 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.3.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="0441504452-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="0441504452-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·273,·SHA:·82fb40b9452460084fb2fbfcf5886bebec6aee04e325508c9d6c2b2a1b1452f9·...·]-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="0723418607-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="0723418607-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·273,·SHA:·57befd56f3c7fefe5d989425ce6fdc45ad053d15fc80007f9d2f55f16696763d·...·]-2">)</span><span·class="p">,</span><span·class="w">
488 </span><span·class="p"·data-group-id="0441504452-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="0441504452-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·272,·SHA:·3c8b050787cb7e6968945961cbbfe2d048140f74b379e0c5c3e7b105d02f10cf·...·]-4">)</span><span·class="p">,</span><span·class="w">488 </span><span·class="p"·data-group-id="0723418607-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="0723418607-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·272,·SHA:·bea2d88d1e282d1b5ca3f7787abb07d765e831a12141e91843563473f53a9c70·...·]-4">)</span><span·class="p">,</span><span·class="w">
489 </span><span·class="p"·data-group-id="0441504452-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="0441504452-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·272,·SHA:·fe06f8130999f308a51aef0886b224655426cf56e47f4785585b416982e20ac8·...·]-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="0723418607-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="0723418607-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·272,·SHA:·a48a319f3abcb6429d2a710216942bb5de3070a6a7a2df260f5df35ffb46dcbb·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>553 <p>Copyright·©·1996-2025·<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.3.4/doc/html/notes.html
    
Offset 151, 15 lines modifiedOffset 151, 15 lines modified
151 </h3>151 </h3>
152 <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"·class="section-heading">152 <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"·class="section-heading">
153 ··<a·href="#improvements-and-new-features"·class="hover-link">153 ··<a·href="#improvements-and-new-features"·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">Improvements·and·New·Features</span>156 ··<span·class="text">Improvements·and·New·Features</span>
157 </h3>157 </h3>
158 <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="9195995950-1">(</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9195995950-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:·576693f9793a96157bfc66f5723ba32e8ec0e866e24d337c5b7a7f4ce6b8ba59·...·]-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">158 <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="4207455633-1">(</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4207455633-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:·e0af4faec8b56f3a85c3dde39562a392bfd50bd65bb91b84182a9e19814f09a1·...·]-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">
159 ··<a·href="#asn1-5-3-2"·class="hover-link">159 ··<a·href="#asn1-5-3-2"·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">Asn1·5.3.2</span>162 ··<span·class="text">Asn1·5.3.2</span>
163 </h2>163 </h2>
164 <h3·id="fixed-bugs-and-malfunctions-2"·class="section-heading">164 <h3·id="fixed-bugs-and-malfunctions-2"·class="section-heading">
165 ··<a·href="#fixed-bugs-and-malfunctions-2"·class="hover-link">165 ··<a·href="#fixed-bugs-and-malfunctions-2"·class="hover-link">
Offset 1595, 15 lines modifiedOffset 1595, 15 lines modified
1595 ······<p·class="built-using">1595 ······<p·class="built-using">
1596 ········Built·using1596 ········Built·using
1597 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1597 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1598 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1598 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1599 ······</p>1599 ······</p>
1600 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1600 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1601 ····</footer>1601 ····</footer>
1602 ··</div>1602 ··</div>
1603 </main>1603 </main>
1604 </div>1604 </div>
1605 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1605 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1606 ··<script>1606 ··<script>
1607 ··let·initialized·=·false;1607 ··let·initialized·=·false;
636 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.3.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.48 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.27.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>316 <p>Copyright·©·1996-2025·<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.27.7/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="8280191352-1">(</span><span·class="p">_</span><span·class="n">Config</span><span·class="p"·data-group-id="8280191352-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="9835807883-1">(</span><span·class="p">_</span><span·class="n">Config</span><span·class="p"·data-group-id="9835807883-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
219 ····</span><span·class="p"·data-group-id="8280191352-2">{</span><span·class="ss">started</span><span·class="p">,</span><span·class="n">ServerId</span><span·class="p"·data-group-id="8280191352-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:·837d45b8e23a63e4674754626c305a9812af9f52ac76394e9ac40ff0c0bc8e44·...·]-3">)</span><span·class="p">,</span><span·class="w">219 ····</span><span·class="p"·data-group-id="9835807883-2">{</span><span·class="ss">started</span><span·class="p">,</span><span·class="n">ServerId</span><span·class="p"·data-group-id="9835807883-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:·3ed70679089f2cc66f8a9b01c44e74de0b1b39043492baa94079b79319f6917b·...·]-3">)</span><span·class="p">,</span><span·class="w">
220 ····</span><span·class="p"·data-group-id="8280191352-4">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="8280191352-5">[</span><span·class="p"·data-group-id="8280191352-5">]</span><span·class="p"·data-group-id="8280191352-4">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·269,·SHA:·27bcb4564460db8d0fcf02452cda0c4bf18c16616826b808d69221b2474eff54·...·]-6">)</span><span·class="p">,</span><span·class="w">220 ····</span><span·class="p"·data-group-id="9835807883-4">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="9835807883-5">[</span><span·class="p"·data-group-id="9835807883-5">]</span><span·class="p"·data-group-id="9835807883-4">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·269,·SHA:·5a0c8b69136cf5f7cb49313d14cdf295d27623707aa50f837bf5ec7c9d301ca7·...·]-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="8280191352-7">(</span><span·class="p"·data-group-id="8280191352-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="9835807883-7">(</span><span·class="p"·data-group-id="9835807883-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="8280191352-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="8280191352-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="9835807883-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="9835807883-8">)</span><span·class="p">,</span><span·class="w">
223 ····</span><span·class="p"·data-group-id="8280191352-9">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="8280191352-10">[</span><span·class="n">MyId</span><span·class="p"·data-group-id="8280191352-10">]</span><span·class="p"·data-group-id="8280191352-9"[·...·truncated·by·diffoscope;·len:·299,·SHA:·661309b94c7b3c764a7b6f0012d2ac736254a3bc78806f48e92fc8c893bb2d8e·...·]-11">)</span><span·class="p">,</span><span·class="w">223 ····</span><span·class="p"·data-group-id="9835807883-9">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="9835807883-10">[</span><span·class="n">MyId</span><span·class="p"·data-group-id="9835807883-10">]</span><span·class="p"·data-group-id="9835807883-9"[·...·truncated·by·diffoscope;·len:·299,·SHA:·340a1b5a1b318eecc40a82a2ffd6182642c84cb46bfd56803862c49280b8baaf·...·]-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="8280191352-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="8280191352-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="9835807883-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="9835807883-12">)</span><span·class="p">,</span><span·class="w">
225 ····</span><span·class="p"·data-group-id="8280191352-13">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="8280191352-14">[</span><span·class="p"·data-group-id="8280191352-14">]</span><span·class="p"·data-group-id="8280191352-13">}</span><span·class="w">[·...·truncated·by·diffoscope;·len:·274,·SHA:·4baa8c11aba12542e880a1889e76cf03a8238d7b7fc356a402f0949f59d1cd67·...·]-15">)</span><span·class="p">,</span><span·class="w">225 ····</span><span·class="p"·data-group-id="9835807883-13">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="9835807883-14">[</span><span·class="p"·data-group-id="9835807883-14">]</span><span·class="p"·data-group-id="9835807883-13">}</span><span·class="w">[·...·truncated·by·diffoscope;·len:·274,·SHA:·a42cfc98eb69856d8e96ce31e35464fa54f96da97bf9125f3e165786fb430169·...·]-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="8280191352-16">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="8280191352-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="9835807883-16">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="9835807883-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>304 <p>Copyright·©·1996-2025·<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.27.7/doc/html/common_test.epub
7.43 KB
zipinfo {}
Max HTML report size reached
272 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·Jul·06·2026·03:06:46,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:56:44,·uncompressed·size·20,·method=store
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.52 KB
OEBPS/content.opf
2.49 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.27.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>184 <p>Copyright·©·1996-2025·<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.27.7/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="4474933804-1">{</span><span·class="n">CfgVarName</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="4474933804-1">}</span><span·class="p">.</span></code></pre><p>where</p><pre><code·class="makeup·erlang"·translate="no"[·...·truncated·by·diffoscope;·len:·228,·SHA:·c97c90cfe68d9738cb2dd48a6c613942dd3bffedbeb76662076f130e6245dcaa·...·]-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="7824085332-1">{</span><span·class="n">CfgVarName</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="7824085332-1">}</span><span·class="p">.</span></code></pre><p>where</p><pre><code·class="makeup·erlang"·translate="no"[·...·truncated·by·diffoscope;·len:·228,·SHA:·5b209dd8fa8c8d9a24823cbc4304929d3c65c43517830f0bf6e97cea998c44a8·...·]-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="8631953072-2">(</span><span·class="p"·data-group-id="8631953072-2">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8631953072-3">[</span><span·class="p"·data-group-id="8631953072-4">{</span><spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·09bd16cba79fe7a0fb40e2ae076c683351cecc3158dc10f769396afb6b47e69d·...·]-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="8531660866-2">(</span><span·class="p"·data-group-id="8531660866-2">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8531660866-3">[</span><span·class="p"·data-group-id="8531660866-4">{</span><spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·258e8d660fc896060d5cfafd9edb62dd67b696eae8983e5ee41842ed220a959c·...·]-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="3362444573-1">(</span><span·class="p"·data-group-id="3362444573-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="8472405122-1">(</span><span·class="p"·data-group-id="8472405122-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="p"·data-group-id="3362444573-2">[</span><span·class="p"·data-group-id="3362444573-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:·0be9823a0c1892e69173902dff67fc72c8026f63bc1eda13767655f72a6e9477·...·]-2">]</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="p"·data-group-id="8472405122-2">[</span><span·class="p"·data-group-id="8472405122-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:·bea8b7133e5734cd38ec8134c378b3a986a95e67fc09bf3a5ed6cadbd20cda7a·...·]-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="3362444573-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3362444573-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="8472405122-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8472405122-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="3362444573-5">(</span><span·class="ss">domain</span><span·class="p"·data-group-id="3362444573-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="8472405122-5">(</span><span·class="ss">domain</span><span·class="p"·data-group-id="8472405122-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="1022062777-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1022062777-2">[</span><span·class="p"·data-group-id="1022062777-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·89,·SHA:·e2a27539757e93c5b0d2145c60f588c8400890c4267610388fe7748fb1ce9739·...·]-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="5715160115-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5715160115-2">[</span><span·class="p"·data-group-id="5715160115-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·89,·SHA:·74f322a9ac98856f5b76121ee1cf199ebf721c980fcb4009ade0b501d15a79da·...·]-3">}</span><span·class="p">,</span><span·class="w">
265 ············</span><span·class="p"·data-group-id="1022062777-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="1022062777-4">}</span><span·class="p">,</span><span·class="w">265 ············</span><span·class="p"·data-group-id="5715160115-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="5715160115-4">}</span><span·class="p">,</span><span·class="w">
266 ············</span><span·class="p"·data-group-id="1022062777-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="1022062777-5">}</span><span·class="p"·data-group-id="1022062777-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·e20d5ae2e8952c8fd387ae1b20b85f14a2f92ed83bb1340323c981c79b328507·...·]-1">}</span><span·class="p">.</span><span·class="w">266 ············</span><span·class="p"·data-group-id="5715160115-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="5715160115-5">}</span><span·class="p"·data-group-id="5715160115-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·062badf195c99bd5b3c0696b355ebde56a92af6f81d08af2080ca3fd61e70eb7·...·]-1">}</span><span·class="p">.</span><span·class="w">
  
267 </span><span·class="p"·data-group-id="1022062777-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="1022062777-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="5715160115-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="5715160115-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="5169286521-1">[</span><span·class="p"·data-group-id="5169286521-2">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5169286521-3">[</span><span·class="p"·data-group-id="5169286521-4">{</sp[·...·truncated·by·diffoscope;·len:·821,·SHA:·0a5fd65371fe937fe83e72becff53366f161c49e50acba882b471b66f988b933·...·]-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="5140458346-1">[</span><span·class="p"·data-group-id="5140458346-2">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5140458346-3">[</span><span·class="p"·data-group-id="5140458346-4">{</sp[·...·truncated·by·diffoscope;·len:·821,·SHA:·407bb4c1ef43ae04160945dd9f9e0439755537611ed7248f4f0d40d698c170e9·...·]-2">}</span><span·class="p">,</span><span·class="w">
288 ·</span><span·class="p"·data-group-id="5169286521-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="5169286521-7">}</span><span·class="p"·data-group-id="5169286521-1">]</span></code></pre><h2·id="examples-of-configuration-data-handling"·class="section-heading">288 ·</span><span·class="p"·data-group-id="5140458346-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="5140458346-7">}</span><span·class="p"·data-group-id="5140458346-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="1912977321-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1912977321-2">[</span><span·class="p"·data-group-id="1912977321-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·88,·SHA:·092f44967590947b66dcf17c2656eeb010476b521bc23c8d2565181cc357330c·...·]1-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="7263302151-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7263302151-2">[</span><span·class="p"·data-group-id="7263302151-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·88,·SHA:·eb9ca048c8ca41a2da52bfb1348e7dea43123f6e9cd0571c0b6c617d435b93b6·...·]1-3">}</span><span·class="p">,</span><span·class="w">
296 ············</span><span·class="p"·data-group-id="1912977321-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="1912977321-4">}</span><span·class="p">,</span><span·class="w">296 ············</span><span·class="p"·data-group-id="7263302151-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="7263302151-4">}</span><span·class="p">,</span><span·class="w">
297 ············</span><span·class="p"·data-group-id="1912977321-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="1912977321-5">}</span><span·class="p"·data-group-id="1912977321-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·10,·SHA:·9b3334a04d9b8a52b1142bf39132cb5885c0f19af514e12103ffc76bf0da9edd·...·]1-1">}</span><span·class="p">.</span><span·class="w">297 ············</span><span·class="p"·data-group-id="7263302151-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="7263302151-5">}</span><span·class="p"·data-group-id="7263302151-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·10,·SHA:·c71e4fa7b3fc83379a290bae0162e5e4b86e88ab82b90b42b4647389e7ba4fcd·...·]1-1">}</span><span·class="p">.</span><span·class="w">
  
298 </span><span·class="p"·data-group-id="1912977321-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="1912977321-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="7263302151-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="7263302151-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="7485589791-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="7485589791-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="6116025481-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="6116025481-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
302 ····</span><span·class="p"·data-group-id="7485589791-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="7485589791-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:·167,·SHA:·b2d23b7931d89f9699d9a3d132eefd8c3959f71188542b3d70b20d77600bc6a4·...·]1-3">)</span><span·class="p">,</span><span·class="w">302 ····</span><span·class="p"·data-group-id="6116025481-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="6116025481-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:·167,·SHA:·0ca73a1dd9408f14282388fc0d029eb24721619fd3f25780b9da259e3e0ad753·...·]1-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="7485589791-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="7485589791-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="6116025481-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="6116025481-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="7485589791-5">(</span><span·class="ss">ftp</span><span·class="p"·data-group-id="7485589791-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="6116025481-5">(</span><span·class="ss">ftp</span><span·class="p"·data-group-id="6116025481-5">)</span><span·class="p">.</span><span·class="w">
  
306 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="7485589791-6">(</span><span·class="p"·data-group-id="7485589791-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="6116025481-6">(</span><span·class="p"·data-group-id="6116025481-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
307 ····</span><span·class="p"·data-group-id="7485589791-7">[</span><span·class="p"·data-group-id="7485589791-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="7485589791-8">}</span><span·class="p">,</span><span·class="w">307 ····</span><span·class="p"·data-group-id="6116025481-7">[</span><span·class="p"·data-group-id="6116025481-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="6116025481-8">}</span><span·class="p">,</span><span·class="w">
308 ·····</span><span·class="p"·data-group-id="7485589791-9">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="7485589791-9">}</span><span·class="p"·data-group-id="7485589791-7">]</span><span·class="p">.</span><span·class="w">308 ·····</span><span·class="p"·data-group-id="6116025481-9">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="6116025481-9">}</span><span·class="p"·data-group-id="6116025481-7">]</span><span·class="p">.</span><span·class="w">
  
309 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="7485589791-10">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7485589791-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="6116025481-10">(</span><span·class="n">Config</span><span·class="p"·data-group-id="6116025481-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="7485589791-11">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="7485589791-12">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="7485589791-12">)</span><span[·...·truncated·by·diffoscope;·len:·126,·SHA:·5438180761122490d541178839327a1072fea060fe596808dddcec0d76016c49·...·]1-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="6116025481-11">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="6116025481-12">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="6116025481-12">)</span><span[·...·truncated·by·diffoscope;·len:·126,·SHA:·a6fa27819a21deba7b5bacf1b22b31a33f1c3e08e5000eea47bb2d980c931e87·...·]1-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="7485589791-13">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="7485589791-14">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·183,·SHA:·91bac03d7e1c3e9b557a6bb4d0b1b9faa95e26e6da2d4a706bc4b5f34731bd9f·...·]1-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="6116025481-13">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="6116025481-14">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·183,·SHA:·286e2f3f4476a964709ffa60ea91fe81e9d53251812f8f65879f6ae0b1575722·...·]1-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="7485589791-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="7485589791-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="6116025481-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="6116025481-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="2041841169-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="2041841169-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="4778286517-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="4778286517-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
315 ····</span><span·class="p"·data-group-id="2041841169-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle1</span><span·class="p"·data-group-id="2041841169-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:·4c0efbf6fabb4a388b7a6d4e6b1bbabb83575d520de5f55218f29a0ad7140180·...·]-3">)</span><span·class="p">,</span><span·class="w">315 ····</span><span·class="p"·data-group-id="4778286517-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle1</span><span·class="p"·data-group-id="4778286517-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:·728c9d4360d62e378e23ebe054994f6efb51ed6fbfa7ad2eb1526b4b2b878a19·...·]-3">)</span><span·class="p">,</span><span·class="w">
316 ····</span><span·class="p"·data-group-id="2041841169-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle2</span><span·class="p"·data-group-id="2041841169-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:·3a05461d17057700229582bded1aebab2018959b61b8dbaae6321c24ea5ee826·...·]-5">)</span><span·class="p">,</span><span·class="w">316 ····</span><span·class="p"·data-group-id="4778286517-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle2</span><span·class="p"·data-group-id="4778286517-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:·98b20f865ea404eb973bc445b613728f143cdc5c415e7dd42e1c749ab04e190e·...·]-5">)</span><span·class="p">,</span><span·class="w">
317 ····</span><span·class="p"·data-group-id="2041841169-6">[</span><span·class="p"·data-group-id="2041841169-7">{</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="p"·data-group-id="2041841169-8">[</span><span·class="n">Handle1</span><span·class="p">,</span><span·class="n"[·...·truncated·by·diffoscope;·len:·263,·SHA:·a58ab27c576e4e37207ae0d99fe87288a721e60878d36f3bd73ac8ea447c93ba·...·]-6">]</span><span·class="p">.</span><span·class="w">317 ····</span><span·class="p"·data-group-id="4778286517-6">[</span><span·class="p"·data-group-id="4778286517-7">{</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="p"·data-group-id="4778286517-8">[</span><span·class="n">Handle1</span><span·class="p">,</span><span·class="n"[·...·truncated·by·diffoscope;·len:·263,·SHA:·af65935d6c5a7075c26cc36c47272e9b2fac63011e02c36d2bddfec8218e1022·...·]-6">]</span><span·class="p">.</span><span·class="w">
  
318 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="2041841169-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="2041841169-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="4778286517-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="4778286517-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="2041841169-10">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2041841169-11">(</span><span·class="n">Handle</span><span·class="p"·data-group-id="2041841169-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·214,·SHA:·6797e07b3fc5c851deecac9269c592fb3ce22e9ec2e658d6780220e010cbd484·...·]-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="4778286517-10">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4778286517-11">(</span><span·class="n">Handle</span><span·class="p"·data-group-id="4778286517-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·214,·SHA:·2c1c6b5f170e6106a31f85dc6be87092b0a2a34718b50da3348240181d5e92a5·...·]-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="2041841169-13">(</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="2041841169-13">)</span><span·class="p"·data-group-id="2041841169-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="4778286517-13">(</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="4778286517-13">)</span><span·class="p"·data-group-id="4778286517-10">)</span><span·class="p">.</span><span·class="w">
  
321 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="2041841169-14">(</span><span·class="p"·data-group-id="2041841169-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="4778286517-14">(</span><span·class="p"·data-group-id="4778286517-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
322 ····</span><span·class="p"·data-group-id="2041841169-15">[</span><span·class="p"·data-group-id="2041841169-16">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">ftp_host</span><span·class="p"·data-group-id="2041841169-16">}</span><span·class="p">,</span><span·class="w">322 ····</span><span·class="p"·data-group-id="4778286517-15">[</span><span·class="p"·data-group-id="4778286517-16">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">ftp_host</span><span·class="p"·data-group-id="4778286517-16">}</span><span·class="p">,</span><span·class="w">
323 ·····</span><span·class="p"·data-group-id="2041841169-17">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="2041841169-17">}</span><span·class="p"·data-group-id="2041841169-15">]</span><span·class="p">.</span><span·class="w">323 ·····</span><span·class="p"·data-group-id="4778286517-17">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="4778286517-17">}</span><span·class="p"·data-group-id="4778286517-15">]</span><span·class="p">.</span><span·class="w">
  
324 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="2041841169-18">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2041841169-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="4778286517-18">(</span><span·class="n">Config</span><span·class="p"·data-group-id="4778286517-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="2041841169-19">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="2041841169-20">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="2041841169-20">)</span><span[·...·truncated·by·diffoscope;·len:·127,·SHA:·0cc8f845b6edd1d4ba5a7bf1f10b497c37e8397362011a09109ce7ebff58f22c·...·]-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="4778286517-19">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="4778286517-20">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="4778286517-20">)</span><span[·...·truncated·by·diffoscope;·len:·127,·SHA:·dea92646294913935aa0b075f345d293ee851b9025a233aa1220acfc57310995·...·]-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="2041841169-21">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="2041841169-22">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·36e44056ef17af969f2ac4823f53a9d777bf78bb8371cc1edb002717343a910d·...·]-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="4778286517-21">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="4778286517-22">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·a67e16e2106fa792073884e5e42bce8f8f7d0942fd437227dd44f5cae2fb96e7·...·]-21">)</span><span·class="p">,</span><span·class="w">
327 ····</span><span·class="p"·data-group-id="2041841169-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="2041841169-23">]</span><span·class="w">·</span><span·class="o">=</s[·...·truncated·by·diffoscope;·len:·301,·SHA:·2d737463bdfdf68d347eaceeeb1cd74a94fea0fcdf561f56e803d2e2f2b9e6ad·...·]-24">)</span><span·class="p">,</span><span·class="w">327 ····</span><span·class="p"·data-group-id="4778286517-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="4778286517-23">]</span><span·class="w">·</span><span·class="o">=</s[·...·truncated·by·diffoscope;·len:·301,·SHA:·660c7ab3418cb824745270c1777dd2557200b1968aef4303ebcc4de6496034a5·...·]-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="2041841169-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="2041841169-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="4778286517-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="4778286517-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="2407849025-1">(</span><span·class="ss">config_driver</span><span·class="p"·data-group-id="2407849025-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="5231668465-1">(</span><span·class="ss">config_driver</span><span·class="p"·data-group-id="5231668465-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="2407849025-2">(</span><span·class="p"·data-group-id="2407849025-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:·132,·SHA:·f3951f402b125837ba9b30d20cdef1c1ab0ba3940aebf8532f8c2e7463f49f75·...·]5-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="5231668465-2">(</span><span·class="p"·data-group-id="5231668465-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:·132,·SHA:·3ca53d11a92f30654596fd6fe7d0f2b880c965171b50c70013020823467d072c·...·]5-2">)</span><span·class="p">.</span><span·class="w">
  
338 </span><span·class="nf">read_config</span><span·class="p"·data-group-id="2407849025-4">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="2407849025-4">)</span><span·class="p">-&gt;</span><span·class="w">338 </span><span·class="nf">read_config</span><span·class="p"·data-group-id="5231668465-4">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="5231668465-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="2407849025-5">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="2407849025-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="5231668465-5">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="5231668465-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.27.7/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="0950270837-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="0950270837-1">}</span><span·class="p">.</span><span·class="w">204 </span><span·class="p"·data-group-id="7725349549-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="7725349549-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="0950270837-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="0950270837-2">}</span><span·class="p">.</span><span·class="w">207 </span><span·class="p"·data-group-id="7725349549-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="7725349549-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="0950270837-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="0950270837-3">}</span><span·class="p">.</span><span·class="w">210 </span><span·class="p"·data-group-id="7725349549-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="7725349549-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="0950270837-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="0950270837-4">}</span><span·class="p">.</span><span·class="w">213 </span><span·class="p"·data-group-id="7725349549-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="7725349549-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="0950270837-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="0950270837-5">}</span><span·class="p">.</span><span·class="w">216 </span><span·class="p"·data-group-id="7725349549-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="7725349549-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="0950270837-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="0950270837-6">}</span><span·class="p">.</span><span·class="w">218 </span><span·class="p"·data-group-id="7725349549-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="7725349549-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="0950270837-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="0950270837-7">}</span><span·class="p">.</span><span·class="w">221 </span><span·class="p"·data-group-id="7725349549-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="7725349549-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="0950270837-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="0950270837-8">}</span><span·class="p">.</span><span·class="w">223 </span><span·class="p"·data-group-id="7725349549-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="7725349549-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="0950270837-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="0950270837-9">}</span><span·class="p">.</span><span·class="w">225 </span><span·class="p"·data-group-id="7725349549-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="7725349549-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="0950270837-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="0950270837-10">}</span><span·class="p">.</span><span·class="w">227 </span><span·class="p"·data-group-id="7725349549-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="7725349549-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="0950270837-11">{</span><span·class="ss">cross</span><span·class="p">,</span><span·class="p"·data-group-id="0950270837-12">[</span><span·class="p"·data-group-id="0950270837-13">{</span><span·class="n">Tag</span><span·class="p">,</span><span·class="n">Mods</[·...·truncated·by·diffoscope;·len:·154,·SHA:·25b193febafb20b3cf34209d81c34fec0d5c1fe5863cb00413d00224ba9feab6·...·]-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="7725349549-11">{</span><span·class="ss">cross</span><span·class="p">,</span><span·class="p"·data-group-id="7725349549-12">[</span><span·class="p"·data-group-id="7725349549-13">{</span><span·class="n">Tag</span><span·class="p">,</span><span·class="n">Mods</[·...·truncated·by·diffoscope;·len:·154,·SHA:·edde868df8b648948bd22be029f21fa408aba09ca9fea8bd1297d4ffae31752d·...·]-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="0594959935-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:·e93abf6c93f4ea67281554e6548920b15fcb4ef7cd5eb57e66271c209b61affb·...·]-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="5049911534-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:·86711946f2d9b97258e68b3d89dadea10648a1cbad76772c029cd51d0d77b058·...·]-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="9806843043-1">(</span><span·class="n">Level</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9806843043-2">[</span><span·class="p"·data-group-id="9806843043-3">{</span><span·class="ss">s1</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·387,·SHA:·4f7c4d6b851f9d353ecefebbd16ca2b5b8f30e69f1160171925aae1b6f69c5cb·...·]-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="5981459479-1">(</span><span·class="n">Level</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5981459479-2">[</span><span·class="p"·data-group-id="5981459479-3">{</span><span·class="ss">s1</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·387,·SHA:·ef179a909666441b40e36595e8a7e69455b966ce588a54128932e1423d802754·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>354 <p>Copyright·©·1996-2025·<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.27.7/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-15.2.7/doc/html/erlang.html#t:term/0">term</a>()·|·Default.</pre>1917 ························ValueOrElement·::·<a·href="../../../../erts-15.2.7/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="1044022794-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="1044022794-2">[</span><span·class="p"·data-group-id="1044022794-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="1044022794-3">}</span><span·class="p">,</span><span·class="w"> 
1922 ·······</span><span·class="p"·data-group-id="1044022794-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="p"·data-group-id="1044022794-5">[</span><span·class="p"·data-group-id="1044022794-6">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="1044022794-6">}</span><span·class="p">,</span><span·class="w"> 
1923 ··············</span><span·class="p"·data-group-id="1044022794-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="1044022794-7">}</span><span·class="p"·data-group-id="1044022794-5">]</span><span·class="p"·data-group-id="1044022794-4">}</span><span·class="p"·data-group-id="1044022794-2">]</span><span·class="p"·data-group-id="1044022794-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="9554543474-1">(</span><span·class="ss">unix</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="9554543474-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9554543474-2">[</span><span·class="p"·data-group-id="9554543474-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="9554543474-3">}</span><span·class="p">,</span><span·class="w"> 
1924 ·</span><span·class="p"·data-group-id="9554543474-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9554543474-5">[</span><span·class="p"·data-group-id="9554543474-6">{</span><span·class="[·...·truncated·by·diffoscope;·len:·520,·SHA:·735bc8bc39c545606ce6011b88a55505eb722e88b1b1ad4bf1c60b888a435d7e·...·]</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:·53edfa82a0653a7f7f8e1cb4b23024be7deacb920822c43325f17a812f1b8dc1·...·]</span><span·class="w">
 1922 ·······</span><span·class="p"·data-group-id="8214136780-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="p"·data-group-id="8214136780-5">[</span><span·class="p"·data-group-id="8214136780-6">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="8214136780-6">}</span><span·class="p">,</span><span·class="w">
 1923 ··············</span><span·class="p"·data-group-id="8214136780-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="8214136780-7">}</span><span·class="p"·data-group-id="8214136780-5">]</span><span·class="p"·data-group-id="8214136780-4">}</span><span·class="p"·data-group-id="8214136780-2">]</span><span·class="p"·data-group-id="8214136780-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="2388870180-1">(</span><span·class="ss">unix</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="2388870180-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2388870180-2">[</span><span·class="p"·data-group-id="2388870180-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="2388870180-3">}</span><span·class="p">,</span><span·class="w">
 1924 ·</span><span·class="p"·data-group-id="2388870180-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2388870180-5">[</span><span·class="p"·data-group-id="2388870180-6">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="2388870180-6">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2388870180-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="2388870180-7">}</span><span·class="p"·data-group-id="2388870180-5">]</span><span·class="p"·data-group-id="2388870180-4">}</span><span·class="p"·data-group-id="2388870180-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="9554543474-8">(</span><span·class="p"·data-group-id="9554543474-9">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">telnet</span><span·class="p"·data-group-id="9554543474-9">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·00e758c4d5e38ae501bb961a9df1c37f7568dcd7bfb83dc75bfad2fef7b2b782·...·]-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="2388870180-8">(</span><span·class="p"·data-group-id="2388870180-9">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">telnet</span><span·class="p"·data-group-id="2388870180-9">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·eb2d18f7d56a6aac1558a648790ba702c3f1732d134ed44bb1c0722302dda14b·...·]-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="9554543474-10">(</span><span·class="p"·data-group-id="9554543474-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="9554543474-1[·...·truncated·by·diffoscope;·len:·106,·SHA:·052dbb94630fde92d0dc37b5f14f001ea9d151ba283950f9bd4dc2fdaec92e87·...·]-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="2388870180-10">(</span><span·class="p"·data-group-id="2388870180-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="2388870180-1[·...·truncated·by·diffoscope;·len:·106,·SHA:·7a570d8f978772a69cc0e7f061c010fdbde5cb1f4cb6763db140fcf20b3370c0·...·]-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="9554543474-12">(</span><span·class="p"·data-group-id="9554543474-13">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">ftp</span><span·class="p"·data-group-id="9554543474-13">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·00e758c4d5e38ae501bb961a9df1c37f7568dcd7bfb83dc75bfad2fef7b2b782·...·]-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="2388870180-12">(</span><span·class="p"·data-group-id="2388870180-13">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">ftp</span><span·class="p"·data-group-id="2388870180-13">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·eb2d18f7d56a6aac1558a648790ba702c3f1732d134ed44bb1c0722302dda14b·...·]-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="9554543474-14">(</span><span·class="ss">unknownkey</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="9554543474-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="2388870180-14">(</span><span·class="ss">unknownkey</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="2388870180-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="9447726827-1">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="p"·data-group-id="9447726827-2">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">user</span><span·class="p"·data-group-id="9447726827-2">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·fe5fbe7170bb81ef0450b43d64589537e8fa7c676222b169ada7064e66062b12·...·]-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="0762628758-1">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="p"·data-group-id="0762628758-2">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">user</span><span·class="p"·data-group-id="0762628758-2">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·ccfd43d050d159e302e6b80cfbff606ac2202c4d4f069952519b5b4dd169d40e·...·]-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="9447726827-3">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="9447726827-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:·91329fdecd17c32b57cdc7eb0813b8690e01f23a40f41b4ee39a0bfbed861a93·...·]-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="0762628758-3">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="0762628758-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:·751e858ab0252b1ba74dda61038f9e6e70f300cbbcf47978b7d3e720a837e10f·...·]-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-15.2.7/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-15.2.7/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="9514777403-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="9514777403-2">(</span><span·class="p"·data-group-id="9514777403-2">)</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·237,·SHA:·006483fef4737af89d330c73a71157db216559f324a945de9e3cf9c3ed9d39d7·...·]-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="4648981855-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="4648981855-2">(</span><span·class="p"·data-group-id="4648981855-2">)</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·237,·SHA:·0969783333b913b8eb9dc6542e14beac7dd2aa496acfb0fb6fdc5167c866dd8c·...·]-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 2235, 15 lines modifiedOffset 2235, 15 lines modified
2235 ·····················KeyOrFile·::·{key,·Key}·|·{file,·KeyFile},2235 ·····················KeyOrFile·::·{key,·Key}·|·{file,·KeyFile},
2236 ·····················Key·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),2236 ·····················Key·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),
2237 ·····················KeyFile·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),2237 ·····················KeyFile·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),
2238 ·····················Reason·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>2238 ·····················Reason·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
2239 ······</div>2239 ······</div>
  
2240 <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="8463786499-1">(</span><span·class="p"·data-group-id="8463786499-2">[</span><span·class="p"·data-group-id="8463786499-3">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="p"·data-group-id="8463786499-4">[</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·303,·SHA:·883523d8e44e2abcbd940550904e5a26633bad72582b3de3e27e92a78ddb11df·...·]-1">)</span></code></pre><p>This·function·is·automatically·run·by·program·<code·class="inline">ct_run</code>.</p>2240 <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="7474296965-1">(</span><span·class="p"·data-group-id="7474296965-2">[</span><span·class="p"·data-group-id="7474296965-3">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="p"·data-group-id="7474296965-4">[</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·303,·SHA:·edcca2ce376733c9830e6c1d17fb80c10f4e380d364d19fd32e2ab32fbf538e8·...·]-1">)</span></code></pre><p>This·function·is·automatically·run·by·program·<code·class="inline">ct_run</code>.</p>
2241 ··</section>2241 ··</section>
2242 </section>2242 </section>
2243 <section·class="detail"·id="listenv/1">2243 <section·class="detail"·id="listenv/1">
  
2244 ··<div·class="detail-header">2244 ··<div·class="detail-header">
2245 ····<a·href="#listenv/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2245 ····<a·href="#listenv/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2246 ······<i·class="ri-link-m"·aria-hidden="true"></i>2246 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3026, 15 lines modifiedOffset 3026, 15 lines modified
3026 ·····················SubKey·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>(),3026 ·····················SubKey·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>(),
3027 ·····················Reason·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>3027 ·····················Reason·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3028 ······</div>3028 ······</div>
  
3029 <p>Checks·if·the·required·configuration·is·available.·Arbitrarily·deep·tuples·can3029 <p>Checks·if·the·required·configuration·is·available.·Arbitrarily·deep·tuples·can
3030 be·specified·as·<code·class="inline">Required</code>.·Only·the·last·element·of·the·tuple·can·be·a·list·of3030 be·specified·as·<code·class="inline">Required</code>.·Only·the·last·element·of·the·tuple·can·be·a·list·of
3031 <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="0938418368-1">(</span><span·class="ss">myvar</span><span·class="p"·data-group-id="0938418368-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:·63e4f6c352e740363736237448399fe57e5ee358131cfb9caabd4dda7f21a5b1·...·]-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 <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="1038209322-1">(</span><span·class="ss">myvar</span><span·class="p"·data-group-id="1038209322-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:·3cc23f3354c8fb8c5b948a2fcb3530092007a2dcca6d741f5ca82a57b7d564a1·...·]-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>,
3032 <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="#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>,
3033 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p>3033 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p>
3034 ··</section>3034 ··</section>
3035 </section>3035 </section>
3036 <section·class="detail"·id="require/2">3036 <section·class="detail"·id="require/2">
  
3037 ··<div·class="detail-header">3037 ··<div·class="detail-header">
Offset 3066, 16 lines modifiedOffset 3066, 16 lines modified
  
3066 <p>Checks·if·the·required·configuration·is·available·and·gives·it·a·name.·The3066 <p>Checks·if·the·required·configuration·is·available·and·gives·it·a·name.·The
3067 semantics·for·<code·class="inline">Required</code>·is·the·same·as·in·<a·href="#require/1"><code·class="inline">ct:require/1</code></a>·except3067 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
3068 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>·so3068 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
3069 that·the·value·of·the·element·can·be·read·with3069 that·the·value·of·the·element·can·be·read·with
3070 <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·the3070 <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
3071 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·node3071 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
3072 <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="0967914018-1">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="p"·data-group-id="0967914018-2">{</span><span·class="ss">machine</span><span·class="p">,</span><span·class="nb">node</span><span·class="p"·data-group-id="0967914018-2">}</span><span·class="p"·data-group-id="0967914018-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 
3073 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:·1ebd3f8b8b5169219261947f7567e1e23ef5c15cdb870553eea61bba2409f995·...·]3072 <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:·fb981cfda7cd891e75c768bc45e654f8d9bfcf66a232109652a10d992701a6f5·...·]
 3073 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="8399338690-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="8399338690-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="2354308534-1">{</span><span·class="ss">machine</span><span·class="p">,</span><span·class="p"·data-group-id="2354308534-2">[</span><span·class="p"·data-group-id="2354308534-3">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="2354308534-4">[</span><span·class="p"·data-group-id="2354308534-5">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="2354308534-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="2354308534-6">{</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="2354308534-6">}</span><span·class="p"·data-group-id="2354308534-4">]</span><span·class="p"·data-group-id="2354308534-3">}</span><span·class="p"·data-group-id="2354308534-2">]</span><span·class="p"·data-group-id="2354308534-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
3074 keep·some·backwards·compatibility,·it·is·still·possible·to·do:3074 keep·some·backwards·compatibility,·it·is·still·possible·to·do:
3075 <code·class="inline">ct:require(a,{node,[telnet,ftp]}).</code>·This·associates·the·name·<code·class="inline">a</code>·with·the3075 <code·class="inline">ct:require(a,{node,[telnet,ftp]}).</code>·This·associates·the·name·<code·class="inline">a</code>·with·the
3076 top-level·<code·class="inline">node</code>·entry.·For·this·to·work,·the·configuration·file·must·at·least3076 top-level·<code·class="inline">node</code>·entry.·For·this·to·work,·the·configuration·file·must·at·least
3077 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 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>,
3078 <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="#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>,
3079 <a·href="#require/1"><code·class="inline">ct:require/1</code></a>.</p>3079 <a·href="#require/1"><code·class="inline">ct:require/1</code></a>.</p>
3080 ··</section>3080 ··</section>
Offset 3426, 20 lines modifiedOffset 3426, 20 lines modified
  
3426 ······</div>3426 ······</div>
  
3427 <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·from3427 <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
3428 the·Erlang·shell.·The·interactive·mode·can·also·be·started·from·the·OS·command3428 the·Erlang·shell.·The·interactive·mode·can·also·be·started·from·the·OS·command
3429 line·with·<code·class="inline">ct_run·-shell·[-config·File...]</code>.</p><p>If·any·functions·(for·example,·Telnet·or·FTP)·using·&quot;required·configuration3429 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
3430 data&quot;·are·to·be·called·from·the·Erlang·shell,·configuration·data·must·first·be3430 data&quot;·are·to·be·called·from·the·Erlang·shell,·configuration·data·must·first·be
3431 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="1248122909-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="1248122909-1">)</span><span·class="p">.</span><span·class="w">3431 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="0751240338-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="0751240338-1">)</span><span·class="p">.</span><span·class="w">
3432 </span><span·class="ss">ok</span><span·class="gp·unselectable">3432 </span><span·class="ss">ok</span><span·class="gp·unselectable">
3433 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="1248122909-2">(</span><span·class="ss">unix_telnet</span><span·class="p"·data-group-id="1248122909-2">)</span><span·class="p">.</span><span·class="w">3433 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="0751240338-2">(</span><span·class="ss">unix_telnet</span><span·class="p"·data-group-id="0751240338-2">)</span><span·class="p">.</span><span·class="w">
3434 </span><span·class="p"·data-group-id="1248122909-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="1248122909-3">}</span><span·class="gp·unselectable">3434 </span><span·class="p"·data-group-id="0751240338-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="0751240338-3">}</span><span·class="gp·unselectable">
3435 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="1248122909-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="1248122909-4">)</span><span·class="p">.</span><span·class="w">3435 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="0751240338-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="0751240338-4">)</span><span·class="p">.</span><span·class="w">
3436 </span><span·class="p"·data-group-id="1248122909-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1248122909-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:·c0a724f3e1703f491c649fb8cb51bed5ce4ee19b64af5e3cf76a91aeb237ffba·...·]-5">}</span></code></pre>3436 </span><span·class="p"·data-group-id="0751240338-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0751240338-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:·81054c4f6f82e081a142ea1b40165be3083b186b8b0f31cb8a6d9b6b7e219aa1·...·]-5">}</span></code></pre>
3437 ··</section>3437 ··</section>
3438 </section>3438 </section>
3439 <section·class="detail"·id="step/3">3439 <section·class="detail"·id="step/3">
  
3440 ··<div·class="detail-header">3440 ··<div·class="detail-header">
3441 ····<a·href="#step/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3441 ····<a·href="#step/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3442 ······<i·class="ri-link-m"·aria-hidden="true"></i>3442 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3709, 15 lines modifiedOffset 3709, 15 lines modified
3709 ······<p·class="built-using">3709 ······<p·class="built-using">
3710 ········Built·using3710 ········Built·using
3711 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3711 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3712 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3712 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3713 ······</p>3713 ······</p>
3714 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3714 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3715 ····</footer>3715 ····</footer>
3716 ··</div>3716 ··</div>
3717 </main>3717 </main>
Max diff block lines reached; 137/41199 bytes (0.33%) of diff not shown.
648 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>312 <p>Copyright·©·1996-2025·<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.99 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/ct_ftp.html
    
Offset 567, 18 lines modifiedOffset 567, 18 lines modified
567 ·················LocalFile·::·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:filename/0">file:filename</a>(),567 ·················LocalFile·::·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:filename/0">file:filename</a>(),
568 ·················RemoteFile·::·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:filename/0">file:filename</a>(),568 ·················RemoteFile·::·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:filename/0">file:filename</a>(),
569 ·················Reason·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>569 ·················Reason·::·<a·href="../../../../erts-15.2.7/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="9789557480-1">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="9789557480-2">[</span><span·class="p"·data-group-id="9789557480-3">{</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="9789557480-3">}</span><span·class="p"·data-group-id="9789557480-2">]</span><span·class="p"·data-group-id="9789557480-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="0351091049-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="035109104[·...·truncated·by·diffoscope;·len:·239,·SHA:·5642d3d948cd6b05569ef2213458516bf2dd7d376938b5557b92c081f4aa51de·...·]572 configuration·file·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1181185475-1">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="1181185475-2">[</span><span·class="p"·data-group-id="1181[·...·truncated·by·diffoscope;·len:·364,·SHA:·b6a2d80257aa88718714cedaad23d139644eeb9bddf3f925614ad87c98495303·...·]
 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="4410601705-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="4410601705-2">[</span><span·class="p"·data-group-id="4410601705-3">{</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="4410601705-3">}</span><span·class="p">,</span><span·class="w">
574 ·······</span><span·class="p"·data-group-id="0351091049-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="0351091049-4">}</span><span·class="p">,</span><span·class="w">574 ·······</span><span·class="p"·data-group-id="4410601705-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="4410601705-4">}</span><span·class="p">,</span><span·class="w">
575 ·······</span><span·class="p"·data-group-id="0351091049-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="0351091049-5">}</span><span·class="p"·data-group-id="0351091049-2">]</span><span·class="p"·data-group-id="0351091049-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="4410601705-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="4410601705-5">}</span><span·class="p"·data-group-id="4410601705-2">]</span><span·class="p"·data-group-id="4410601705-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>747 <p>Copyright·©·1996-2025·<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.27.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1364 <p>Copyright·©·1996-2025·<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.27.7/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="5652764750-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="5652764750-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="1027973330-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="1027973330-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="5652764750-2">(</span><span·class="p"·data-group-id="5652764750-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="1027973330-2">(</span><span·class="p"·data-group-id="1027973330-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
258 ····</span><span·class="p"·data-group-id="5652764750-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="5652764750-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 ····</span><span·class="p"·data-group-id="1027973330-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="1027973330-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
259 ······</span><span·class="p"·data-group-id="5652764750-4">{</span><span·class="p"·data-group-id="5652764750-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="5652764750-5">}<[·...·truncated·by·diffoscope;·len:·125,·SHA:·bd29a4c921fe433cfb21cd4fe3ee6878fbc926f8739c0163e8f91b9e3e4d6430·...·]0-4">}</span><span·class="p">;</span><span·class="w">259 ······</span><span·class="p"·data-group-id="1027973330-4">{</span><span·class="p"·data-group-id="1027973330-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="1027973330-5">}<[·...·truncated·by·diffoscope;·len:·125,·SHA:·d4f61a0587028a424493252d8bdd292defe3a9be30706cc67a4b45c1b22b337b·...·]0-4">}</span><span·class="p">;</span><span·class="w">
260 ····</span><span·class="p"·data-group-id="5652764750-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="5652764750-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">260 ····</span><span·class="p"·data-group-id="1027973330-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="1027973330-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 ······</span><span·class="p"·data-group-id="5652764750-7">{</span><span·class="p"·data-group-id="5652764750-8">[</span><span·class="p"·data-group-id="5652764750-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:·648,·SHA:·8cc263fea7afc40c9c396bb1ae4049e271fb11011633e29d724e4780977292a2·...·]0-7">}</span><span·class="w">261 ······</span><span·class="p"·data-group-id="1027973330-7">{</span><span·class="p"·data-group-id="1027973330-8">[</span><span·class="p"·data-group-id="1027973330-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:·648,·SHA:·daab72057e557d08c75f601e1874c63359424d90766eb184d74e0554abce8fae·...·]0-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="6785731717-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·cl[·...·truncated·by·diffoscope;·len:·506,·SHA:·945c0523ff15997b01648627cf5ea6896dda802c32b59b2e5a8255b9e016aae6·...·]-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="2622407281-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·cl[·...·truncated·by·diffoscope;·len:·506,·SHA:·dfc6a232cc514116f63fa075bb144a14c78c1e2f991568c32fe2ca761d1326e1·...·]-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="6785731717-4">(</span><span·class="p"·data-group-id="6785731717-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="2622407281-4">(</span><span·class="p"·data-group-id="2622407281-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="6785731717-5">{</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="6785731717-6">(</span><span·class="ss">tc_status</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·189,·SHA:·33f7f93c13e9565c05400bd9e8d1006340f0ed2d37cf6843fd37ec8744d4c9c9·...·]-5">}</span><span·class="p">;</span><span·class="w">287 ······</span><span·class="p"·data-group-id="2622407281-5">{</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="2622407281-6">(</span><span·class="ss">tc_status</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·189,·SHA:·0c9d61b9907c241562ad04399b7360ce69469c8b5eaf1e39152b9873e34e67a9·...·]-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="6785731717-7">{</span><span·class="p"·data-group-id="6785731717-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="6785731717-8">}</spa[·...·truncated·by·diffoscope;·len:·122,·SHA:·c2206fd556621ea6e13a257f324af9027336915b35116e5ba18173c7b049a5fb·...·]-7">}</span><span·class="w">290 ······</span><span·class="p"·data-group-id="2622407281-7">{</span><span·class="p"·data-group-id="2622407281-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="2622407281-8">}</spa[·...·truncated·by·diffoscope;·len:·122,·SHA:·6e0c8e26d4dbd84872de04d99d524e9a8d12dd285295b0cf3be941cb6ed332c0·...·]-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="6785731717-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·cl[·...·truncated·by·diffoscope;·len:·189,·SHA:·2a4150f1c4b50628b917d5d2f4e418a1c4e08d7f64bf41cf9acfe7d1b0b4ee50·...·]-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="2622407281-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·cl[·...·truncated·by·diffoscope;·len:·189,·SHA:·c1c0d7f33c6b0e21869b822892ca96ca1d76aaa5beaacc6d2cdf6a61af603316·...·]-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="6785731717-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="6785731717-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="2622407281-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="2622407281-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.2.7/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.2.7/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="4979190710-1">(</span><span·class="ss">example_cth</span><span·class="p"·data-group-id="4979190710-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="3214516449-1">(</span><span·class="ss">example_cth</span><span·class="p"·data-group-id="3214516449-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="4979190710-2">(</span><span·class="p"·data-group-id="4979190710-3">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="4979190710-3">]</span><span·class="p"·data-group-id="4979190710-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="3214516449-2">(</span><span·class="p"·data-group-id="3214516449-3">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="3214516449-3">]</span><span·class="p"·data-group-id="3214516449-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="4979190710-4">(</span><span·class="p"·data-group-id="4979190710-5">[</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4979190710-5">]</span><span·class="p"·data-group-id="4979190710-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="3214516449-4">(</span><span·class="p"·data-group-id="3214516449-5">[</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="3214516449-5">]</span><span·class="p"·data-group-id="3214516449-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="4979190710-6">(</span><span·class="p"·data-group-id="4979190710-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="4979190710-7">]</span><span·class="p"·data-group-id="497919[·...·truncated·by·diffoscope;·len:·4,·SHA:·99ad29570b3a5aa7a7263eb4ea0f7e2594b39290145bfcee4e26036af2b7ef17·...·]-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="3214516449-6">(</span><span·class="p"·data-group-id="3214516449-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="3214516449-7">]</span><span·class="p"·data-group-id="321451[·...·truncated·by·diffoscope;·len:·4,·SHA:·3df3cfba745433b5029852d189e2743a3958f7e408bb3cf6972a9019a6ad129f·...·]-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="4979190710-8">(</span><span·class="p"·data-group-id="4979190710-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="4979190710-9">]</span><span·class="p"·data-group-id="497919[·...·truncated·by·diffoscope;·len:·4,·SHA:·99ad29570b3a5aa7a7263eb4ea0f7e2594b39290145bfcee4e26036af2b7ef17·...·]-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="3214516449-8">(</span><span·class="p"·data-group-id="3214516449-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="3214516449-9">]</span><span·class="p"·data-group-id="321451[·...·truncated·by·diffoscope;·len:·4,·SHA:·3df3cfba745433b5029852d189e2743a3958f7e408bb3cf6972a9019a6ad129f·...·]-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="4979190710-10">(</span><span·class="p"·data-group-id="4979190710-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="4979190710-11">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·00bdbb3604f5663770796947026c9e877b20a2885d6d4a74a0281179941fc05e·...·]-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="3214516449-10">(</span><span·class="p"·data-group-id="3214516449-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="3214516449-11">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·f98326aaab65bad47a653036ccb9bf4dca824e85a0479ed1e214a8e82380d886·...·]-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="4979190710-12">(</span><span·class="p"·data-group-id="4979190710-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="4979190710-13">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·00bdbb3604f5663770796947026c9e877b20a2885d6d4a74a0281179941fc05e·...·]-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="3214516449-12">(</span><span·class="p"·data-group-id="3214516449-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="3214516449-13">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·f98326aaab65bad47a653036ccb9bf4dca824e85a0479ed1e214a8e82380d886·...·]-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="4979190710-14">(</span><span·class="p"·data-group-id="4979190710-15">[</span><span·class="ss">on_tc_skip</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="4979190710-15">]</span><span·class="p"·data-group-id="4979190710-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="3214516449-14">(</span><span·class="p"·data-group-id="3214516449-15">[</span><span·class="ss">on_tc_skip</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="3214516449-15">]</span><span·class="p"·data-group-id="3214516449-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="4979190710-16">(</span><span·class="p"·data-group-id="4979190710-17">[</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4979190710-17">]</span><span·class="p"·data-group-id="4979190710-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="3214516449-16">(</span><span·class="p"·data-group-id="3214516449-17">[</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="3214516449-17">]</span><span·class="p"·data-group-id="3214516449-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="4979190710-18">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4979190710-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:·6d20362930d5bc5aea349177d19b52397a19a0ad81368e4eb2d3ee49d54a0f55·...·]-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="3214516449-18">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3214516449-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:·20af13a03f4ffa0f8c727db31cdd7168c92b3b7eebee30e90710b287d5dc8b7d·...·]-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="4979190710-20">(</span><span·class="ss">test_run</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4979190710-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:·4f15a68af164ab7a6f3603fba598024a7ce8ee9b47ffd5bb8e43a8c59e3bc86f·...·]-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="3214516449-20">(</span><span·class="ss">test_run</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3214516449-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:·9c712683bcc717571985708f61c0c0df7ce42801cf3966e038a6cc87d74731d7·...·]-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="4979190710-22">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="4979190710-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="3214516449-22">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="3214516449-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="4979190710-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:·e99c5bbb0d142662afbfb4d94c31f129a33431ae751ea81b28f3c135bf6871fa·...·]-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="3214516449-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:·3c7f9b05e1315f3a1c36c6d5a578287b9850fefe46b4d9dabe88ff8527d4fea5·...·]-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="4979190710-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="4979190710-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="3214516449-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="3214516449-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
372 ····</span><span·class="p"·data-group-id="4979190710-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="4979190710-26">{</span><span·class="ss">filename</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·602,·SHA:·d28d3e52f909e133b45080aaa018b69ed66eca830a778de50d311ae4955a36aa·...·]-25">}</span><span·class="p">.</span><span·class="w">372 ····</span><span·class="p"·data-group-id="3214516449-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="3214516449-26">{</span><span·class="ss">filename</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·602,·SHA:·c17d9af9e7e755b331678ab958d202ce3b653909fed8c5f7b0f07dcdca9f1201·...·]-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="4979190710-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="4979190710-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="3214516449-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="3214516449-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
375 ····</span><span·class="p"·data-group-id="4979190710-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="4979190710-30">{</span><span·class="ss">suit[·...·truncated·by·diffoscope;·len:·461,·SHA:·a7e734a03a55670646a27b4230d40500ad04e8b66e3faccfdbd3514d453e7ad7·...·]-29">}</span><span·class="p">.</span><span·class="w">375 ····</span><span·class="p"·data-group-id="3214516449-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="3214516449-30">{</span><span·class="ss">suit[·...·truncated·by·diffoscope;·len:·461,·SHA:·5e3ff3de604891b3e12bd43bb6bc5a64e06633678de33216f2c677a13db66c19·...·]-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="4979190710-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:·bedee13dfb04be9adfcba4f4ff74b739405ba646efbfc89e739606ad4eb883b5·...·]-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="3214516449-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:·0ed12374c2a1ab9892a6b9efa2daf5cc16b5af2ed171efa723feeb3310be407b·...·]-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="4979190710-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="3214516449-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="4979190710-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="4979190710-34">)</span><span·class="p"·data-group-id="4979190710-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="3214516449-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="3214516449-34">)</span><span·class="p"·data-group-id="3214516449-33">}</span><span·class="p">,</span><span·class="w">
380 ····</span><span·class="p"·data-group-id="4979190710-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="4979190710-36">{</span><span·class="ss">data[·...·truncated·by·diffoscope;·len:·406,·SHA:·d65e3a41c988988ff187fe1e752fbba97ca6c56f70ea2b404f2298102d8102c3·...·]-37">]</span><span·class="p">,</span><span·class="w">380 ····</span><span·class="p"·data-group-id="3214516449-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="3214516449-36">{</span><span·class="ss">data[·...·truncated·by·diffoscope;·len:·406,·SHA:·dda99a35bd2238af53c77cd07a6a975563071944af226ab57ebd617aeceb2fcd·...·]-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="4979190710-36">}</span><span·class="p"·data-group-id="4979190710-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="3214516449-36">}</span><span·class="p"·data-group-id="3214516449-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="4979190710-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:·bcd55e84c449d96e8c2618ec076cef3c6733d274d4aa830b3475a1e5bb12f409·...·]-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="3214516449-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:·93e9080cf45c5c4c351a734df6b15af148b67eac5128f00b207a06aa1f4e4a89·...·]-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="4979190710-39">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="4979190710-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="3214516449-39">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="3214516449-39">)</span><span·class="p">,</span><span·class="w">
385 ····</span><span·class="p"·data-group-id="4979190710-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="4979190710-41">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·590,·SHA:·bb48b70dc93e6c01a07e2ec9d20aca1b9f56f13f5c4b60a847421a97cd4d91e6·...·]-40">}</span><span·class="p">.</span><span·class="w">385 ····</span><span·class="p"·data-group-id="3214516449-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="3214516449-41">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·590,·SHA:·a90fb937e0082c3a83ed608a585aeb60679f790b173f8239a71aac8a1e712838·...·]-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="4979190710-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:·120974622598002e282a13ad11bafe3dd2fa4dfc63b2dec0b8c7abe596ca8ad4·...·]-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="3214516449-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:·c953fa5cdec08ea851165f22aa55472f85139e205821c372c3db80ca8fd3b599·...·]-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="4979190710-43">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="4979190710-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="3214516449-43">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="3214516449-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="4979190710-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:·34f60a7b7971c86f59f33a8026e54e9d397c7831b477d88da65bfccc87917184·...·]-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="3214516449-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:·128121bb4486b5a9fef128642fc3fa45550f066545509c22b1d8fe13f9a411e9·...·]-44">}</span><span·class="p">,</span><span·class="w">
390 ····</span><span·class="p"·data-group-id="4979190710-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="4979190710-46">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·693,·SHA:·1f3afd9ef83faf912e9cc1ffe68d6410eeef021a0c041e98953ba163f7d0dc38·...·]-45">}</span><span·class="p">.</span><span·class="w">390 ····</span><span·class="p"·data-group-id="3214516449-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="3214516449-46">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·693,·SHA:·1984dba952e7c3bcdab989eac75e5a605e2cb874df0a734d3a906ce3e0da7e5c·...·]-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="4979190710-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:·a18e0ebe7464ccee75c1e01e4edeefa4f4d9bd23dc083b4a378520be3adfb3f2·...·]-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="3214516449-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:·ee14e1e603b9aa40a62d8e61a4cb839f3fb177104dfef2d6c8366ab720ffd4e7·...·]-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="4979190710-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:·8f1c5fe3f21b6060b9eb4e2783fbc965e37dc9e6226699515119721f74456065·...·]-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="3214516449-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:·7df268f004d00883da44f097be72e87ed48597235c6154f5dd6ab4e2c02288c2·...·]-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="4979190710-50">(</span><span·class="n">State</span><span·class="p"·data-group-id="4979190710-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="3214516449-50">(</span><span·class="n">State</span><span·class="p"·data-group-id="3214516449-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="4979190710-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="4979190710-51">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·569,·SHA:·df5e3b8657bdbc39e085d48928910a8a93709b25db8b3dba9426e513a5cfee89·...·]-52">)</span><span·class="p">,</span><span·class="w">398 ····</span><span·class="p"·data-group-id="3214516449-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="3214516449-51">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·569,·SHA:·608b0f9ce6a29d974271d6ba89989b1af22da92447980e606a3b4b57e0f823cb·...·]-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="4979190710-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:·d4b6178848f3fca5a39f4b4fc90e9c51418c1de89ab6488dcf3b678511055f05·...·]-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="3214516449-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:·6326bd9195aedfb265c716dd7940b2a3d4bbff5c12223d00eb63763f8ef0e4f0·...·]-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="4979190710-57">(</span><span·class="n">File</span><span·class="p"·data-group-id="4979190710-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="3214516449-57">(</span><span·class="n">File</span><span·class="p"·data-group-id="3214516449-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="4979190710-58">(</span><span·class="n">State</span><span·class="p"·data-group-id="4979190710-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="3214516449-58">(</span><span·class="n">State</span><span·class="p"·data-group-id="3214516449-58">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 993/62097 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.27.7/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-15.2.7/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-15.2.7/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="4966891361-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="4966891361-2">(</span><span·class="p"·data-group-id="4966891361-2">)</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·244,·SHA:·ce5a976d50e2efcce07f7fae08f2712f5a37051408b08d90d753bde39f4cf213·...·]-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="7191486800-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="7191486800-2">(</span><span·class="p"·data-group-id="7191486800-2">)</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·244,·SHA:·e624807954d358741099504a3b80890e496d53206b4378e818ca3e50d47326d3·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>775 <p>Copyright·©·1996-2025·<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.27.7/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="6694366395-1">(</span><span·class="p"·data-group-id="6694366395-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="6694366395-3">[</span><spa[·...·truncated·by·diffoscope;·len:·243,·SHA:·fc7b4e0c33f96f5a68bae19a34f543ab103bc0d3769427a38c3446ccd333236b·...·]-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="7493222990-1">(</span><span·class="p"·data-group-id="7493222990-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="7493222990-3">[</span><spa[·...·truncated·by·diffoscope;·len:·243,·SHA:·48b9f7e8bc551785c3b3b1d4cb49fb3a43363a5fb7c3c73c6e9e699e76a2a47d·...·]-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="6684015771-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[·...·truncated·by·diffoscope;·len:·15,·SHA:·079f3a3e5ec76fd2bfebb9fd9bf35b436477df1e79ef52517b8503e334411f4d·...·]-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="8036059164-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[·...·truncated·by·diffoscope;·len:·15,·SHA:·f1e711631caf4897878e1b53e3c4308465cb8a6d5a72ec4a15f10f7511165910·...·]-1">}</span><span·class="p">.</span><span·class="w">
200 </span><span·class="p"·data-group-id="6684015771-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-[·...·truncated·by·diffoscope;·len:·20,·SHA:·12b827b8f3a006f304dd9dd433c34365e994f59f1a73ac3b26ad7a1254c24466·...·]-2">}</span><span·class="p">.</span><span·class="w">200 </span><span·class="p"·data-group-id="8036059164-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-[·...·truncated·by·diffoscope;·len:·20,·SHA:·cf19b7518ad1708f7e1332d9dd0837f2c374641f3f5c6aa2ece6cc0fffcae6ec·...·]-2">}</span><span·class="p">.</span><span·class="w">
201 </span><span·class="p"·data-group-id="6684015771-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-[·...·truncated·by·diffoscope;·len:·20,·SHA:·12b827b8f3a006f304dd9dd433c34365e994f59f1a73ac3b26ad7a1254c24466·...·]-3">}</span><span·class="p">.</span><span·class="w">201 </span><span·class="p"·data-group-id="8036059164-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-[·...·truncated·by·diffoscope;·len:·20,·SHA:·cf19b7518ad1708f7e1332d9dd0837f2c374641f3f5c6aa2ece6cc0fffcae6ec·...·]-3">}</span><span·class="p">.</span><span·class="w">
202 </span><span·class="p"·data-group-id="6684015771-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-[·...·truncated·by·diffoscope;·len:·20,·SHA:·12b827b8f3a006f304dd9dd433c34365e994f59f1a73ac3b26ad7a1254c24466·...·]-4">}</span><span·class="p">.</span><span·class="w">202 </span><span·class="p"·data-group-id="8036059164-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-[·...·truncated·by·diffoscope;·len:·20,·SHA:·cf19b7518ad1708f7e1332d9dd0837f2c374641f3f5c6aa2ece6cc0fffcae6ec·...·]-4">}</span><span·class="p">.</span><span·class="w">
203 </span><span·class="p"·data-group-id="6684015771-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-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·62d52de3614df99757112f24faf640ccb4794c96f64437400286ba1ef993ec4a·...·]-5">}</span><span·class="p">.</span><span·class="w">203 </span><span·class="p"·data-group-id="8036059164-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-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·194e757382939eab9c1af6fac3b20ec623f242776bf39d5c6ce43d903f247f55·...·]-5">}</span><span·class="p">.</span><span·class="w">
204 </span><span·class="p"·data-group-id="6684015771-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="66840157[·...·truncated·by·diffoscope;·len:·2,·SHA:·7f2253d7e228b22a08bda1f09c516f6fead81df6536eb02fa991a34bb38d9be8·...·]-6">}</span><span·class="p">.</span><span·class="w">204 </span><span·class="p"·data-group-id="8036059164-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="80360591[·...·truncated·by·diffoscope;·len:·2,·SHA:·a68b412c4282555f15546cf6e1fc42893b7e07f271557ceb021821098dd66c1b·...·]-6">}</span><span·class="p">.</span><span·class="w">
  
205 </span><span·class="p"·data-group-id="6684015771-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="66840[·...·truncated·by·diffoscope;·len:·5,·SHA:·c1cc04f33f4d353567818f1bbeca3bb5a73f5f8a4944d6e8b9dc7a4d2a2131de·...·]-7">}</span><span·class="p">.</span><span·class="w">205 </span><span·class="p"·data-group-id="8036059164-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="80360[·...·truncated·by·diffoscope;·len:·5,·SHA:·0b8b4295080fb57dd6707846588d8f0085555b487624ff49e026eb0b1bf6d231·...·]-7">}</span><span·class="p">.</span><span·class="w">
206 </span><span·class="p"·data-group-id="6684015771-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="66840[·...·truncated·by·diffoscope;·len:·5,·SHA:·c1cc04f33f4d353567818f1bbeca3bb5a73f5f8a4944d6e8b9dc7a4d2a2131de·...·]-8">}</span><span·class="p">.</span><span·class="w">206 </span><span·class="p"·data-group-id="8036059164-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="80360[·...·truncated·by·diffoscope;·len:·5,·SHA:·0b8b4295080fb57dd6707846588d8f0085555b487624ff49e026eb0b1bf6d231·...·]-8">}</span><span·class="p">.</span><span·class="w">
  
207 </span><span·class="p"·data-group-id="6684015771-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"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·069eb68d5699944cb2df3d754c294bb6ad1b65298ecc78dead09a2ca8fbae7e3·...·]-9">}</span><span·class="p">.</span><span·class="w">207 </span><span·class="p"·data-group-id="8036059164-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"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·cb4adf2786a7e8599ff8e10e5195e45bf1e34043701db05e01c5d4cc1b81a5d4·...·]-9">}</span><span·class="p">.</span><span·class="w">
208 </span><span·class="p"·data-group-id="6684015771-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="6684015771-10">}</span><span·class="p">.</span><span·class="w">208 </span><span·class="p"·data-group-id="8036059164-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="8036059164-10">}</span><span·class="p">.</span><span·class="w">
  
209 </span><span·class="p"·data-group-id="6684015771-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="[·...·truncated·by·diffoscope;·len:·28,·SHA:·c678a3b042b780542c493e8313e3567bd4b639f3f1c33293a2a0be692b2574d5·...·]-11">}</span><span·class="p">.</span><span·class="w">209 </span><span·class="p"·data-group-id="8036059164-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="[·...·truncated·by·diffoscope;·len:·28,·SHA:·5bfb9cb9ae266e929378a1ad6ba3653e448661d5de6443518147b690d49e85ac·...·]-11">}</span><span·class="p">.</span><span·class="w">
210 </span><span·class="p"·data-group-id="6684015771-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="[·...·truncated·by·diffoscope;·len:·28,·SHA:·c678a3b042b780542c493e8313e3567bd4b639f3f1c33293a2a0be692b2574d5·...·]-12">}</span><span·class="p">.</span><span·class="w">210 </span><span·class="p"·data-group-id="8036059164-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="[·...·truncated·by·diffoscope;·len:·28,·SHA:·5bfb9cb9ae266e929378a1ad6ba3653e448661d5de6443518147b690d49e85ac·...·]-12">}</span><span·class="p">.</span><span·class="w">
211 </span><span·class="p"·data-group-id="6684015771-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="6684015771-13">}</span><span·class="p">.</span><span·class="w">211 </span><span·class="p"·data-group-id="8036059164-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="8036059164-13">}</span><span·class="p">.</span><span·class="w">
  
212 </span><span·class="p"·data-group-id="6684015771-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">·<[·...·truncated·by·diffoscope;·len:·74,·SHA:·e60543ad6326f2ae12ec3b6c9a9bd5e8a51a470f595a6b42752872254d08e561·...·]-14">}</span><span·class="p">.</span><span·class="w">212 </span><span·class="p"·data-group-id="8036059164-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">·<[·...·truncated·by·diffoscope;·len:·74,·SHA:·2c4e8a66dfa8961626a54be305fd5e6d0a359ad5c8e950e439cd24f68b2ced61·...·]-14">}</span><span·class="p">.</span><span·class="w">
213 </span><span·class="p"·data-group-id="6684015771-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="[·...·truncated·by·diffoscope;·len:·348,·SHA:·816e4c01e3540c51cf089cec6fbc7f9d62917d620e102597d5f8b3cdb452da56·...·]-15">}</span><span·class="p">.</span><span·class="w">213 </span><span·class="p"·data-group-id="8036059164-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="[·...·truncated·by·diffoscope;·len:·348,·SHA:·9e09ece4b082303c944449a4db3357cfa1dab54794c6631f6dd584f30304aac3·...·]-15">}</span><span·class="p">.</span><span·class="w">
214 </span><span·class="p"·data-group-id="6684015771-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:·415,·SHA:·0a87166b0328e8d17b660394c3b2c1b4a00ecec1a686e76a4471ed42a6c57fef·...·]-17">}</span><span·class="p">.</span><span·class="w">214 </span><span·class="p"·data-group-id="8036059164-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:·415,·SHA:·c6350c6bec591fece7a5509f60e1450db4b36045c7a936779fd67fdbc62f2bbd·...·]-17">}</span><span·class="p">.</span><span·class="w">
215 </span><span·class="p"·data-group-id="6684015771-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:·358,·SHA:·0deebc4a98705197767cb989d7d5c595b38b617421bb56a03b652de11bd23d78·...·]-19">}</span><span·class="p">.</span><span·class="w">215 </span><span·class="p"·data-group-id="8036059164-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:·358,·SHA:·d2ffd4fd742a4fc5a28fe13336ba1e9ff9c35a5026d03e48ca1bd5a48dbc80b5·...·]-19">}</span><span·class="p">.</span><span·class="w">
  
216 </span><span·class="p"·data-group-id="6684015771-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">·<[·...·truncated·by·diffoscope;·len:·245,·SHA:·24ea1b5ca95a030ec94c6d12825abb83c755a3ec83be9c2672f0488c93cab244·...·]-21">}</span><span·class="p">.</span><span·class="w">216 </span><span·class="p"·data-group-id="8036059164-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">·<[·...·truncated·by·diffoscope;·len:·245,·SHA:·ad2da7379a5e7e653589e0c4b0bc3db6ff9f4d2265a5e0435a5bf59400a07378·...·]-21">}</span><span·class="p">.</span><span·class="w">
217 </span><span·class="p"·data-group-id="6684015771-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">·</[·...·truncated·by·diffoscope;·len:·370,·SHA:·ebb928842d9322ee663c6f7834c7688f5058b5a3044988b37b29c2b1ba485cf5·...·]-23">}</span><span·class="p">.</span><span·class="w">217 </span><span·class="p"·data-group-id="8036059164-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">·</[·...·truncated·by·diffoscope;·len:·370,·SHA:·271926e47e67e49727a7ca6999cdd23ab58f9cce86b003e143240d1e0596cee9·...·]-23">}</span><span·class="p">.</span><span·class="w">
  
218 </span><span·class="p"·data-group-id="6684015771-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:·100,·SHA:·219c48f26442c3c11f907429664c512c29ce5c9436d6c4185ad20e3750332a38·...·]-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="8036059164-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:·100,·SHA:·8f76481579ef087defcf9b23c5064380a58801d06b4b76d3db2506ec4af0381d·...·]-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="5170800367-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="5170800367-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="4612207238-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="4612207238-1">}</span><span·class="p">.</span><span·class="w">
248 </span><span·class="p"·data-group-id="5170800367-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="5170800367-2">}</span><span·class="p">.</span><span·class="w">248 </span><span·class="p"·data-group-id="4612207238-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="4612207238-2">}</span><span·class="p">.</span><span·class="w">
249 </span><span·class="p"·data-group-id="5170800367-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="5170800367-3">}</span><span·class="p">.</span><span·class="w">249 </span><span·class="p"·data-group-id="4612207238-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="4612207238-3">}</span><span·class="p">.</span><span·class="w">
250 </span><span·class="p"·data-group-id="5170800367-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="5170800367-4">}</span><span·class="p">.</span><span·class="w">250 </span><span·class="p"·data-group-id="4612207238-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="4612207238-4">}</span><span·class="p">.</span><span·class="w">
251 </span><span·class="p"·data-group-id="5170800367-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="5170800367-6">[</span><span·class="p"·data-group-id="5170800367-7">{</span><span·class="ss">node_start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5170800367-8">[</span><span·class="p"·data-group-id="5170800367-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="5170800367-9">}</span><span·class="p"·data-group-id="5170800367-8">]</span><span·class="p"·data-group-id="5170800367-7">}</span><span·class="p"·data-group-id="5170800367-6">]</span><span·class="p"·data-group-id="5170800367-5">}</span><span·class="p">.</span><span·class="w"> 
252 </span><span·class="p"·data-group-id="5170800367-10">{</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5170800367-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="5170800367-11">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5170800367-12">{</span><span·class="ss">node_start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5170800367-13">[</span><span·class="p"·data-group-id="5170800367-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="5170800367-14">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5170800367-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="5170800367-15">}</span><span·class="p"·data-group-id="5170800367-13">]</span><span·class="p"·data-group-id="5170800367-12">}</span><span·class="p"·data-group-id="5170800367-10">}</span><span·class="p">.</span><span·class="w"> 
253 </span><span·class="p"·data-group-id="5170800367-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="5170800367-17">{</span><span·class="ss">eval</spa[·...·truncated·by·diffoscope;·len:·676,·SHA:·bae2ce64982c3c7430eb743ab868b171d7ebc2ddfef689afc8e4d32906f235ea·...·]251 </span><span·class="p"·data-group-id="4612207238-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="4612207238-6">[</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·646,·SHA:·f56810e30c7e406f59f856cb6e5f7971e9a283cec47c7de0bf8829c11c432cfe·...·]
 252 </span><span·class="p"·data-group-id="4612207238-10">{</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4612207238-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="4612207238-11">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4612207238-12">{</span><span·class="ss">node_start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4612207238-13">[</span><span·class="p"·data-group-id="4612207238-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="4612207238-14">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4612207238-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="4612207238-15">}</span><span·class="p"·data-group-id="4612207238-13">]</span><span·class="p"·data-group-id="4612207238-12">}</span><span·class="p"·data-group-id="4612207238-10">}</span><span·class="p">.</span><span·class="w">
 253 </span><span·class="p"·data-group-id="4612207238-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="4612207238-17">{</span><span·class="ss">eval</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4612207238-18">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">function</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4612207238-19">[</span><span·class="p"·data-group-id="4612207238-19">]</span><span·class="p"·data-group-id="4612207238-18">}</span><span·class="p"·data-group-id="4612207238-17">}</span><span·class="p"·data-group-id="4612207238-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>315 <p>Copyright·©·1996-2025·<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.27.7/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="4114068331-1">{</span><span·class="nf">server_id</span><span·class="p"·data-group-id="4114068331-2">(</span><span·class="p"·data-group-id="4114068331-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4114068331-3">[<[·...·truncated·by·diffoscope;·len:·236,·SHA:·f520af41d76f36fc7d85c396042ae44d070834c3daa2865e34544370e9bbf327·...·]-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="6420736054-1">{</span><span·class="nf">server_id</span><span·class="p"·data-group-id="6420736054-2">(</span><span·class="p"·data-group-id="6420736054-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6420736054-3">[<[·...·truncated·by·diffoscope;·len:·236,·SHA:·5806521cdc2e5ac633cf799cf33a3f7b5b4bd15df4e46d6261f554c6da9ea4f8·...·]-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="8497757420-1">(</span><span·class="p"·data-group-id="8497757420-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="3760063825-1">(</span><span·class="p"·data-group-id="3760063825-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
154 ····</span><span·class="p"·data-group-id="8497757420-2">[</span><span·class="p"·data-group-id="8497757420-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8497757420-4">[</span><span·class="p"·data-group-id="8497757420-5">{</[·...·truncated·by·diffoscope;·len:·937,·SHA:·25747d93ddf52d7a6f83445a44d9b06dd60c8bfdf00f430bd37f34e8bf7cc650·...·]-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="3760063825-2">[</span><span·class="p"·data-group-id="3760063825-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3760063825-4">[</span><span·class="p"·data-group-id="3760063825-5">{</[·...·truncated·by·diffoscope;·len:·937,·SHA:·2f881d8ec00d60db88f5af5c54781ebade40eb3aabdda4c7ff9b7a67133991b9·...·]-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="5824443453-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="5824443453-2">[</span><span·class="p"·data-group-id="5824443453-3">{</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">conn_log_mod</span><span·class="p"·data-group-id="5824443453-4">(</span><span·class="p"·data-group-id="5824443453-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">conn_log_options</span><span·class="p"·data-group-id="5824443453-5">(</span><span·class="p"·data-group-id="5824443453-5">)</span><span·class="p"·data-group-id="5824443453-3">}</span><span·class="p"·data-group-id="5824443453-2">]</span><span·class="p"·data-group-id="5824443453-1">}</span><span·class="p">.</span></code></pre><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0684060406-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="0684060406-2">[</span><span·class="p"·data-group-id="0684060406-3">{</span><span·class="ss">ct_netconfc</span><span·class="p">,</span><span·class="p"·data-group-id="0684060406-4">[</span><span·class="p"·data-group-id="0684060406-5">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">pretty</span><span·class="p"·data-group-id="0684060406-5">}</span><span·class="p">,</span><span·class="w"> 
166 ····························</span><span·class="p"·data-group-id="0684060406-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="0684060406-7">[</span><span·class="nc">ct</span><span·class="p">:</span><span·class=[·...·truncated·by·diffoscope;·len:·627,·SHA:·9cda4f33a72fb857f882eb2bcf718a25b774613f095fd3cec6df948d18c235fd·...·]165 configuration·variable·<code·class="inline">ct_conn_log</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3078997119-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·1338,·SHA:·dedf6b98ca466b23ab717fed12609801b821657036fde289c8228cd30a83e3ee·...·]
 166 ····························</span><span·class="p"·data-group-id="4849771145-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="4849771145-7">[</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">key_or_name</span><span·class="p"·data-group-id="4849771145-8">(</span><span·class="p"·data-group-id="4849771145-8">)</span><span·class="p"·data-group-id="4849771145-7">]</span><span·class="p"·data-group-id="4849771145-6">}</span><span·class="p"·data-group-id="4849771145-4">]</span><span·class="p"·data-group-id="4849771145-3">}</span><span·class="p"·data-group-id="4849771145-2">]</span><span·class="p"·data-group-id="4849771145-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="1331654383-1">(</span><span·class="p"·data-group-id="1331654383-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="8717837559-1">(</span><span·class="p"·data-group-id="8717837559-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
170 ···</span><span·class="p"·data-group-id="1331654383-2">[</span><span·class="p"·data-group-id="1331654383-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1331654383-4">[</span><span·class="p"·data-group-id="1331654383-5">{</span><span·class="ss">cth_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1331654383-6">[</span><span·class="p"·data-group-id="1331654383-7">{</span><span·class="ss">ct_netconfc</span><span·class="p">,</span><span·class="p"·data-group-id="1331654383-8">[</span><span·class="p"·data-group-id="1331654383-9">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">pretty</span><span·class="p"·data-group-id="1331654383-9">}</span><span·class="p">}</span><span·class="p">,</span><span·class="w"> 
171 ··············································</span><span·class="p"·data-group-id="1331654383-10">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="1331654383-11">[</span><span·class="ss">nc_server1</span><span·class="p">,</span><span·class="ss">nc_server2</span><span·class="p"·data-group-id="1331654383-11">]</span><span·class="p"·data-group-id="1331654383-10">}</span><span·class="p"·data-group-id="1331654383-8">]</span><span·class="p"·data-group-id="1331654383-7">}</span><span·class="w"> 
172 ·······························</span><span·class="p"·data-group-id="1331654383-6">]</span><span·class="p"·data-group-id="1331654383-5">}</span><span·class="p"·data-group-id="1331654383-4">]</span><span·class="p"·data-group-id="1331654383-3">}</span><span·class="p"·data-group-id="1331654383-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="3007014634-1">(</span><span·class="ss">nc_server1</span><span·class="p">,</span><span·class="p"·data-group-id="3007014634-2">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3007014634-2">]</span><span·class="p"·data-group-id="3007014634-1">)</span><span·class="p">,</span><span·class="w"> 
173 </span><span·class="nf">open</span><span·class="p"·data-group-id="3007014634-3">(</span><span·class="ss">nc_server2</span><span·class="p">,</span><span·class="p"·data-group-id="3007014634-4">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3007014634-4">]</span><span·class="p"·data-group-id="3007014634-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="7743966361-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="7743966361-2">[</span><span·class="p"·data-group-id="7743966361-3">{</span><span·class="ss">ct_netconfc</span><span·class="p">,</span><span·class="p"·data-group-id="7743966361-4">[</span><span·class="p"·data-group-id="7743966361-5">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">raw</span><span·class="p"·data-group-id="7743966361-5">}</span><span·class="p"·data-group-id="7743966361-4">]</span><span·class="p"·data-group-id="7743966361-3">}</span><span·class="p"·data-group-id="7743966361-2">]</span><span·class="p"·data-group-id="7743966361-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="8054319885-1">(</span><span·class="p"·data-group-id="8054319885-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
175 ····</span><span·class="p"·data-group-id="8054319885-2">[</span><span·class="p"·data-group-id="8054319885-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8054319885-4">[</span><span·cla[·...·truncated·by·diffoscope;·len:·589,·SHA:·5007faf0e5586446e1d7ce9f63368f8c28b2b675a2c749895d2031e5ce99ec8e·...·]170 ···</span><span·class="p"·data-group-id="8717837559-2">[</span><span·class="p"·data-group-id="8717837559-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8717837559-4">[</span><span·clas[·...·truncated·by·diffoscope;·len:·601,·SHA:·e30270fe323dd0ed7334407a53e038e240036a5d532f7e8fd1f6328c9eeb0f10·...·]
 171 ··············································</span><span·class="p"·data-group-id="8717837559-10">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="8717837559-11">[</span><span·class="ss">nc_server1</span><span·class="p">,</span><span·class="ss">nc_server2</span><span·class="p"·data-group-id="8717837559-11">]</span><span·class="p"·data-group-id="8717837559-10">}</span><span·class="p"·data-group-id="8717837559-8">]</span><span·class="p"·data-group-id="8717837559-7">}</span><span·class="w">
 172 ·······························</span><span·class="p"·data-group-id="8717837559-6">]</span><span·class="p"·data-group-id="8717837559-5">}</span><span·class="p"·data-group-id="8717837559-4">]</span><span·class="p"·data-group-id="8717837559-3">}</span><span·class="p"·data-group-id="8717837559-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="8515739857-1">(</span><span·class="ss">nc_server1</span><span·class="p">,</span><span·class="p"·data-group-id="8515739857-2">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="8515739857-2">]</span><span·class="p"·data-group-id="8515739857-1">)</span><span·class="p">,</span><span·class="w">
 173 </span><span·class="nf">open</span><span·class="p"·data-group-id="8515739857-3">(</span><span·class="ss">nc_server2</span><span·class="p">,</span><span·class="p"·data-group-id="8515739857-4">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="8515739857-4">]</span><span·class="p"·data-group-id="8515739857-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="4269016012-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="4269016012-2">[</span><span·class="p"·data-group-id="4269016012-3">{</span><span·class="ss">ct_netconfc</span><span·class="p">,</span><span·class="p"·data-group-id="4269016012-4">[</span><span·class="p"·data-group-id="4269016012-5">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">raw</span><span·class="p"·data-group-id="4269016012-5">}</span><span·class="p"·data-group-id="4269016012-4">]</span><span·class="p"·data-group-id="4269016012-3">}</span><span·class="p"·data-group-id="4269016012-2">]</span><span·class="p"·data-group-id="4269016012-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="8591970570-1">(</span><span·class="p"·data-group-id="8591970570-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 175 ····</span><span·class="p"·data-group-id="8591970570-2">[</span><span·class="p"·data-group-id="8591970570-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8591970570-4">[</span><span·class="p"·data-group-id="8591970570-5">{</span><span·class="ss">cth_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8591970570-6">[</span><span·class="p"·data-group-id="8591970570-6">]</span><span·class="p"·data-group-id="8591970570-5">}</span><span·class="p"·data-group-id="8591970570-4">]</span><span·class="p"·data-group-id="8591970570-3">}</span><span·class="p"·data-group-id="8591970570-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="5255643694-1">[</span><span·class="p"·data-group-id="5255643694-2">{</span><span·class="ss">&#39;default-operation&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5255643694-3">[</span><span·class="s">&quot;none&qu[·...·truncated·by·diffoscope;·len:·103,·SHA:·33f4dc48432cec2db78654a53d09cf6f81d752959a25c2fc89b09742f09bdc1c·...·]4-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="4231426524-1">[</span><span·class="p"·data-group-id="4231426524-2">{</span><span·class="ss">&#39;default-operation&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4231426524-3">[</span><span·class="s">&quot;none&qu[·...·truncated·by·diffoscope;·len:·103,·SHA:·a2d115400989f2573fe1752d061ce2129ad68ec30b6acddaedf48267ebf3f1de·...·]4-2">}</span><span·class="p">,</span><span·class="w">
2103 ·</span><span·class="p"·data-group-id="5255643694-4">{</span><span·class="ss">&#39;error-option&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5255643694-5">[</span><span·class="s">&quot;rollback-on-error&quot;</span><span·class="p"·data-group-id="5255[·...·truncated·by·diffoscope;·len:·111,·SHA:·9ae9b0e790d54b31e32c76f6caecde08b1990ee3c22bb95542694d08aa2765d4·...·]4-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="4231426524-4">{</span><span·class="ss">&#39;error-option&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4231426524-5">[</span><span·class="s">&quot;rollback-on-error&quot;</span><span·class="p"·data-group-id="4231[·...·truncated·by·diffoscope;·len:·111,·SHA:·804ac30762279a195a4dbad0bf745ed1f1e7264cb935eeef79d5fe343b2822cd·...·]4-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3163 <p>Copyright·©·1996-2025·<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.27.7/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="7387268011-1">(</span><span·class="ss">my_prop_test_SUITE</span><span·class="p"·data-group-id="7387268011-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="1809468386-1">(</span><span·class="ss">my_prop_test_SUITE</span><span·class="p"·data-group-id="1809468386-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="7387268011-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="7387268011-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="1809468386-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="1809468386-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="7387268011-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="7387268011-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="1809468386-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="1809468386-3">)</span><span·class="p">.</span><span·class="w">
  
142 </span><span·class="nf">all</span><span·class="p"·data-group-id="7387268011-4">(</span><span·class="p"·data-group-id="7387268011-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7387268011-5">[</span><span·class="ss">prop_ftp_case</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·c99f8c3ef2333e9c45f31356e518a2d47037a3abad6e92951ad568f7214047f6·...·]-5">]</span><span·class="p">.</span><span·class="w">142 </span><span·class="nf">all</span><span·class="p"·data-group-id="1809468386-4">(</span><span·class="p"·data-group-id="1809468386-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1809468386-5">[</span><span·class="ss">prop_ftp_case</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·662a749c9a0d4ed6393741e689c88d4b2d6c96435f20b21a59cbaba68dc63125·...·]-5">]</span><span·class="p">.</span><span·class="w">
  
143 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="7387268011-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7387268011-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="1809468386-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1809468386-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="7387268011-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7387268011-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="1809468386-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1809468386-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="7387268011-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7387268011-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="1809468386-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1809468386-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="7387268011-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="1809468386-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="7387268011-10">(</span><span·class="p"·data-group-id="7387268011-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="1809468386-10">(</span><span·class="p"·data-group-id="1809468386-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="7387268011-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="1809468386-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="4700085016-1">(</span><span·class="ss">ftp_simple_client_server</span><span·class="p"·data-group-id="4700085016-1">)</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="1293715414-1">(</span><span·class="ss">ftp_simple_client_server</span><span·class="p"·data-group-id="1293715414-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="4700085016-2">(</span><span·class="p"·data-group-id="4700085016-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-i[·...·truncated·by·diffoscope;·len:·66,·SHA:·7fc57dc1a1005cc9569ff3ba403ee052c28113d646763f311b831948fc129fec·...·]-2">)</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="1293715414-2">(</span><span·class="p"·data-group-id="1293715414-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-i[·...·truncated·by·diffoscope;·len:·66,·SHA:·2224c46dbad3e395eba5321abd2ac36d43f7206a30fa614d846729274770da48·...·]-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="4700085016-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="4700085016-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="1293715414-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="1293715414-4">)</span><span·class="p">.</span><span·class="w">
  
156 </span><span·class="nf">prop_ftp</span><span·class="p"·data-group-id="4700085016-5">(</span><span·class="p"·data-group-id="4700085016-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="1293715414-5">(</span><span·class="p"·data-group-id="1293715414-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="4700085016-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="1293715414-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="9934658641-1">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="9934658641-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="2121590001-1">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="2121590001-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-6.2.2/doc/html/proplists.html#t:proplist/0">proplists:proplist</a>(),947 ····························Config·::·<a·href="../../../../lib/stdlib-6.2.2/doc/html/proplists.html#t:proplist/0">proplists:proplist</a>(),
948 ····························Options0·::·<a·href="../../../../lib/stdlib-6.2.2/doc/html/proplists.html#t:proplist/0">proplists:proplist</a>().</pre>948 ····························Options0·::·<a·href="../../../../lib/stdlib-6.2.2/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="6750772713-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="6750772713-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="7404721727-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="7404721727-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="6750772713-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><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·858928cfc0caceed59a63848a6285d554bacb818e63bd6d195bc3bb89a451487·...·]-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="7404721727-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><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·1882adb940582f52d8d5f164d8a19b94ac70f6c15d25241db5f2242e2a50fad7·...·]-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="7674856574-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="7674856574-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="6779161087-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="6779161087-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="1123442329-1">[</span><span·class="p"·data-group-id="1123442329-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:·94f448e8d129a90d20880089fd4a2f78f70a26828286cc67eb03357f942dc6bd·...·]-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="2323548035-1">[</span><span·class="p"·data-group-id="2323548035-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:·7bf4143439cb224104f448722b4690c125c634526bfe43467f5f27592c733228·...·]-2">}</span><span·class="p">,</span><span·class="w">
967 ·</span><span·class="p"·data-group-id="1123442329-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="2323548035-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="1123442329-3">}</span><span·class="p"·data-group-id="1123442329-1">]</span></code></pre></li><li><p>For·parallel·commands:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5718517022-1">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·322,·SHA:·dafde1c4c79408a66132a4db5ed58ae714b9f67eb6b1e69a3bc24871a2847a96·...·]-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="2323548035-3">}</span><span·class="p"·data-group-id="2323548035-1">]</span></code></pre></li><li><p>For·parallel·commands:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0427990321-1">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·322,·SHA:·8a47cf80dd2e5d4646eb6d7136a6858e8e93619cb16549cbc916dc503ed80c16·...·]-2">}</span><span·class="p">,</span><span·class="w">
969 ·</span><span·class="p"·data-group-id="5718517022-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:·b7f4fac6a954e0f9eeef59efd56bf7caf9f7c4e8bfb425a6b0e7e59080b70113·...·]-3">}</span><span·class="p">,</span><span·class="w">969 ·</span><span·class="p"·data-group-id="0427990321-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:·83fbf217f9e75de730f3a7ec0a894a7e371b4e04646f60839d934e900d8f4738·...·]-3">}</span><span·class="p">,</span><span·class="w">
970 ·</span><span·class="p"·data-group-id="5718517022-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="0427990321-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="5718517022-4">}</span><span·class="p"·data-group-id="5718517022-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="0427990321-4">}</span><span·class="p"·data-group-id="0427990321-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1060 <p>Copyright·©·1996-2025·<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.27.7/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="9442706791-1">(</span><span·class="ss">ct_prop</span><span·class="p"·data-group-id="9442706791-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="7167489918-1">(</span><span·class="ss">ct_prop</span><span·class="p"·data-group-id="7167489918-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="9442706791-2">(</span><span·class="p"·data-group-id="9442706791-3">[</span><span·class="ss">prop_sort</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9442706791-3">]</span><span·class="p"·data-group-id="9442706791-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="7167489918-2">(</span><span·class="p"·data-group-id="7167489918-3">[</span><span·class="ss">prop_sort</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7167489918-3">]</span><span·class="p"·data-group-id="7167489918-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="9442706791-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="9442706791-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="7167489918-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="7167489918-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="9442706791-5">(</span><span·class="p"·data-group-id="9442706791-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="7167489918-5">(</span><span·class="p"·data-group-id="7167489918-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="9442706791-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="9442706791-7">(</span><span·class="p"·data-group-id="9442706791-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="7167489918-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="7167489918-7">(</span><span·class="p"·data-group-id="7167489918-7">)</span><span·class="p">,</span><span·class="w">
159 ············</span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="9442706791-8">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="9442706791-9">(</span><span·class="n">UnSorted</span><span·class="p"·data-group-id="9442706791-9">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·0066ec49c69664a611f60087877e62bf47e779f65767133bdb36ee0dbd2257ae·...·]-8">)</span><span·class="w">159 ············</span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="7167489918-8">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="7167489918-9">(</span><span·class="n">UnSorted</span><span·class="p"·data-group-id="7167489918-9">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·05812cccf6320e7a1313a601edf550a98f3bb1b319520d3c17ec61b9f6932703·...·]-8">)</span><span·class="w">
160 ···········</span><span·class="p"·data-group-id="9442706791-6">)</span><span·class="p">.</span><span·class="w">160 ···········</span><span·class="p"·data-group-id="7167489918-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="9442706791-10">(</span><span·class="p"·data-group-id="9442706791-11">[</span><span·class="p"·data-group-id="9442706791-11">]</span><span·class="p"·data-group-id="9442706791-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="7167489918-10">(</span><span·class="p"·data-group-id="7167489918-11">[</span><span·class="p"·data-group-id="7167489918-11">]</span><span·class="p"·data-group-id="7167489918-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="9442706791-12">(</span><span·class="p"·data-group-id="9442706791-13">[</span><span·class="p">_</span><span·class="p"·data-group-id="9442706791-13">]</span><span·class="p"·data-group-id="9442706791-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="7167489918-12">(</span><span·class="p"·data-group-id="7167489918-13">[</span><span·class="p">_</span><span·class="p"·data-group-id="7167489918-13">]</span><span·class="p"·data-group-id="7167489918-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="9442706791-14">(</span><span·class="p"·data-group-id="9442706791-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="9442706791-15">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·2a0f82df1c70b634144ab8cb2a663f2911524bb2cfd096d6c655b5403b8f57d6·...·]-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="7167489918-14">(</span><span·class="p"·data-group-id="7167489918-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="7167489918-15">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·e2071fcac0316d353ac919341fd3c7f2a517933002cddcc5742d466c51571eb8·...·]-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="9442706791-16">(</span><span·class="p"·data-group-id="9442706791-17">[</span><span·class="n">H2</span><span·class="p">|</span><span·class="n">SortedTail</span><span·class="p"·data-group-id="9442706791-17">]</span><span·class="p"·data-group-id="9442706791-16">)</span><span·class="p">;</span><span·class="w">167 ····</span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="7167489918-16">(</span><span·class="p"·data-group-id="7167489918-17">[</span><span·class="n">H2</span><span·class="p">|</span><span·class="n">SortedTail</span><span·class="p"·data-group-id="7167489918-17">]</span><span·class="p"·data-group-id="7167489918-16">)</span><span·class="p">;</span><span·class="w">
168 </span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="9442706791-18">(</span><span·class="p">_</span><span·class="p"·data-group-id="9442706791-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="7167489918-18">(</span><span·class="p">_</span><span·class="p"·data-group-id="7167489918-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="3122139822-1">(</span><span·class="ss">ct_property_test_SUITE</span><span·class="p"·data-group-id="3122139822-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="8084811152-1">(</span><span·class="ss">ct_property_test_SUITE</span><span·class="p"·data-group-id="8084811152-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="3122139822-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="3122139822-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="8084811152-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="8084811152-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="3122139822-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="3122139822-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="8084811152-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="8084811152-3">)</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">all</span><span·class="p"·data-group-id="3122139822-4">(</span><span·class="p"·data-group-id="3122139822-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3122139822-5">[</span><span·class="ss">prop_sort</span><span·class="w">173 </span><span·class="nf">all</span><span·class="p"·data-group-id="8084811152-4">(</span><span·class="p"·data-group-id="8084811152-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8084811152-5">[</span><span·class="ss">prop_sort</span><span·class="w">
174 ·········</span><span·class="p"·data-group-id="3122139822-5">]</span><span·class="p">.</span><span·class="w">174 ·········</span><span·class="p"·data-group-id="8084811152-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="3122139822-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3122139822-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="8084811152-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8084811152-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="3122139822-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3122139822-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="8084811152-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8084811152-7">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="3122139822-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3122139822-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="8084811152-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8084811152-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="3122139822-9">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3122139822-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="8084811152-9">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8084811152-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="3122139822-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="8084811152-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="3122139822-11">(</span><span·class="p"·data-group-id="3122139822-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="8084811152-11">(</span><span·class="p"·data-group-id="8084811152-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="3122139822-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="8084811152-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="3144518632-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3144518632-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="7309851399-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7309851399-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="3144518632-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="7309851399-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="3144518632-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="3144518632-4">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·ae893b8755b130ce81d2ab889b7127833fc97d7ec9e0c553d47cdccbabd7e770·...·]-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="7309851399-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="7309851399-4">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·6f619a20ba1f3ce871a50a66bd7216f2d5abe03de6365500f5673f5f7ccbc93e·...·]-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="3144518632-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="3144518632-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="7309851399-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="7309851399-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="3144518632-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:·f13d19dc850e132ceab9aff3d1c21f8a3e004868e4873f49e4b67f608c77fe37·...·]-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="7309851399-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:·77ecf3a332bff692de8d07a18617539ba2426361c1807970cf2b60828cb845e3·...·]-6">)</span><span·class="w">
230 ·····················</span><span·class="k">end</span><span·class="p"·data-group-id="3144518632-3">)</span><span·class="p"·data-group-id="3144518632-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="7309851399-3">)</span><span·class="p"·data-group-id="7309851399-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>331 <p>Copyright·©·1996-2025·<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.5 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>558 <p>Copyright·©·1996-2025·<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.06 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/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="5356376049-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:·dc7e4bf9b2cac5e31a4da834362084ac87021ad9964801839e9b76e389f8e1d2·...·]-1">]</span><span·class="w">254 ··</span><span·class="p"·data-group-id="4431183141-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:·2eb4652a51d897bee17047d49f347150cd90fa77484cb5ddfbf9a6d4864778c4·...·]-1">]</span><span·class="w">
255 ··</span><span·class="p"·data-group-id="5356376049-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="4431183141-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="5356376049-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="4431183141-2">]</span><span·class="w">
257 ··</span><span·class="p"·data-group-id="5356376049-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="5356376049-3">]</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·208,·SHA:·c82f4fb39de522c51cc08bf25c713ec73280302a9c5a8504529181010c1f497e·...·]-4">]</span></code></pre><h2·id="start-a-common-test-master-node"·class="section-heading">257 ··</span><span·class="p"·data-group-id="4431183141-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="4431183141-3">]</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·208,·SHA:·22fc682fb9ed2fe5a0a2f236c975b0ea5316e48943de19001c3e2eefe0053cad·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>310 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>554 <p>Copyright·©·1996-2025·<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.27.7/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.2.7/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.2.7/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="3569098556-1">(</span><span·class="p"·data-group-id="3569098556-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3569098556-2">[</span><span·class="p"·data-group-id="3569098556-3">{</span[·...·truncated·by·diffoscope;·len:·683,·SHA:·b6287b6f97ee23e346740590b799bbe09fcb9220283c41dc887cec2acf84bd8d·...·]-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="2544086825-1">(</span><span·class="p"·data-group-id="2544086825-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2544086825-2">[</span><span·class="p"·data-group-id="2544086825-3">{</span[·...·truncated·by·diffoscope;·len:·683,·SHA:·acf72f11347efe0dc16c68dff116398a99cbab3275d18f8c0dfa084e0d0d89bb·...·]-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.18.2/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.18.2/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="1375868156-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="1375868156-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="9529698986-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="9529698986-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.18.2/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.18.2/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="5187582414-1">{</span><span·class="ss">snmp_app</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5187582414-2">[</span><span·class="p"·data-group-id="5187582414-3">{</span><span·class="ss">manager</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·331,·SHA:·c45de84ead7d31e9c35f737a1a7b5e9efaed992b16f64c70b8f097941095e531·...·]-3">}</span><span·class="p">,</span><span·class="w">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="7294773299-1">{</span><span·class="ss">snmp_app</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7294773299-2">[</span><span·class="p"·data-group-id="7294773299-3">{</span><span·class="ss">manager</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·331,·SHA:·e4983accd850f50d4e39bcbfe5cc20899d615481230005a53b577560fe03888a·...·]-3">}</span><span·class="p">,</span><span·class="w">
161 ············</span><span·class="p"·data-group-id="5187582414-6">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5187582414-7">[</span><span·class="nf">snmp_app_agent_params</span><span·class="p"·data-group-id="5187582414-8">(</span><span·[·...·truncated·by·diffoscope;·len:·247,·SHA:·0c9e9ca6530d1989c2d0223f86694e8230db64070a08d6c1123ccedf29ff8db4·...·]-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·the161 ············</span><span·class="p"·data-group-id="7294773299-6">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7294773299-7">[</span><span·class="nf">snmp_app_agent_params</span><span·class="p"·data-group-id="7294773299-8">(</span><span·[·...·truncated·by·diffoscope;·len:·247,·SHA:·ebbffd601f51a5ed584199a1ff3e4cec34ed6da8d3b9fe3ea0423f59f495d169·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1845 <p>Copyright·©·1996-2025·<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.13 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/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="2627878475-1">[</span><span·class="p"·data-group-id="2627878475-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="2627878475-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="1393884149-1">[</span><span·class="p"·data-group-id="1393884149-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="1393884149-2">}</span><span·class="p">,</span><span·class="w">
136 ·</span><span·class="p"·data-group-id="2627878475-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="2627878475-3">}</span><span·class="p">,</span><span·class="w">136 ·</span><span·class="p"·data-group-id="1393884149-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="1393884149-3">}</span><span·class="p">,</span><span·class="w">
137 ·</span><span·class="p"·data-group-id="2627878475-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="2627878475-4">}</span><span·class="w">137 ·</span><span·class="p"·data-group-id="1393884149-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="1393884149-4">}</span><span·class="w">
138 ·</span><span·class="p"·data-group-id="2627878475-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="2627878475-5">}</span><span·class="w">138 ·</span><span·class="p"·data-group-id="1393884149-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="1393884149-5">}</span><span·class="w">
139 ·</span><span·class="p"·data-group-id="2627878475-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="2627878475-6">}</span><span·class="w">139 ·</span><span·class="p"·data-group-id="1393884149-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="1393884149-6">}</span><span·class="w">
140 ·</span><span·class="p"·data-group-id="2627878475-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="2627878475-7">}</span><span·class="w">140 ·</span><span·class="p"·data-group-id="1393884149-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="1393884149-7">}</span><span·class="w">
141 ·</span><span·class="p"·data-group-id="2627878475-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="2627878475-8">}</span><span·class="w">141 ·</span><span·class="p"·data-group-id="1393884149-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="1393884149-8">}</span><span·class="w">
142 ·</span><span·class="p"·data-group-id="2627878475-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="2627878475-9">}</span><span·class="p"·data-group-id="2627878475-1">]</span></code></pre><p><code·class="inline">ConnType·=·ssh·|·sftp</code>.</p><p>For·other·types,·see·<a·href="../../../../lib/ssh-5.2.11/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="1393884149-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="1393884149-9">}</span><span·class="p"·data-group-id="1393884149-1">]</span></code></pre><p><code·class="inline">ConnType·=·ssh·|·sftp</code>.</p><p>For·other·types,·see·<a·href="../../../../lib/ssh-5.2.11/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3713 <p>Copyright·©·1996-2025·<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.57 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/ct_suite.html
    
Offset 1585, 15 lines modifiedOffset 1585, 15 lines modified
1585 ······<p·class="built-using">1585 ······<p·class="built-using">
1586 ········Built·using1586 ········Built·using
1587 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1587 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1588 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1588 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1589 ······</p>1589 ······</p>
1590 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1590 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1591 ····</footer>1591 ····</footer>
1592 ··</div>1592 ··</div>
1593 </main>1593 </main>
1594 </div>1594 </div>
1595 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1595 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1596 ··<script>1596 ··<script>
1597 ··let·initialized·=·false;1597 ··let·initialized·=·false;
748 B
html2text {}
Max HTML report size reached
33.7 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/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="0083739436-1">{</span><span·class="ss">telnet_settings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0083739436-2">[</span><span·class="p"·data-group-id="0083739436-3">{</span><span·class="ss">connect_timeout</span><s[·...·truncated·by·diffoscope;·len:·94,·SHA:·95934d5aac0145e545ceb662b09d8d3e68ace1999a7cd50caf7b2971aef71e79·...·]-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="6025693543-1">{</span><span·class="ss">telnet_settings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6025693543-2">[</span><span·class="p"·data-group-id="6025693543-3">{</span><span·class="ss">connect_timeout</span><s[·...·truncated·by·diffoscope;·len:·94,·SHA:·0fa0684cd182e11e7138820f4add609cff2768f7e87a8317de36110d6d759b65·...·]-3">}</span><span·class="p">,</span><span·class="w">
140 ···················</span><span·class="p"·data-group-id="0083739436-4">{</span><span·class="ss">command_timeout</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="0083739436-4">}</span><span·class="p">,</span><span·class="w">140 ···················</span><span·class="p"·data-group-id="6025693543-4">{</span><span·class="ss">command_timeout</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="6025693543-4">}</span><span·class="p">,</span><span·class="w">
141 ···················</span><span·class="p"·data-group-id="0083739436-5">{</span><span·class="ss">reconnection_attempts</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="0083739436-5">}</span><span·class="p">,</span><span·class="w">141 ···················</span><span·class="p"·data-group-id="6025693543-5">{</span><span·class="ss">reconnection_attempts</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="6025693543-5">}</span><span·class="p">,</span><span·class="w">
142 ···················</span><span·class="p"·data-group-id="0083739436-6">{</span><span·class="ss">reconnection_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="0083739436-6">}</span><span·class="p">,</span><span·class="w">142 ···················</span><span·class="p"·data-group-id="6025693543-6">{</span><span·class="ss">reconnection_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="6025693543-6">}</span><span·class="p">,</span><span·class="w">
143 ···················</span><span·class="p"·data-group-id="0083739436-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="0083739436-7">}</span><span·class="p">,</span><span·class="w">143 ···················</span><span·class="p"·data-group-id="6025693543-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="6025693543-7">}</span><span·class="p">,</span><span·class="w">
144 ···················</span><span·class="p"·data-group-id="0083739436-8">{</span><span·class="ss">poll_limit</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="0083739436-8">}</span><span·class="p">,</span><span·class="w">144 ···················</span><span·class="p"·data-group-id="6025693543-8">{</span><span·class="ss">poll_limit</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="6025693543-8">}</span><span·class="p">,</span><span·class="w">
145 ···················</span><span·class="p"·data-group-id="0083739436-9">{</span><span·class="ss">poll_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="0083739436-9">}</span><span·class="p">,</span><span·class="w">145 ···················</span><span·class="p"·data-group-id="6025693543-9">{</span><span·class="ss">poll_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="6025693543-9">}</span><span·class="p">,</span><span·class="w">
146 ···················</span><span·class="p"·data-group-id="0083739436-10">{</span><span·class="ss">tcp_nodelay</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="0083739436-10">}</span><span·class="p"·data-group-id="0083739436-2">]</span><span·class="p"·data-group-id="008373943[·...·truncated·by·diffoscope;·len:·1,·SHA:·e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683·...·]-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">Millisec·=·integer(),·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="6025693543-10">{</span><span·class="ss">tcp_nodelay</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="6025693543-10">}</span><span·class="p"·data-group-id="6025693543-2">]</span><span·class="p"·data-group-id="602569354[·...·truncated·by·diffoscope;·len:·1,·SHA:·4e07408562bedb8b60ce05c1decfe3ad16b72230967de01f640b7e4729b49fce·...·]-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">Millisec·=·integer(),·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="3504706238-1">(</span><span·class="p"·data-group-id="3504706238-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="9650761415-1">(</span><span·class="p"·data-group-id="9650761415-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 ····</span><span·class="p"·data-group-id="3504706238-2">[</span><span·class="p"·data-group-id="3504706238-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3504706238-4">[</span><span·class="p"·data-group-id="3504706238-5">{</[·...·truncated·by·diffoscope;·len:·805,·SHA:·7e6dd8234cb0401cca7e57e6d04e721ef59818c8aed06e04290ec903a845c212·...·]-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="9650761415-2">[</span><span·class="p"·data-group-id="9650761415-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9650761415-4">[</span><span·class="p"·data-group-id="9650761415-5">{</[·...·truncated·by·diffoscope;·len:·805,·SHA:·83a2e56ab2e7b32e5bea20e427614f30ccc70b5381fbf35fa56ef6d99fed03d1·...·]-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="8158538249-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8158538249-2">[</span><span·class="p"·data-group-id="8158538249-3">{</span><span·class="ss">ct_telnet</span><span·class="p">,</span><span·class="p"·data-group-id="8158538249-4">[</span><span·class="p"·data-group-id="8158538249-5">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">raw</span><span·class="p"·data-group-id="8158538249-5">}</span><span·class="p">,</span><span·class="w"> 
180 ···························</span><span·class="p"·data-group-id="8158538249-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="8158538249-7">[</span><span·class="nf">key_or_name</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·576,·SHA:·46f89e6421fb91356e4813a6a210a9d791998d9b17728229b708b73008ddfe5f·...·]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="0675099999-1">{</span><span·class="ss">ct_conn_log</span><span[·...·truncated·by·diffoscope;·len:·488,·SHA:·e6a9d3da5611235c3e7e027434683646b0dc80db30086038035520d5c6bd7ed0·...·]
 180 ···························</span><span·class="p"·data-group-id="0675099999-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="0675099999-7">[</span><span·class="nf">key_or_name</span><span·class="p"·data-group-id="0675099999-8">(</span><span·class="p"·data-group-id="0675099999-8">)</span><span·class="p"·data-group-id="0675099999-7">]</span><span·class="p"·data-group-id="0675099999-6">}</span><span·class="p"·data-group-id="0675099999-4">]</span><span·class="p"·data-group-id="0675099999-3">}</span><span·class="p"·data-group-id="0675099999-2">]</span><span·class="p"·data-group-id="0675099999-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="3887456253-1">(</span><span·class="p"·data-group-id="3887456253-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="3394405707-1">(</span><span·class="p"·data-group-id="3394405707-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
184 ····</span><span·class="p"·data-group-id="3887456253-2">[</span><span·class="p"·data-group-id="3887456253-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">184 ····</span><span·class="p"·data-group-id="3394405707-2">[</span><span·class="p"·data-group-id="3394405707-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">
185 ······</span><span·class="p"·data-group-id="3887456253-4">[</span><span·class="p"·data-group-id="3887456253-5">{</span><span·class="ss">cth_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3887456253-6">[</span><span·class="p"·data-group-id="3887456253-7">[·...·truncated·by·diffoscope;·len:·830,·SHA:·23a3dc12760b937181a0d0573f92b4f973ac24a292f431fc0df50b3b298b2869·...·]-2">]</span><span·class="p">.</span></code></pre><p>As·previously·explained,·this·specification·can·also·be·provided·by·an·entry185 ······</span><span·class="p"·data-group-id="3394405707-4">[</span><span·class="p"·data-group-id="3394405707-5">{</span><span·class="ss">cth_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3394405707-6">[</span><span·class="p"·data-group-id="3394405707-7">[·...·truncated·by·diffoscope;·len:·830,·SHA:·7a25195ce781b70d4b759a3ac13c13b26e7d82e124a00d3ca76e39d16dd3e42d·...·]-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="4829370549-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4829370549-2">[</span><span·class="p"·data-group-id="4829370549-3">{</span><span·class="ss">ct_telnet</span><span·class=[·...·truncated·by·diffoscope;·len:·945,·SHA:·7e2131d3f05751eeb8fdd8b6e64fa574c9d6ed4bbb01659ef241999756bea8c5·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">186 like·the·following·in·a·configuration·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2142533267-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2142533267-2">[</span><span·class="p"·data-group-id="2142533267-3">{</span><span·class="ss">ct_telnet</span><span·class=[·...·truncated·by·diffoscope;·len:·945,·SHA:·5158282668cfeddde9c1d2a5d8bb49f4a953c9a406ad3341d42a7b58ab641a77·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
187 ····</span><span·class="p"·data-group-id="3115188043-2">[</span><span·class="p"·data-group-id="3115188043-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3115188043-4">[</span><span·class="p"·data-group-id="3115188043-5">{</[·...·truncated·by·diffoscope;·len:·395,·SHA:·3c009d2a05b05e2b690f8d99aad5f0137ec35385bae1d48004f8a2d53d2e7b89·...·]-2">]</span><span·class="p">.</span></code></pre><h2·id="module-see-also"·class="section-heading">187 ····</span><span·class="p"·data-group-id="1072859074-2">[</span><span·class="p"·data-group-id="1072859074-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1072859074-4">[</span><span·class="p"·data-group-id="1072859074-5">{</[·...·truncated·by·diffoscope;·len:·395,·SHA:·2032b4bfb9a2119573e0fe7b54e60c8fab05f75ea211ef6c2247f4fdf6887e81·...·]-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="3840511145-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="3840511145-2">[</span><span·class="p"·data-group-id="3840511145-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1029,·SHA:·8198f4d5e0e7d5971d144cd357cbbe8c69a1768d0f5b9890d2b1e536f25e4c22·...·]-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="1965884218-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="1965884218-2">[</span><span·class="p"·data-group-id="1965884218-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1029,·SHA:·2f0f897df22f410b9aa7caaa5eaa6a37c4e12429b83eaeddb7f9f71dc2709d60·...·]-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="5264361755-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="5264361755-2">[</span><span·class="p"·data-group-id="5264361755-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1182,·SHA:·a61dbeb22532c82ffe117b179dc23de6be4ef4e8ddd185e30190ceeeedd8319d·...·]-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="6851547111-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="6851547111-2">[</span><span·class="p"·data-group-id="6851547111-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1182,·SHA:·f65b4797594d1d28c23d1d7e954c8bd9d52b48d933bed19c35567ce81945dc11·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1194 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>238 <p>Copyright·©·1996-2025·<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.27.7/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="9758917760-1">(</span><span·class="ss">my_server_SUITE</span><span·class="p"·data-group-id="9758917760-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="0329073823-1">(</span><span·class="ss">my_server_SUITE</span><span·class="p"·data-group-id="0329073823-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="9758917760-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="9758917760-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="0329073823-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="0329073823-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="9758917760-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="9758917760-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="0329073823-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="0329073823-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="9758917760-4">(</span><span·class="p"·data-group-id="9758917760-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9758917760-5">[</span><span·class="p"·data-group-id="9758917760-6">{</span[·...·truncated·by·diffoscope;·len:·187,·SHA:·130934a2d3f9fc2619d3929f2e81670b72ac5621ed0b775d84962727369552cb·...·]-5">]</span><span·class="p">.</span><span·class="w">168 </span><span·class="nf">suite</span><span·class="p"·data-group-id="0329073823-4">(</span><span·class="p"·data-group-id="0329073823-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0329073823-5">[</span><span·class="p"·data-group-id="0329073823-6">{</span[·...·truncated·by·diffoscope;·len:·187,·SHA:·a30cc4d202acaa716dbc8f08ef9df6a36a5588dd83dfb47d575e0834ae4f649d·...·]-5">]</span><span·class="p">.</span><span·class="w">
  
169 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="9758917760-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="9758917760-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="0329073823-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="0329073823-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="9758917760-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="9758917760-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="0329073823-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="0329073823-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ····</span><span·class="p"·data-group-id="9758917760-9">[</span><span·class="p"·data-group-id="9758917760-10">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="nf">start_server</span><span·class="p"·data-group-id="9758917760-11">(</span><span·class="p"·data-group-id="9[·...·truncated·by·diffoscope;·len:·218,·SHA:·44da80d868267d9a3bdd0bcc021440f25977b95aecaeba98c7778cee8d103c9e·...·]-9">]</span><span·class="p">;</span><span·class="w">172 ····</span><span·class="p"·data-group-id="0329073823-9">[</span><span·class="p"·data-group-id="0329073823-10">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="nf">start_server</span><span·class="p"·data-group-id="0329073823-11">(</span><span·class="p"·data-group-id="0[·...·truncated·by·diffoscope;·len:·218,·SHA:·916d3510a8fc279a482c871d5362f94b1319991c3e7893353488c3a88186174a·...·]-9">]</span><span·class="p">;</span><span·class="w">
  
173 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="9758917760-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="9758917760-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="0329073823-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="0329073823-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="9758917760-13">(</span><span·class="p"·data-group-id="9758917760-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="0329073823-13">(</span><span·class="p"·data-group-id="0329073823-13">)</span><span·class="p">,</span><span·class="w">
175 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="9758917760-14">(</span><span·class="p"·data-group-id="9758917760-14">)</span><span·class="p">,</span><span·class="w">175 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="0329073823-14">(</span><span·class="p"·data-group-id="0329073823-14">)</span><span·class="p">,</span><span·class="w">
176 ····</span><span·class="p"·data-group-id="9758917760-15">[</span><span·class="p"·data-group-id="9758917760-16">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="9758917760-16">}</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·107,·SHA:·420d5b99aad51a82f5625d731280fea3f6e79666949b7e7c3e42a91e8f0a49d8·...·]-15">]</span><span·class="p">.</span><span·class="w">176 ····</span><span·class="p"·data-group-id="0329073823-15">[</span><span·class="p"·data-group-id="0329073823-16">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="0329073823-16">}</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·107,·SHA:·eba597a114ce95b4ae0a2672a94409237adfa8986d73281c77b26336ec59829e·...·]-15">]</span><span·class="p">.</span><span·class="w">
  
177 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="9758917760-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="9758917760-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="0329073823-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="0329073823-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="9758917760-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="9758917760-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="0329073823-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="0329073823-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="9758917760-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="9758917760-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="0329073823-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="0329073823-19">)</span><span·class="p">,</span><span·class="w">
181 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="9758917760-20">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="9758917760-20">)</span><span·class="p">.</span><span·class="w">181 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="0329073823-20">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="0329073823-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="9758917760-21">(</span><span·class="p"·data-group-id="9758917760-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9758917760-22">[</span><span·class="ss">start_and_stop</span><span·class[·...·truncated·by·diffoscope;·len:·202,·SHA:·9e4fdd05c07b80c53a5bdc1fb21a4e3756d1b2673c02f2745cf0b189646cfcde·...·]-22">]</span><span·class="p">.</span><span·class="w">183 </span><span·class="nf">all</span><span·class="p"·data-group-id="0329073823-21">(</span><span·class="p"·data-group-id="0329073823-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0329073823-22">[</span><span·class="ss">start_and_stop</span><span·class[·...·truncated·by·diffoscope;·len:·202,·SHA:·2a90faabd3d43bb3e42e9580dd4d7aafad16dd0f3b69fdc6593e6513edd5edee·...·]-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="9758917760-23">(</span><span·class="p">_</span><span·class="p"·data-group-id="9758917760-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="0329073823-23">(</span><span·class="p">_</span><span·class="p"·data-group-id="0329073823-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="9758917760-24">(</span><span·class="p"·data-group-id="9758917760-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="0329073823-24">(</span><span·class="p"·data-group-id="0329073823-24">)</span><span·class="p">,</span><span·class="w">
187 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="9758917760-25">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="9758917760-25">)</span><span·class="p">.</span><span·class="w">187 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="0329073823-25">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="0329073823-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="9758917760-26">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9758917760-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="0329073823-26">(</span><span·class="n">Config</span><span·class="p"·data-group-id="0329073823-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="9758917760-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="9758917760-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="0329073823-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="0329073823-27">)</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="9758917760-28">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="9758917760-28">)</span><span·class="p">.</span><span·class="w">191 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="0329073823-28">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="0329073823-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="9758917760-29">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9758917760-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="0329073823-29">(</span><span·class="n">Config</span><span·class="p"·data-group-id="0329073823-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="9758917760-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="9758917760-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="0329073823-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="0329073823-30">)</span><span·class="p">,</span><span·class="w">
195 ····</span><span·class="p"·data-group-id="9758917760-31">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="9758917760-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:·2910fa829698a01a067e58b6fc48a3c094a451be019e36b7880bc42e50e75e7a·...·]-32">)</span><span·class="p">,</span><span·class="w">195 ····</span><span·class="p"·data-group-id="0329073823-31">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="0329073823-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:·35f051f58ce083bfdc1f387f4c0bea27056483beb6fb6d87b65ce01f4b944a1b·...·]-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="9758917760-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="9758917760-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="0329073823-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="0329073823-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="9758917760-34">(</span><span·class="p"·data-group-id="9758917760-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="0329073823-34">(</span><span·class="p"·data-group-id="0329073823-34">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ····</span><span·class="p"·data-group-id="9758917760-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="9758917760-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:·49e76497913c06c47b896e4a5721b4269dd9919e5304b1c131cb392a7db1c3e2·...·]-36">)</span><span·class="p">,</span><span·class="w">199 ····</span><span·class="p"·data-group-id="0329073823-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="0329073823-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:·6461c700fb1c9c67595fedba7490a521ce0f947f327e5586464fd6797a66e25a·...·]-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="9758917760-37">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="9758917760-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="0329073823-37">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="0329073823-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="9758917760-38">(</span><span·class="p"·data-group-id="9758917760-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="0329073823-38">(</span><span·class="p"·data-group-id="0329073823-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="9758917760-39">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="9758917760-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="0329073823-39">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="0329073823-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="9758917760-40">(</span><span·class="ss">my_server_cfg</span><span·class="p"·data-group-id="9758917760-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="0329073823-40">(</span><span·class="ss">my_server_cfg</span><span·class="p"·data-group-id="0329073823-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="9758917760-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="9758917760-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="0329073823-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="0329073823-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="8414625852-1">(</span><span·class="ss">server_b_SUITE</span><span·class="p"·data-group-id="8414625852-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="2083402209-1">(</span><span·class="ss">server_b_SUITE</span><span·class="p"·data-group-id="2083402209-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="8414625852-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="8414625852-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="2083402209-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="2083402209-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="8414625852-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="8414625852-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="2083402209-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="2083402209-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="8414625852-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8414625852-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="2083402209-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2083402209-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="8414625852-5">{</span><span·class="ss">server_a_SUITE</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="8414625852-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc[·...·truncated·by·diffoscope;·len:·282,·SHA:·c22338c94335f01204b2373cd955691d52ff1e29fb749334e0cb95b6b841d4a9·...·]-6">)</span><span·class="p">,</span><span·class="w">256 ····</span><span·class="p"·data-group-id="2083402209-5">{</span><span·class="ss">server_a_SUITE</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="2083402209-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc[·...·truncated·by·diffoscope;·len:·282,·SHA:·05fc4cbaf37ea6a5e5e5042c36a4d74e62199dd35384f25e9d526615e1a93f9a·...·]-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="8414625852-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="8414625852-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="2083402209-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="2083402209-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="8414625852-8">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="8414625852-8">)</span><span·class="p">,</span><span·class="w"> 
260 ····</span><span·class="p"·data-group-id="8414625852-9">[</span><span·class="p"·data-group-id="8414625852-10">{</span><span·class="ss">ids</span><span·class="p">,</span><span·class="p"·data-group-id="8414625852-11">{</span><span·class="n">ServerId</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·309,·SHA:·321d78efea0aaa134aaabdf2166746b849b01e375569e954db259cc750266cba·...·]</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="2083402209-8">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="208340220[·...·truncated·by·diffoscope;·len:·30,·SHA:·16c6c3dafadf3210dbedfa41b4afdae7382612c26eadf757c7f6475a22be646d·...·]</span><span·class="w">
 260 ····</span><span·class="p"·data-group-id="2083402209-9">[</span><span·class="p"·data-group-id="2083402209-10">{</span><span·class="ss">ids</span><span·class="p">,</span><span·class="p"·data-group-id="2083402209-11">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="2083402209-11">}</span><span·class="p"·data-group-id="2083402209-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="2083402209-9">]</span><span·class="p">.</span><span·class="w">
  
261 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="8414625852-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8414625852-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="2083402209-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2083402209-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="8414625852-13">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="8414625852-13">}</span><span·class="w">263 ····</span><span·class="p"·data-group-id="2083402209-13">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="2083402209-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="8414625852-14">(</span><span·class="p"·data-group-id="8414625852-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8414625852-15">[</span><span·class="ss">allocate</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·106,·SHA:·4a9ec727fee1bbb6fb18b6b182cf1088cbd72c49b54ee4174ec1905f191f7878·...·]-15">]</span><span·class="p">.</span><span·class="w">265 </span><span·class="nf">all</span><span·class="p"·data-group-id="2083402209-14">(</span><span·class="p"·data-group-id="2083402209-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2083402209-15">[</span><span·class="ss">allocate</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·106,·SHA:·9934158154ba67a3357b3f68282997844ff7f8ecfe37351098108ccf0d79972b·...·]-15">]</span><span·class="p">.</span><span·class="w">
  
266 </span><span·class="nf">allocate</span><span·class="p"·data-group-id="8414625852-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8414625852-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="2083402209-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2083402209-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
267 ····</span><span·class="p"·data-group-id="8414625852-17">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="8414625852-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·9528b1a13817dd23153694a35115904fccffd4b31bcc8d5db1b3e29168a3e363·...·]-18">)</span><span·class="p">,</span><span·class="w">267 ····</span><span·class="p"·data-group-id="2083402209-17">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="2083402209-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·f0dc67aafa60f2e683833e7d4268a5bebb093b47b5d9e182291afc857c9af976·...·]-18">)</span><span·class="p">,</span><span·class="w">
268 ····</span><span·class="p"·data-group-id="8414625852-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="8414625852-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:·b6fd7d97f4cf53906482b782aedeb968de212cffe1433bf62cf5619d6eb6a6a5·...·]-20">)</span><span·class="p">,</span><span·class="w">268 ····</span><span·class="p"·data-group-id="2083402209-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="2083402209-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:·4d936d21b4113e8145e1da36f4278953a5ce4e591e957cff80941f1d4c6801df·...·]-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="8414625852-21">[</span><span·class="p"·data-group-id="8414625852-22">{</span><span·class="ss">handle</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="8414625852-22">}</span><span·class="p"·data-group-id="8414625852-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="2083402209-21">[</span><span·class="p"·data-group-id="2083402209-22">{</span><span·class="ss">handle</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="2083402209-22">}</span><span·class="p"·data-group-id="2083402209-21">]</span><span·class="p">,</span><span·class="w">
271 ····</span><span·class="p"·data-group-id="8414625852-23">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">NewConfig</span><span·class="p"·data-group-id="8414625852-23">}</span><span·class="p">.</span><span·class="w">271 ····</span><span·class="p"·data-group-id="2083402209-23">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">NewConfig</span><span·class="p"·data-group-id="2083402209-23">}</span><span·class="p">.</span><span·class="w">
  
272 </span><span·class="nf">deallocate</span><span·class="p"·data-group-id="8414625852-24">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8414625852-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="2083402209-24">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2083402209-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
273 ····</span><span·class="p"·data-group-id="8414625852-25">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="8414625852-25">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·57853371dd453d1b228b306c6e5e7057421185779e4dcb5d7e31126321781938·...·]-26">)</span><span·class="p">,</span><span·class="w">273 ····</span><span·class="p"·data-group-id="2083402209-25">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="2083402209-25">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·b7dad93c89071dd4244fb659e21f87b96ed00eb2057216dc72db4677a2fb3ce5·...·]-26">)</span><span·class="p">,</span><span·class="w">
274 ····</span><span·class="p"·data-group-id="8414625852-27">{</span><span·class="ss">allocate</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="8414625852-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pr[·...·truncated·by·diffoscope;·len:·279,·SHA:·43a368b7fcc771b8acf23b5d130d676f0aff7ef10682a506505c2eee80aa9b4f·...·]-28">)</span><span·class="p">,</span><span·class="w">274 ····</span><span·class="p"·data-group-id="2083402209-27">{</span><span·class="ss">allocate</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="2083402209-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pr[·...·truncated·by·diffoscope;·len:·279,·SHA:·3cecc13df086d4590aff94859546f27fa57d539f7be5076ef0fbb0aedd14180b·...·]-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="8414625852-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="8414625852-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="2083402209-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="2083402209-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="8414625852-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="8414625852-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="2083402209-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="2083402209-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.27.7/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="6220236089-1">{</span><span·class="ss">event_handler</span><span·class="p">,</span><span·class="n">EventHandlers</span><span·class="p"·data-group-id="6220236089-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="6042199352-1">{</span><span·class="ss">event_handler</span><span·class="p">,</span><span·class="n">EventHandlers</span><span·class="p"·data-group-id="6042199352-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="6220236089-2">[</span><span·class="n">EH</span><span·class="p"·data-group-id="6220236089-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="6042199352-2">[</span><span·class="n">EH</span><span·class="p"·data-group-id="6042199352-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="6220236089-3">(</span><span·class="p"·data-group-id="6220236089-3">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="6220236089-4">{</span><span·class="nf">atom</span><span·class="p"·data-group-id="6220236089-5">(</span><span·class="p"·data-group-id="6220236089-5">)</span><span·class="p">,</span><span·class="n">InitArgs</span><span·class="p"·data-group-id="6220236089-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="6220236089-6">{</span><span·class="p"·data-group-id="6220236089-7">[</span><span·class="nf">atom</span><span·class="p"·data-group-id="6220236089-8">(</span><span·class="p"·data-group-id="6220236089-8">)</span><span·class="p"·data-group-id="6220236089-7">]</span><span·class="p">,</span><span·class="n">InitArgs</span><span·class="p"·data-group-id="6220236089-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="6220236089-9">[</span><span·class="nf">term</span><span·class="p"·data-group-id="6220236089-10">(</span><span·class="p"·data-group-id="6220236089-10">)</span><span·class="p"·data-group-id="6220236089-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="4071850491-1">(</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·1273,·SHA:·2d13609e654772939d2b40b94fb20ac6170942385bec579de92e63cb901f5e2e·...·]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="6042199352-3">(</span><span·class="p"·data-group-id="6042199352-3">)</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·838,·SHA:·e9af0b40ee1d4e3f6bc3bfa6335f25bbe6639fbb8fbb07a59f326b14753dcb08·...·]
 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="6042199352-9">[</span><span·class="nf">term</span><span·class="p"·data-group-id="6042199352-10">(</span><span·class="p"·data-group-id="6042199352-10">)</span><span·class="p"·data-group-id="6042199352-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="4998119019-1">(</span><span·class="p"·data-group-id="4998119019-2">[</span><span·class="p"·data-group-id="4998119019-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-id="4998119019-3">}</span><span·class="p">,</span><span·class="p"·data-group-id="4998119019-4">{</span><span·class="ss">event_handler</span><span·class="p">,</span><span·class="p"·data-group-id="4998119019-5">[</span><span·class="ss">my_evh1</span><span·class="p">,</span><span·class="p"·data-group-id="4998119019-6">{</span><span·class="ss">my_evh2</span><span·class="p">,</span><span·class="p"·data-group-id="4998119019-7">[</span><span·class="nf">node</span><span·class="p"·data-group-id="4998119019-8">(</span><span·class="p"·data-group-id="4998119019-8">)</span><span·class="p"·data-group-id="4998119019-7">]</span><span·class="p"·data-group-id="4998119019-6">}</span><span·class="p"·data-group-id="4998119019-5">]</span><span·class="p"·data-group-id="4998119019-4">}</span><span·class="p"·data-group-id="4998119019-2">]</span><span·class="p"·data-group-id="4998119019-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>325 <p>Copyright·©·1996-2025·<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.27.7/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="9538245613-1">(</span><span·class="ss">db_data_type_SUITE</span><span·class="p"·data-group-id="9538245613-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="8647650900-1">(</span><span·class="ss">db_data_type_SUITE</span><span·class="p"·data-group-id="8647650900-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="9538245613-2">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="9538245613-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="8647650900-2">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="8647650900-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="9538245613-3">(</span><span·class="p"·data-group-id="9538245613-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="8647650900-3">(</span><span·class="p"·data-group-id="8647650900-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="9538245613-4">]</span><span·class="p"·data-group-id="9538245613-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="8647650900-4">]</span><span·class="p"·data-group-id="8647650900-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="9538245613-5">(</span><span·class="p"·data-group-id="9538245613-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:·11bf1e27f58d5108433be1fe7118e4b1dfa02f0533916ec23bd79874d09eba1f·...·]-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="8647650900-5">(</span><span·class="p"·data-group-id="8647650900-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:·01651fc3a5b659ec08602dc305d353b0151d10e4dfb5ad9c4b6ce814ab3fe04c·...·]-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="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-8">(</span><span·class="p"·data-group-id="9538245613-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="8647650900-8">(</span><span·class="p"·data-group-id="8647650900-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
157 ····</span><span·class="p"·data-group-id="9538245613-9">[</span><span·class="p"·data-group-id="9538245613-10">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="9538245613-11">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·159,·SHA:·1db804a463a9f5f13e74428f328a6fa911b393ec4804e00717348888ca05d935·...·]-9">]</span><span·class="p">.</span><span·class="w">157 ····</span><span·class="p"·data-group-id="8647650900-9">[</span><span·class="p"·data-group-id="8647650900-10">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="8647650900-11">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·159,·SHA:·aa54b3d82ef3aa9ccc2d80ff6cefbbfa6370212e065e56663f76fffc5cf4c2c8·...·]-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="9538245613-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9538245613-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="8647650900-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8647650900-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
167 ····</span><span·class="p"·data-group-id="9538245613-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="9538245613-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·383,·SHA:·c1090d514efbb4c0ea7dd7c5b5b9d7fc94649b85113b74963fa577fae21b21cd·...·]-14">)</span><span·class="p">,</span><span·class="w">167 ····</span><span·class="p"·data-group-id="8647650900-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="8647650900-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·383,·SHA:·44230e2a2f82fc6f2c547dbf1f42c698e4732668b7abd9019569edb5284e9a07·...·]-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="9538245613-16">(</span><span·class="p"·data-group-id="9538245613-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="8647650900-16">(</span><span·class="p"·data-group-id="8647650900-16">)</span><span·class="p">,</span><span·class="w">
169 ····</span><span·class="p"·data-group-id="9538245613-17">[</span><span·class="p"·data-group-id="9538245613-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="9538245613-18">}</s[·...·truncated·by·diffoscope;·len:·368,·SHA:·94c358c0dac4bc29f8a4c30b1cda13d40847fdaa40892a852b6176c3d623dbe6·...·]-17">]</span><span·class="p">.</span><span·class="w">169 ····</span><span·class="p"·data-group-id="8647650900-17">[</span><span·class="p"·data-group-id="8647650900-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="8647650900-18">}</s[·...·truncated·by·diffoscope;·len:·368,·SHA:·0157c4cccd61cdb72a8480d06e725471c3c343e2dd0f7b640c36f49704f61ad7·...·]-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="9538245613-20">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9538245613-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="8647650900-20">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8647650900-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="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-22">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="9538245613-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="8647650900-22">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="8647650900-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="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-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="9538245613-27"[·...·truncated·by·diffoscope;·len:·131,·SHA:·010952c1e0544d1372584a1a7f609d5b1ac0980a69571ff158114b9ae89845ab·...·]-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="8647650900-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="8647650900-27"[·...·truncated·by·diffoscope;·len:·131,·SHA:·79fb50117da6ff448f923c1874b55f400b40e2aef2c4f7d9acc7328ff1e14304·...·]-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="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-32">(</span><span·class="p"·data-group-id="9538245613-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="8647650900-32">(</span><span·class="p"·data-group-id="8647650900-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ····</span><span·class="p"·data-group-id="9538245613-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="9538245613-33">]</span><span·class="p">.</span><span·class="w">225 ····</span><span·class="p"·data-group-id="8647650900-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="8647650900-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="9538245613-34">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9538245613-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="8647650900-34">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8647650900-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="9538245613-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:·512cd192432a80690dad5326e9e1d0a4ee16d9fc8655d269e22a71a40bf7f097·...·]-35">)</span><span·class="p">.</span><span·class="w">230 ····</span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="8647650900-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:·89802dfe6645a1b4b7b38ce700ca04100fd1b85cabe15dfc317bd34b4631168d·...·]-35">)</span><span·class="p">.</span><span·class="w">
  
231 </span><span·class="nf">integer</span><span·class="p"·data-group-id="9538245613-36">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9538245613-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="8647650900-36">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8647650900-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="9538245613-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="9538245613-37">)</span><span·class="p">.</span><span·class="w">232 ····</span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="8647650900-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="8647650900-37">)</span><span·class="p">.</span><span·class="w">
  
  
233 </span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-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="9538245613-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="8647650900-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="8647650900-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="9538245613-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:·984abc6701bae0b0f3cf9c193c35cbb1eaba15d731a2cf317940b617f4831bad·...·]-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="8647650900-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:·17dccaa38ff0b92047844eaa4d6f0a5e43cb3805441a8be83cda158f5ae28999·...·]-41">)</span><span·class="p">,</span><span·class="w">
237 ····</span><span·class="p"·data-group-id="9538245613-42">[</span><span·class="n">Value</span><span·class="p"·data-group-id="9538245613-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:·4bda43d73187db55e029f2859c1c677123d7c947c3c7327343bc78de99e67872·...·]-43">)</span><span·class="p">,</span><span·class="w">237 ····</span><span·class="p"·data-group-id="8647650900-42">[</span><span·class="n">Value</span><span·class="p"·data-group-id="8647650900-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:·0054c706f0d5a526bd0c242728eeee82666806709e1b027cf4ba56f5da5d9b6e·...·]-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.27.7/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="5470269099-1">(</span><span·class="ss">my1st_SUITE</span><span·class="p"·data-group-id="5470269099-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="2666349544-1">(</span><span·class="ss">my1st_SUITE</span><span·class="p"·data-group-id="2666349544-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="5470269099-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="5470269099-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="2666349544-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="2666349544-2">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">all</span><span·class="p"·data-group-id="5470269099-3">(</span><span·class="p"·data-group-id="5470269099-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="2666349544-3">(</span><span·class="p"·data-group-id="2666349544-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
175 ····</span><span·class="p"·data-group-id="5470269099-4">[</span><span·class="ss">mod_exists</span><span·class="p"·data-group-id="5470269099-4">]</span><span·class="p">.</span><span·class="w">175 ····</span><span·class="p"·data-group-id="2666349544-4">[</span><span·class="ss">mod_exists</span><span·class="p"·data-group-id="2666349544-4">]</span><span·class="p">.</span><span·class="w">
  
176 </span><span·class="nf">mod_exists</span><span·class="p"·data-group-id="5470269099-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="5470269099-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="2666349544-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="2666349544-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="p"·data-group-id="5470269099-6">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">mymod</span><span·class="p"·data-group-id="5470269099-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</spa[·...·truncated·by·diffoscope;·len:·182,·SHA:·074baef93611399eaf9fdbfd5d0260913f8ba6e1f70700b8b9bf148ac9238e6c·...·]-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="2666349544-6">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">mymod</span><span·class="p"·data-group-id="2666349544-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</spa[·...·truncated·by·diffoscope;·len:·182,·SHA:·a85e035e22ccda92c84f2e91d131eabce3c208d26776ae9944e5d27a08b292aa·...·]-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="4972874086-1">(</span><span·class="ss">check_log_SUITE</span><span·class="p"·data-group-id="4972874086-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="8110497501-1">(</span><span·class="ss">check_log_SUITE</span><span·class="p"·data-group-id="8110497501-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="4972874086-2">(</span><span·class="p"·data-group-id="4972874086-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:·b2930aa1d813b8efe2c881360560eef024bf48fa0cf3a432695c44d98cc25311·...·]-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="8110497501-2">(</span><span·class="p"·data-group-id="8110497501-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:·e7998c840d14a7f15fcb7aea0feb5ec004241efc64da5182d1101b3b0c300b7a·...·]-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="4972874086-4">(</span><span·class="p"·data-group-id="4972874086-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:·bd293c6e42fff7b3d4e92e471b1ad938c21155a8d0c113d98e316c653d26a178·...·]-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="8110497501-4">(</span><span·class="p"·data-group-id="8110497501-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:·f9ac89bcd5bfee9b0dee009f165331601ac59dc55b2b1f4f8b99166481d0f65e·...·]-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="4972874086-6">(</span><span·class="nf">value</span><span·class="p"·data-group-id="4972874086-7">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="4972874086-7">)</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·344,·SHA:·b3dbcd2091dad165c2b222c01135e7d0bfa7676e7f0db7ea3f047b8170443f7c·...·]-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="8110497501-6">(</span><span·class="nf">value</span><span·class="p"·data-group-id="8110497501-7">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="8110497501-7">)</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·344,·SHA:·faf6837a31c963cbc384296363cd4324af0e378b1e77df706b7230f0612fe8b0·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
195 </span><span·class="nf">all</span><span·class="p"·data-group-id="4972874086-9">(</span><span·class="p"·data-group-id="4972874086-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4972874086-10">[</span><span·class="ss">check_restart_result</span><span·c[·...·truncated·by·diffoscope;·len:·121,·SHA:·dfe1bcab8a06a0f630fa82354d6f1740f8f5cd27d627c820670a3c557e6156b7·...·]-10">]</span><span·class="p">.</span><span·class="w">195 </span><span·class="nf">all</span><span·class="p"·data-group-id="8110497501-9">(</span><span·class="p"·data-group-id="8110497501-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8110497501-10">[</span><span·class="ss">check_restart_result</span><span·c[·...·truncated·by·diffoscope;·len:·121,·SHA:·632d9a9177276b0df509a244679f9e4f7a45728e9b48cb806d1891c7edb8eb3d·...·]-10">]</span><span·class="p">.</span><span·class="w">
  
196 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="4972874086-11">(</span><span·class="n">InitConfigData</span><span·class="p"·data-group-id="4972874086-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="8110497501-11">(</span><span·class="n">InitConfigData</span><span·class="p"·data-group-id="8110497501-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ····</span><span·class="p"·data-group-id="4972874086-12">[</span><span·class="p"·data-group-id="4972874086-13">{</span><span·class="ss">logref</span><span·class="p">,</span><span·class="nf">open_log</span><span·class="p"·data-group-id="4972874086-14">(</span><span·class="p"·data-group-id="49728740[·...·truncated·by·diffoscope;·len:·219,·SHA:·2b4139725bf27092ae8aefd378542c5660835214cd59ba40ec8894a3e05ca02d·...·]-12">]</span><span·class="p">.</span><span·class="w">197 ····</span><span·class="p"·data-group-id="8110497501-12">[</span><span·class="p"·data-group-id="8110497501-13">{</span><span·class="ss">logref</span><span·class="p">,</span><span·class="nf">open_log</span><span·class="p"·data-group-id="8110497501-14">(</span><span·class="p"·data-group-id="81104975[·...·truncated·by·diffoscope;·len:·219,·SHA:·d89186af9dd6d329c5aaaceb1833737124b2dd510fa3c567c3e5d90f29a5d1a5·...·]-12">]</span><span·class="p">.</span><span·class="w">
  
198 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="4972874086-15">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="4972874086-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="8110497501-15">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="8110497501-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="4972874086-16">(</span><span·class="o">?</span><span·class="nf">value</span><span·class="p"·data-group-id="4972874086-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:·920d3c50c28396be94f6974b9a63a8d8bac8bbff074d16c30208d463d37461ce·...·]-16">)</span><span·class="p">.</span><span·class="w">199 ····</span><span·class="nf">close_log</span><span·class="p"·data-group-id="8110497501-16">(</span><span·class="o">?</span><span·class="nf">value</span><span·class="p"·data-group-id="8110497501-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:·f969b7b92fd4d41232df08516e4413f3b8d0de4ea805eb0e035f65b006c57a5d·...·]-16">)</span><span·class="p">.</span><span·class="w">
  
200 </span><span·class="nf">check_restart_result</span><span·class="p"·data-group-id="4972874086-18">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="4972874086-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="8110497501-18">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="8110497501-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="4972874086-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="4972874086-20">(</span><span·class="ss">logref</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·159,·SHA:·81df9c02732d0c3084918ba51cbd55c206b44e27c361ce0bc241145cac56f20d·...·]-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="8110497501-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="8110497501-20">(</span><span·class="ss">logref</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·159,·SHA:·aa01d03b5a8e4ea6b5eec1303021aa5c118ba9c45b04552fdc176a4d74897a43·...·]-19">)</span><span·class="p">,</span><span·class="w">
202 ····</span><span·class="p"·data-group-id="4972874086-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="4972874086-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·258,·SHA:·85530f9e11ed282a64d6e511c02924c4f3d4d0309a0466a8bb3539cd226e3335·...·]-22">)</span><span·class="p">.</span><span·class="w">202 ····</span><span·class="p"·data-group-id="8110497501-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="8110497501-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·258,·SHA:·9cb053e347c3c71760debd74eac33d6d4d5aed00412f1527ef8138302805f1bd·...·]-22">)</span><span·class="p">.</span><span·class="w">
  
203 </span><span·class="nf">check_no_errors</span><span·class="p"·data-group-id="4972874086-23">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="4972874086-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="8110497501-23">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="8110497501-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="4972874086-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="4972874086-25">(</span><span·class="ss">logref</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·155,·SHA:·c87fb27a6662ee3e49431d0166720b1d07bec3ffe5172e58ca08ccd868bfafbc·...·]-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="8110497501-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="8110497501-25">(</span><span·class="ss">logref</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·155,·SHA:·015bff4ec6e2676c34f4fa2b53147debb27c0b47d4c8eaa1171ca4dced9d86f9·...·]-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="4972874086-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="4972874086-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="8110497501-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="8110497501-26">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
206 ········</span><span·class="p"·data-group-id="4972874086-27">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">Line</span><span·class="p"·data-group-id="4972874086-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:·59fd6e54a4548f925a009bd6119e258b159f1f8cc3335b1dc8840020b3ea71e6·...·]-28">)</span><span·class="p">;</span><span·class="w">206 ········</span><span·class="p"·data-group-id="8110497501-27">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">Line</span><span·class="p"·data-group-id="8110497501-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:·26265e1aac845bf050f942ee54a1eeba2ffd31f81a4802c7b420f244777dbce6·...·]-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="5392485417-1">(</span><span·class="p"·data-group-id="5392485417-2">[</span><span·class="p"·data-group-id="5392485417-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:·56857fd7251c17681bf73fa2f022acbcbb22fd422e70e613ff6013820f78f8a5·...·]-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="0522653874-1">(</span><span·class="p"·data-group-id="0522653874-2">[</span><span·class="p"·data-group-id="0522653874-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:·7cada05971c23280316c2d3733b0434f0cc86c9b0ffb56e62d5f19f6e1e79313·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>298 <p>Copyright·©·1996-2025·<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.27.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2025·<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.58 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>205 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/notes.html
    
Offset 2830, 15 lines modifiedOffset 2830, 15 lines modified
2830 ······<p·class="built-using">2830 ······<p·class="built-using">
2831 ········Built·using2831 ········Built·using
2832 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2832 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2833 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2833 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2834 ······</p>2834 ······</p>
2835 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2835 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2836 ····</footer>2836 ····</footer>
2837 ··</div>2837 ··</div>
2838 </main>2838 </main>
2839 </div>2839 </div>
2840 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2840 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2841 ··<script>2841 ··<script>
2842 ··let·initialized·=·false;2842 ··let·initialized·=·false;
705 B
html2text {}
Max HTML report size reached
200 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/run_test_chapter.html
Max HTML report size reached
1.29 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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;
469 B
html2text {}
Max HTML report size reached
1.68 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>237 <p>Copyright·©·1996-2025·<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.71 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.27.7/doc/html/unix_telnet.html
    
Offset 125, 22 lines modifiedOffset 125, 22 lines modified
125 ····<small·class="app-vsn"·translate="no">(common_test·v1.27.7)</small>125 ····<small·class="app-vsn"·translate="no">(common_test·v1.27.7)</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="1349181941-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="1349181941-2">[</span><span·class="p"·data-group-id="1349181941-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">HostNa[·...·truncated·by·diffoscope;·len:·61,·SHA:·9522408977bad368b99b1e582491efd5f0e69c15c95944678a8f1a213ac9a4f4·...·]-3">}</span><span·class="p">,</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="4171045254-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="4171045254-2">[</span><span·class="p"·data-group-id="4171045254-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">HostNa[·...·truncated·by·diffoscope;·len:·61,·SHA:·74f413b0a554270b9afb34819637e63b9deb973852763f8d69bd6e209a58b4c2·...·]-3">}</span><span·class="p">,</span><span·class="w">
130 ·······</span><span·class="p"·data-group-id="1349181941-4">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="n">PortNum</span><span·class="p"·data-group-id="1349181941-4">}</span><span·class="p">,</span><span·class="w">·················</span><span·class="c1">%·optional</span><span·class="w">130 ·······</span><span·class="p"·data-group-id="4171045254-4">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="n">PortNum</span><span·class="p"·data-group-id="4171045254-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="1349181941-5">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">UserName</span><span·class="p"·data-group-id="1349181941-5">}</span><span·class="p">,</span><span·class="w">131 ·······</span><span·class="p"·data-group-id="4171045254-5">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">UserName</span><span·class="p"·data-group-id="4171045254-5">}</span><span·class="p">,</span><span·class="w">
132 ·······</span><span·class="p"·data-group-id="1349181941-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="1349181941-6">}</span><span·class="p">,</span><span·class="w">132 ·······</span><span·class="p"·data-group-id="4171045254-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="4171045254-6">}</span><span·class="p">,</span><span·class="w">
133 ·······</span><span·class="p"·data-group-id="1349181941-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="1349181941-7">}</span><span·class="p"·data-group-id="1349181941-2">]</span><span·class="p"·data-group-id="1349181941-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>,133 ·······</span><span·class="p"·data-group-id="4171045254-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="4171045254-7">}</span><span·class="p"·data-group-id="4171045254-2">]</span><span·class="p"·data-group-id="4171045254-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="0359659089-1">(</span><span·class="p"·data-group-id="0359659089-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0359659089-2">[</span><span·class="p"·data-group-id="0359659089-3">{</span>[·...·truncated·by·diffoscope;·len:·1120,·SHA:·30659eb0d23e67ca52fee4fce69d4002ada6e038038510cd74d12fdbe8c5d091·...·]-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="0848573641-1">(</span><span·class="p"·data-group-id="0848573641-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0848573641-2">[</span><span·class="p"·data-group-id="0848573641-3">{</span>[·...·truncated·by·diffoscope;·len:·1120,·SHA:·82a605ec432ccffcc494046fae7537cac49cad7602fe6305a4c01a1ba8f60f79·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>293 <p>Copyright·©·1996-2025·<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.27.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>211 <p>Copyright·©·1996-2025·<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.27.7/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·on·the·form·<code·class="inline">{default_config,ConfigVariableName,Value}</code>·to·the268 add·a·tuple·on·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="3074770029-1">(</span><span·class="p"·data-group-id="3074770029-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="0341756942-1">(</span><span·class="p"·data-group-id="0341756942-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
270 ····</span><span·class="p"·data-group-id="3074770029-2">[</span><span·class="p"·data-group-id="3074770029-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="3074770029-3">}</span><span·class="p">,</span><span·class="w">270 ····</span><span·class="p"·data-group-id="0341756942-2">[</span><span·class="p"·data-group-id="0341756942-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="0341756942-3">}</span><span·class="p">,</span><span·class="w">
271 ·····</span><span·class="p"·data-group-id="3074770029-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="3074770029-5">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·195,·SHA:·be1424eafdefa3903395a52b9b034c38290593428711ed0f0bbd5424b23ba645·...·]-6">}</span><span·class="p">,</span><span·class="w">271 ·····</span><span·class="p"·data-group-id="0341756942-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="0341756942-5">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·195,·SHA:·68c5ca8903d39e75a40d175c5c7a4d043c8c65449f9064d303ad06814998070e·...·]-6">}</span><span·class="p">,</span><span·class="w">
272 ····························</span><span·class="p"·data-group-id="3074770029-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="3074770029-7">}</span><span·class="p">,</span><span·class="w">272 ····························</span><span·class="p"·data-group-id="0341756942-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="0341756942-7">}</span><span·class="p">,</span><span·class="w">
273 ····························</span><span·class="p"·data-group-id="3074770029-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="3074770029-8">}</span><span·class="p"·data-group-id="3074770029-5">]</span><span·c[·...·truncated·by·diffoscope;·len:·335,·SHA:·5605b67fdd91c50b7c25f2a250f2fc679ed322db6744eb0ab2411edf5e8d0d98·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">273 ····························</span><span·class="p"·data-group-id="0341756942-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="0341756942-8">}</span><span·class="p"·data-group-id="0341756942-5">]</span><span·c[·...·truncated·by·diffoscope;·len:·335,·SHA:·00fbdec8ab571a6bc285bcbfb3409303f83f8c8b41f022c6752440ad2c1b4812·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
274 ····</span><span·class="p"·data-group-id="8667142110-2">[</span><span·class="p"·data-group-id="8667142110-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:·50,·SHA:·8b3d0bec37167993cbf8fca601cda4be84404221a3a32c59047e1620e0a3784d·...·]-3">}</span><span·class="p">,</span><span·class="w">274 ····</span><span·class="p"·data-group-id="6075251372-2">[</span><span·class="p"·data-group-id="6075251372-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:·50,·SHA:·5aa7440c2cee9d2cdfa88cc693282d662a943cfdb82017596db96e3e74ebbfc1·...·]-3">}</span><span·class="p">,</span><span·class="w">
275 ·····</span><span·class="p"·data-group-id="8667142110-4">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8667142110-5">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·364,·SHA:·f71a545d48861891009adb157767354b6a34eb107f03fed1c5ec139d59e9841e·...·]-4">}</span><span·class="p">,</span><span·class="w">275 ·····</span><span·class="p"·data-group-id="6075251372-4">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6075251372-5">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·364,·SHA:·918705fea58931aa44fc3a2bc759934acdc86badc3a8c23389672cd1bdfa9f0b·...·]-4">}</span><span·class="p">,</span><span·class="w">
276 ·····</span><span·class="p"·data-group-id="8667142110-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="8667142110-8">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·202,·SHA:·29b62749f242f559da16c3fda6633f2e855c413b6d3c18afa829674745d7d43c·...·]-9">}</span><span·class="p">,</span><span·class="w">276 ·····</span><span·class="p"·data-group-id="6075251372-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="6075251372-8">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·202,·SHA:·53eca18bf4b6143a07e63929cebce7f455b87025e4fe267b26b3de03cd483938·...·]-9">}</span><span·class="p">,</span><span·class="w">
277 ·····························</span><span·class="p"·data-group-id="8667142110-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="8667142110-10">}</span><span·class="p">,</span><span·class="w">277 ·····························</span><span·class="p"·data-group-id="6075251372-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="6075251372-10">}</span><span·class="p">,</span><span·class="w">
278 ·····························</span><span·class="p"·data-group-id="8667142110-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="8667142110-11">}</span><span·class="p"·data-group-id="8667142110-8">]</span><span[·...·truncated·by·diffoscope;·len:·113,·SHA:·93c2df836a5a82b1a5c30781f7829ed8bb127cc2cffacd43edff29ecd6813b51·...·]-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="6075251372-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="6075251372-11">}</span><span·class="p"·data-group-id="6075251372-8">]</span><span[·...·truncated·by·diffoscope;·len:·113,·SHA:·49eb4dd659365c5991c37510c28c38e0d3705b998c77d86d2a8dde2c3ccfb8d7·...·]-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="9222728079-1">(</span><span·class="p"·data-group-id="9222728079-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="1109397112-1">(</span><span·class="p"·data-group-id="1109397112-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
285 ····</span><span·class="p"·data-group-id="9222728079-2">[</span><span·class="w">285 ····</span><span·class="p"·data-group-id="1109397112-2">[</span><span·class="w">
286 ·····</span><span·class="p"·data-group-id="9222728079-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="9222728079-4">{</span><span·class="ss">seconds</span><span·class="p">,</span><span·class="mi">60</span><span·class="p"·data-group-id="9222728079-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·baef84b54c55821360f30ac93a9f53ba582521e0e0c9de9e7705210d5b32c991·...·]-3">}</span><span·class="p">,</span><span·class="w">286 ·····</span><span·class="p"·data-group-id="1109397112-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="1109397112-4">{</span><span·class="ss">seconds</span><span·class="p">,</span><span·class="mi">60</span><span·class="p"·data-group-id="1109397112-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·165690fcda77d389529aca8299e6e5b7eb9dc45ffd1ef9c9f95cfd53b1f4e48d·...·]-3">}</span><span·class="p">,</span><span·class="w">
287 ·····</span><span·class="p"·data-group-id="9222728079-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">interfaces</span><span·class="p"·data-group-id="9222728079-5">}</span><span·class="p">,</span><span·class="w">287 ·····</span><span·class="p"·data-group-id="1109397112-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">interfaces</span><span·class="p"·data-group-id="1109397112-5">}</span><span·class="p">,</span><span·class="w">
288 ·····</span><span·class="p"·data-group-id="9222728079-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="w">288 ·····</span><span·class="p"·data-group-id="1109397112-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="w">
289 ·········</span><span·class="p"·data-group-id="9222728079-7">[</span><span·class="p"·data-group-id="9222728079-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="9222728079-8">}</span><span·class="p">,</span><span·class="w">289 ·········</span><span·class="p"·data-group-id="1109397112-7">[</span><span·class="p"·data-group-id="1109397112-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="1109397112-8">}</span><span·class="p">,</span><span·class="w">
290 ··········</span><span·class="p"·data-group-id="9222728079-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="9222728079-9">}</span><span·class="p"·data-group-id="9222728079-7">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·6030029991a87f08f5de1dd542cb818dbe5d40e860184a1b4eadd68b8b812634·...·]-6">}</span><span·class="w">290 ··········</span><span·class="p"·data-group-id="1109397112-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="1109397112-9">}</span><span·class="p"·data-group-id="1109397112-7">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·33cd7bedaec48fd8cd8be2400b5eac9b5e2156b5909cb323da1277348ad102d4·...·]-6">}</span><span·class="w">
291 ····</span><span·class="p"·data-group-id="9222728079-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="1109397112-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="5926724460-1">(</span><span·class="p"·data-group-id="5926724460-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="9309450024-1">(</span><span·class="p"·data-group-id="9309450024-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
306 ····</span><span·class="p"·data-group-id="5926724460-2">[</span><span·class="w">306 ····</span><span·class="p"·data-group-id="9309450024-2">[</span><span·class="w">
307 ·····</span><span·class="p"·data-group-id="5926724460-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="5926724460-4">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="5926724460-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·9445e14d8f2c1a15c73e2efecbdff4612b52a95dfcddff27d5a96854e6f33517·...·]-3">}</span><span·class="p">,</span><span·class="w">307 ·····</span><span·class="p"·data-group-id="9309450024-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="9309450024-4">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="9309450024-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·890ccde1766323c8941afdaf3b4cfc5018f9fbb37f43cf9cf1ccf1f91aac22d4·...·]-3">}</span><span·class="p">,</span><span·class="w">
308 ·····</span><span·class="p"·data-group-id="5926724460-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">global_names</span><span·class="p"·data-group-id="5926724460-5">}</span><span·class="p">,</span><span·class="w">308 ·····</span><span·class="p"·data-group-id="9309450024-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">global_names</span><span·class="p"·data-group-id="9309450024-5">}</span><span·class="p">,</span><span·class="w">
309 ·····</span><span·class="p"·data-group-id="5926724460-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="p"·data-group-id="5926724460-7">[</span><span·class="p"·data-group-id="5926724460-8">{</span><span·class="ss">info</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·201,·SHA:·46d4f477cbce147eaa8be5a4ff45d25e7831e95e1db60690455736cb16e2d108·...·]-6">}</span><span·class="p">,</span><span·class="w">309 ·····</span><span·class="p"·data-group-id="9309450024-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="p"·data-group-id="9309450024-7">[</span><span·class="p"·data-group-id="9309450024-8">{</span><span·class="ss">info</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·201,·SHA:·77163b66ea71cdafdd3de7b6419eed57c60f1b8d09f8ef04cdbaf8d3b5a345dd·...·]-6">}</span><span·class="p">,</span><span·class="w">
310 ·····</span><span·class="p"·data-group-id="5926724460-9">{</span><span·class="ss">silent_connections</span><span·class="p">,</span><span·class="p"·data-group-id="5926724460-10">[</span><span·class="ss">telnet</span><span·class="p"·data-group-id="5926724460-10">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·af61968c21583bb877ee7d7b343347242024665ee9ff7047a54020634e5d36e9·...·]-9">}</span><span·class="p">,</span><span·class="w">310 ·····</span><span·class="p"·data-group-id="9309450024-9">{</span><span·class="ss">silent_connections</span><span·class="p">,</span><span·class="p"·data-group-id="9309450024-10">[</span><span·class="ss">telnet</span><span·class="p"·data-group-id="9309450024-10">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·e981c6ee62f75ebaa38824de558a1b6b23f13a192b0b54dda3ef06ad8f4fb1c3·...·]-9">}</span><span·class="p">,</span><span·class="w">
311 ·····</span><span·class="p"·data-group-id="5926724460-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="5926724460-11">}</span><span·class="w">311 ·····</span><span·class="p"·data-group-id="9309450024-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="9309450024-11">}</span><span·class="w">
312 ····</span><span·class="p"·data-group-id="5926724460-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="9309450024-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="2421290949-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:·c4b7195d6d25d2aadf40dc61529eec6d6fd89b1cd01b0baf1dab639b939d3943·...·]-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="0332154442-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:·fcbd84df2ac83bc306aab5769a1bf5636744987a975520e5d127fe38cb263813·...·]-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="2421290949-3">{</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="n">Seed</span><span·class="p"·data-group-id="2421290949-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="0332154442-3">{</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="n">Seed</span><span·class="p"·data-group-id="0332154442-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="2421290949-4">{</span><span·class="nf">integer</span><span·class="p"·data-group-id="2421290949-5">(</span><span·class="p"·data-group-id="2421290949-5">)</span><span·class="p">,</span><span·class="nf">integer</span><span·class="p"·data-group-id="2421290949-[·...·truncated·by·diffoscope;·len:·266,·SHA:·e8786ce27287ee2f5606794a51894985f6fb13e6c5e7594d977ffd9b818e4f47·...·]-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="0332154442-4">{</span><span·class="nf">integer</span><span·class="p"·data-group-id="0332154442-5">(</span><span·class="p"·data-group-id="0332154442-5">)</span><span·class="p">,</span><span·class="nf">integer</span><span·class="p"·data-group-id="0332154442-[·...·truncated·by·diffoscope;·len:·266,·SHA:·2e5037a61bd0d6c08c22a1fa00363ab5eb4a8f8a924b4dcc32be413afcd4069e·...·]-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="2421290949-8">(</span><span·class="p"·data-group-id="2421290949-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="0332154442-8">(</span><span·class="p"·data-group-id="0332154442-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="6080089276-1">(</span><span·class="p"·data-group-id="6080089276-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6080089276-2">[</span><span·class="p"·data-group-id="6080089276-3">{</span><span·class="ss">group1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6080089276-4">[</span><span·class="ss">parallel</span><span·class="p"·data-group-id="6080089276-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6080089276-5">[</span><span·class="ss">test1a</span><span·class="p">,</span><span·class="ss">test1b</span><span·class="p"·data-group-id="6080089276-5">]</span><span·class="p"·data-group-id="6080089276-3">}</span><span·class="p">,</span><span·class="w"> 
345 ·············</span><span·class="p"·data-group-id="6080089276-6">{</span><span·class="ss">group2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6080089276-7">[</span><span·class="ss">shuffle</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·604,·SHA:·e681531180e8c641aedd5274a861aebcd1127973766266c30629246116a0ba77·...·]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="4251324015-1">(</span><span·class="p"·data-group-id="4251324015-1">)</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·711,·SHA:·c18e4e3df1177ccdd20d4ec27deb33b6e098c400ce925829333bc066a00a8139·...·]
 345 ·············</span><span·class="p"·data-group-id="4251324015-6">{</span><span·class="ss">group2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4251324015-7">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="ss">sequence</span><span·class="p"·data-group-id="4251324015-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4251324015-8">[</span><span·class="ss">test2a</span><span·class="p">,</span><span·class="ss">test2b</span><span·class="p">,</span><span·class="ss">test2c</span><span·class="p"·data-group-id="4251324015-8">]</span><span·class="p"·data-group-id="4251324015-6">}</span><span·class="p"·data-group-id="4251324015-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="6378780367-1">(</span><span·class="p"·data-group-id="6378780367-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6378780367-2">[</span><span·class="ss">testcase1</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1055,·SHA:·94e193909ea2897977c7b6775c388e8c0f5e80e939b101dd259247be07d230fb·...·]-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="4799112345-1">(</span><span·class="p"·data-group-id="4799112345-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4799112345-2">[</span><span·class="ss">testcase1</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1055,·SHA:·4016f92f30f3c3d50e7728ac28a4e35e60512a151238b9a0a0b864a980a6322d·...·]-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="4302214667-1">(</span><span·class="p"·data-group-id="4302214667-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4302214667-2">[</span><span·class="p"·data-group-id="4302214667-3">{</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4302214667-4">[</span><span·class="p"·data-group-id="4302214667-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4302214667-5">[</span><span·class="p"·data-group-id="4302214667-6">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4302214667-7">[</span><span·class="p"·data-group-id="4302214667-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4302214667-8">[</span><span·class="ss">t2a</span><span·class="p">,</span><span·class="ss">t2b</span><span·class="p"·data-group-id="4302214667-8">]</span><span·class="p"·data-group-id="4302214667-6">}</span><span·class="p">,</span><span·class="w"> 
357 ··························</span><span·class="p"·data-group-id="4302214667-9">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4302214667-10">[</span><span·class="p"·data-group-id="4302214[·...·truncated·by·diffoscope;·len:·629,·SHA:·abd305be23c0006db80eae0500d63f1e37d598d3bcc9f2b0454e5117c52379bc·...·]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="0844633798-1">(</span><span·class="p"·data-group-id="0844633798-1">)</s[·...·truncated·by·diffoscope;·len:·1033,·SHA:·fc6e4b7768f76cb4601c147bfc2f7613a0242840cfa99fad99ae2db3bf85a55a·...·]
 357 ··························</span><span·class="p"·data-group-id="0844633798-9">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0844633798-10">[</span><span·class="p"·data-group-id="0844633798-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0844633798-11">[</span><span·class="ss">t31</span><span·class="p">,</span><span·class="ss">t3b</span><span·class="p"·data-group-id="0844633798-11">]</span><span·class="p"·data-group-id="0844633798-9">}</span><span·class="p"·data-group-id="0844633798-5">]</span><span·class="p"·data-group-id="0844633798-3">}</span><span·class="p"·data-group-id="0844633798-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="3313606693-1">(</span><span·class="p"·data-group-id="3313606693-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="2590766165-1">(</span><span·class="p"·data-group-id="2590766165-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
359 ···</span><span·class="p"·data-group-id="3313606693-2">[</span><span·class="p"·data-group-id="3313606693-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:·522,·SHA:·9a5b7684d09ccc9c1912a734850e4c381f707e3bab57c42292d69f836156d5dc·...·]-3">}</span><span·class="p">,</span><span·class="w">359 ···</span><span·class="p"·data-group-id="2590766165-2">[</span><span·class="p"·data-group-id="2590766165-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:·522,·SHA:·d1b79b75cad712697dcc373a703828b28dbfb4c6abaac4e03ecb95ec43656d50·...·]-3">}</span><span·class="p">,</span><span·class="w">
360 ····</span><span·class="p"·data-group-id="3313606693-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>[·...·truncated·by·diffoscope;·len:·1010,·SHA:·97353685e04de2fa9f13579ee0eb4f59820567b27b31aa909c8610dbb283e636·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">360 ····</span><span·class="p"·data-group-id="2590766165-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>[·...·truncated·by·diffoscope;·len:·1010,·SHA:·7a4b2a0c5ff22fa3e2c838996a42dcda068af3772e2574659cb7871c8f6517e6·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
361 ···</span><span·class="p"·data-group-id="8973273794-2">[</span><span·class="p"·data-group-id="8973273794-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:·416,·SHA:·fb59fda9aab899906132bdc8e60bed16f17fc54c690d2f5d3cdf3c28beb8fe5e·...·]-5">}</span><span·class="p">,</span><span·class="w">361 ···</span><span·class="p"·data-group-id="6181602202-2">[</span><span·class="p"·data-group-id="6181602202-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:·416,·SHA:·87af0cb5dff899f625d74dbcec45a5db94051f81766645feaf706007761f8c6a·...·]-5">}</span><span·class="p">,</span><span·class="w">
362 ······························</span><span·class="p"·data-group-id="8973273794-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="8973273794-7">}</span><span·class="p"·data-group-id="8973273794-4">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·a79409b24026fed5c3c5c5884d233f7ade86046da29f5642272031bf16a31395·...·]-3">}</span><span·class="p">,</span><span·class="w">362 ······························</span><span·class="p"·data-group-id="6181602202-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="6181602202-7">}</span><span·class="p"·data-group-id="6181602202-4">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·09f70ef0f8d2dd330d12a28dc934de2f244022c7b8d9cd43fe6b8a33fbb41ebc·...·]-3">}</span><span·class="p">,</span><span·class="w">
363 ····</span><span·class="p"·data-group-id="8973273794-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:·842779a3642586a6f09602af514d08d92b0fbc9c70cbbba7a9d182656a580f1a·...·]-10">}</span><span·class="p">,</span><span·class="w">363 ····</span><span·class="p"·data-group-id="6181602202-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:·a341a2533e0b133b70c1f716f17f2d1778edbbeb51b375a6ffff0a94320f2143·...·]-10">}</span><span·class="p">,</span><span·class="w">
364 ······························</span><span·class="p"·data-group-id="8973273794-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="8973273794-13">}</span><span·class="p"·data-group-id="8973273794-9">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·77,·SHA:·5d1a5c82d2186c289547ce1f1065a318dcb1f03f5a38302a91f3712743ff0487·...·]-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="6181602202-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="6181602202-13">}</span><span·class="p"·data-group-id="6181602202-9">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·77,·SHA:·2a006b7db822fb5f1f66ea76b83849a1139f8281135657863a2b1dc2f6f0bf61·...·]-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="8188578088-1">(</span><span·class="p"·data-group-id="8188578088-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="7769629599-1">(</span><span·class="p"·data-group-id="7769629599-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
366 ···</span><span·class="p"·data-group-id="8188578088-2">[</span><span·class="p"·data-group-id="8188578088-3">{</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8188578088-4">[</span><span·class="p"·data-group-id="8188578088-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8188578088-5">[</span><span·class="p"·data-group-id="8188578088-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="8188578088-6">}</span><span·class="p"·data-group-id="8188578088-5">]</span><span·class="p"·data-group-id="8188578088-3">}</span><span·class="p">,</span><span·class="w"> 
367 ····</span><span·class="p"·data-group-id="8188578088-7">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8188578088-8">[</span><span·class="p"·data-group-id="8188578088-8">]</span><span·class[·...·truncated·by·diffoscope;·len:·401,·SHA:·a6defadfed878314ab676370f5be480454a4741acd688dea5fc3669363a24015·...·]">}</span><span·class="p">,</span><span·class="w">366 ···</span><span·class="p"·data-group-id="7769629599-2">[</span><span·class="p"·data-group-id="7769629599-3">{</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7769629599-4">[</span><span·class=[·...·truncated·by·diffoscope;·len:·451,·SHA:·3bd7160f6a9ef8925fadff540dc550e3308c93beb920705ec25b3b641135e407·...·]">}</span><span·class="p">,</span><span·class="w">
 367 ····</span><span·class="p"·data-group-id="7769629599-7">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7769629599-8">[</span><span·class="p"·data-group-id="7769629599-8">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7769629599-9">[</span><span·class="p"·data-group-id="7769629599-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="7769629599-10">}</span><span·class="p"·data-group-id="7769629599-9">]</span><span·class="p"·data-group-id="7769629599-7">}</span><span·class="p">,</span><span·class="w">
368 ····</span><span·class="p"·data-group-id="8188578088-11">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8188578088-12">[</span><span·class="p"·data-group-id="8188578088-13">{</span><span·class="ss">repeat</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·520,·SHA:·f6c21c416a5412396c99d3c86999f4fd60a69e2ec1fcf321815f34387c8d41c0·...·]-2">]</span><span·class="p">.</span><span·class="w">368 ····</span><span·class="p"·data-group-id="7769629599-11">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7769629599-12">[</span><span·class="p"·data-group-id="7769629599-13">{</span><span·class="ss">repeat</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·520,·SHA:·b9155b1dd17659ce771abc80221a636c11adc9ae0716e2125f88609cab66e14d·...·]-2">]</span><span·class="p">.</span><span·class="w">
  
369 </span><span·class="nf">all</span><span·class="p"·data-group-id="8188578088-15">(</span><span·class="p"·data-group-id="8188578088-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="7769629599-15">(</span><span·class="p"·data-group-id="7769629599-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
370 ···</span><span·class="p"·data-group-id="8188578088-16">[</span><span·class="p"·data-group-id="8188578088-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="7769629599-16">[</span><span·class="p"·data-group-id="7769629599-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="8188578088-18">[</span><span·class="p"·data-group-id="8188578088-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="7769629599-18">[</span><span·class="p"·data-group-id="7769629599-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="8188578088-20">[</span><span·class="p"·data-group-id="8188578088-21">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8188578088-22">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·563,·SHA:·c70104dcb153eaafb2cb86aee077dbb23cce2882976c163adf260c91221b6883·...·]-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="7769629599-20">[</span><span·class="p"·data-group-id="7769629599-21">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7769629599-22">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·563,·SHA:·ab7dccde5173b895b3b9a3f5a08a8a1b3347fe44d388654ba14a6a592695d236·...·]-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="8844719105-1">(</span><span·class="p"·data-group-id="8844719105-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="3686423417-1">(</span><span·class="p"·data-group-id="3686423417-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
374 ···</span><span·class="p"·data-group-id="8844719105-2">[</span><span·class="p"·data-group-id="8844719105-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:·0569c8b99cbd6ba3161e8b1848404c95600c4e31d1a630966af736cc685f3c15·...·]-3">}</span><span·class="p">,</span><span·class="w">374 ···</span><span·class="p"·data-group-id="3686423417-2">[</span><span·class="p"·data-group-id="3686423417-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:·106d7bb1e02e17ee1ea80afe07039677723deab6c2dec3e7bbbfd0bc9bf868ac·...·]-3">}</span><span·class="p">,</span><span·class="w">
375 ····</span><span·class="p"·data-group-id="8844719105-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:·8c994bcec6c4a7b8bb662928baacf1344f0651c0915caeb06e7149bc87d38b20·...·]-7">)</span><span·class="p">,</span><span·class="w">375 ····</span><span·class="p"·data-group-id="3686423417-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:·867221e3ee39b31afa6c6be0dd20dd53c7fbdf4b99206ff0d848f8c2b84f64a8·...·]-7">)</span><span·class="p">,</span><span·class="w">
376 ······························</span><span·class="p"·data-group-id="8844719105-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="8844719105-8">}</span><span·class="p"·data-group-id="8844719105-6">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·75,·SHA:·c5b178e319af1308bb5522371a2aedb84b3ac2c11a1bba94f7679d1a188644d0·...·]-2">]</span><span·class="p">.</span><span·class="w">376 ······························</span><span·class="p"·data-group-id="3686423417-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="3686423417-8">}</span><span·class="p"·data-group-id="3686423417-6">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·75,·SHA:·1a74b0e7b7d426526782d60db7f859e020634878ff3c67b9dfc0bcd3f37a0493·...·]-2">]</span><span·class="p">.</span><span·class="w">
377 </span><span·class="nf">test_cases</span><span·class="p"·data-group-id="8844719105-9">(</span><span·class="p"·data-group-id="8844719105-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="3686423417-9">(</span><span·class="p"·data-group-id="3686423417-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
378 ···</span><span·class="p"·data-group-id="8844719105-10">[</span><span·class="p"·data-group-id="8844719105-11">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8844719105-12">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·399,·SHA:·d9fb5260f75406027b5d5fc1eed96b93aaa7d8435b19bfa8c5fbbb1cb3a42e41·...·]-10">]</span><span·class="p">.</span><span·class="w">378 ···</span><span·class="p"·data-group-id="3686423417-10">[</span><span·class="p"·data-group-id="3686423417-11">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3686423417-12">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·399,·SHA:·6aa7deb2ee8d519e29667f2106e7664a6b650fcb870371f83cbe98e59cc3b0df·...·]-10">]</span><span·class="p">.</span><span·class="w">
  
379 </span><span·class="nf">shuffle_test</span><span·class="p"·data-group-id="8844719105-14">(</span><span·class="p"·data-group-id="8844719105-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="3686423417-14">(</span><span·class="p"·data-group-id="3686423417-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
380 ···</span><span·class="p"·data-group-id="8844719105-15">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8844719105-16">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="p"·data-group-id="8844719105-17">[·...·truncated·by·diffoscope;·len:·237,·SHA:·b44a6be3e7e08263dc5ad95be2cd301b80f29c7cfc251388ba2c566d528f927f·...·]-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="3686423417-15">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3686423417-16">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="p"·data-group-id="3686423417-17">[·...·truncated·by·diffoscope;·len:·237,·SHA:·8f68db6265dcd8b79fdbde7c5e30ccd6b2918306cdc26a21483463158a2137d7·...·]-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; 43014/112570 bytes (38.21%) of diff not shown.
791 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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/compiler-8.6.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>213 <p>Copyright·©·1996-2025·<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.27 KB
./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/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="8127395070-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:·72fbca8c279374aca750782e30fd0549b733bc329e8e4c4e9bda158094dd9e10·...·]-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="0699585023-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:·510cfdfed1c41c4fdce6cd7a9ce6cbea042600f90eb1744dab0339ce72981325·...·]-1">}</span><span·class="p">,</span><span·class="w">
190 ·············</span><span·class="p"·data-group-id="8127395070-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:·0d9b45986caca81ee86a89cda74db74474851290bf331cf3112cd6cdf1764c75·...·]-2">}</span><span·class="w">190 ·············</span><span·class="p"·data-group-id="0699585023-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:·cc19aa74fb93809c574c6641341728696374f502a5358ab9d6f6512bb8428886·...·]-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="5659818602-1">(</span><span·class="p"·data-group-id="5659818602-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="5659818602-2">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·1e7fe198d5c63aeb20f5b62fcc42b74a3194dfbca42932c20540baef3aeb4162·...·]-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="5277338620-1">(</span><span·class="p"·data-group-id="5277338620-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="5277338620-2">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·c704d8aab4584f88f018d49503c2ab865034d37799a4881bdaa51f309946228e·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>293 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>10985 <p>Copyright·©·1996-2025·<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.61 KB
./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>655 <p>Copyright·©·1996-2025·<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-8.6.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>708 <p>Copyright·©·1996-2025·<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-8.6.1/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="4579482750-1">(</span><span·class="ss">something</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4579482750-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:·e9820e947c796a46b50c0dedbf08296f1babd107469ebb1ffff8396f6f55de43·...·]-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="8293320726-1">(</span><span·class="ss">something</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8293320726-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:·776606aa83a9ba4919fc048c176fa7625f5f67ee9087ba38115ae3c2c616f348·...·]-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="2600396303-1">(</span><span·class="p"·data-group-id="2600396303-2">{</span><span·class="ss">inline</span><span·class="p">,</span><span·class="p"·data-group-id="2600396303-3">[</span><span·class="ss">pi</span><span·class="p">/</span><span·class="mi">0</span[·...·truncated·by·diffoscope;·len:·148,·SHA:·9229604ea82e068ff128a763cc6d513c963ce975efca6d411990f649e36cbc71·...·]-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="8365752826-1">(</span><span·class="p"·data-group-id="8365752826-2">{</span><span·class="ss">inline</span><span·class="p">,</span><span·class="p"·data-group-id="8365752826-3">[</span><span·class="ss">pi</span><span·class="p">/</span><span·class="mi">0</span[·...·truncated·by·diffoscope;·len:·148,·SHA:·a54d7fff1d4933a7de330fe0071b127a9953e03d128080912a9aecf839d5c8a2·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
181 </span><span·class="nf">pi</span><span·class="p"·data-group-id="2600396303-4">(</span><span·class="p"·data-group-id="2600396303-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="8365752826-4">(</span><span·class="p"·data-group-id="8365752826-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="8262264676-1">(</span><span·class="ss">inline</span><span·class="p"·data-group-id="8262264676-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="7938162130-1">(</span><span·class="ss">inline</span><span·class="p"·data-group-id="7938162130-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="8262264676-2">(</span><span·class="p"·data-group-id="8262264676-3">{</span><span·class="ss">inline_size</span><span·class="p">,</span><span·class="mi">100</span><span·class="p"·data-group-id="8262264676-3">}</span><span·class="p"·data-group-id="8262264676-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="7938162130-2">(</span><span·class="p"·data-group-id="7938162130-3">{</span><span·class="ss">inline_size</span><span·class="p">,</span><span·class="mi">100</span><span·class="p"·data-group-id="7938162130-3">}</span><span·class="p"·data-group-id="7938162130-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="6676357137-1">(</span><span·class="ss">module</span><span·class="p"·data-group-id="6676357137-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="7587087979-1">(</span><span·class="ss">module</span><span·class="p"·data-group-id="7587087979-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="6676357137-2">(</span><span·class="s">&quot;eunit/include/eunit.hrl&quot;</span><span·class="p"·data-group-id="6676357137-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="7587087979-2">(</span><span·class="s">&quot;eunit/include/eunit.hrl&quot;</span><span·class="p"·data-group-id="7587087979-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="6676357137-3">(</span><span·class="s">&quot;header.hrl&quot;</span><span·class="p"·data-group-id="6676357137-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="7587087979-3">(</span><span·class="s">&quot;header.hrl&quot;</span><span·class="p"·data-group-id="7587087979-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="7411799022-1">(</span><span·class="p"·data-group-id="7411799022-2">{</span><span·class="ss">no_auto_import</span><span·class="p">,</span><span·class="p"·data-group-id="7411799022-3">[</span><span·class="ss">error</span><span·class="p">/</span><span·class="m[·...·truncated·by·diffoscope;·len:·158,·SHA:·f25f5ea2e05e8dcdd0c7d2bb52699358edacb7eca606f59ce232f7ad8ea0f29e·...·]-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="7874111678-1">(</span><span·class="p"·data-group-id="7874111678-2">{</span><span·class="ss">no_auto_import</span><span·class="p">,</span><span·class="p"·data-group-id="7874111678-3">[</span><span·class="ss">error</span><span·class="p">/</span><span·class="m[·...·truncated·by·diffoscope;·len:·158,·SHA:·78347ac559f2c2109d54ed44cd12dd2e913f3785f2221932bed3645e1c46c53d·...·]-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 1325, 15 lines modifiedOffset 1325, 15 lines modified
1325 ······<p·class="built-using">1325 ······<p·class="built-using">
1326 ········Built·using1326 ········Built·using
1327 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1327 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1328 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1328 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1329 ······</p>1329 ······</p>
1330 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1330 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1331 ····</footer>1331 ····</footer>
1332 ··</div>1332 ··</div>
1333 </main>1333 </main>
1334 </div>1334 </div>
1335 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1335 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1336 ··<script>1336 ··<script>
1337 ··let·initialized·=·false;1337 ··let·initialized·=·false;
703 B
html2text {}
Max HTML report size reached
176 KB
./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/compiler.epub
2.67 KB
zipinfo {}
Max HTML report size reached
89.3 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·Jul·06·2026·03:06:26,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:56:36,·uncompressed·size·20,·method=store
15.8 KB
OEBPS/ssa_checks.xhtml
Max HTML report size reached
45.7 KB
OEBPS/notes.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
1.19 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
47.4 KB
./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/doc/html/notes.html
    
Offset 169, 18 lines modifiedOffset 169, 18 lines modified
169 </h2>169 </h2>
170 <h3·id="fixed-bugs-and-malfunctions-2"·class="section-heading">170 <h3·id="fixed-bugs-and-malfunctions-2"·class="section-heading">
171 ··<a·href="#fixed-bugs-and-malfunctions-2"·class="hover-link">171 ··<a·href="#fixed-bugs-and-malfunctions-2"·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">Fixed·Bugs·and·Malfunctions</span>174 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
175 </h3>175 </h3>
176 <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="4239657539-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="4239657539-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">176 <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="2159613901-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="2159613901-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
177 </span><span·class="p"·data-group-id="4239657539-2">&lt;&lt;</span><span·class="s">&quot;ÿÿÿÿÿÿÿÿ&quot;</span><span·class="p"·data-group-id="4239657539-2">&gt;&gt;</span><span·class="gp·unselectable">177 </span><span·class="p"·data-group-id="2159613901-2">&lt;&lt;</span><span·class="s">&quot;ÿÿÿÿÿÿÿÿ&quot;</span><span·class="p"·data-group-id="2159613901-2">&gt;&gt;</span><span·class="gp·unselectable">
178 2&gt;·</span><span·class="p"·data-group-id="4239657539-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="4239657539-4">&lt;&lt;</span><span·class="n">X</span><span·class="p">:</span><span·class="mi">64</span><sp[·...·truncated·by·diffoscope;·len:·641,·SHA:·8ac7ba7a17d9deb8cbdfcb7496ef5b9e30b884966209b78f6d2f31ee67ba637b·...·]-3">]</span><span·class="p">.</span><span·class="w">178 2&gt;·</span><span·class="p"·data-group-id="2159613901-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="2159613901-4">&lt;&lt;</span><span·class="n">X</span><span·class="p">:</span><span·class="mi">64</span><sp[·...·truncated·by·diffoscope;·len:·641,·SHA:·c97fc229adbe362c5d29830847f66a796dc2ec6b7eec3cdedf4d7d40318210b3·...·]-3">]</span><span·class="p">.</span><span·class="w">
179 </span><span·class="p"·data-group-id="4239657539-6">[</span><span·class="mf">0.0</span><span·class="p">,</span><span·class="mf">42.0</span><span·class="p"·data-group-id="4239657539-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">179 </span><span·class="p"·data-group-id="2159613901-6">[</span><span·class="mf">0.0</span><span·class="p">,</span><span·class="mf">42.0</span><span·class="p"·data-group-id="2159613901-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">
180 ··<a·href="#compiler-8-5-3"·class="hover-link">180 ··<a·href="#compiler-8-5-3"·class="hover-link">
181 ····<i·class="ri-link-m"·aria-hidden="true"></i>181 ····<i·class="ri-link-m"·aria-hidden="true"></i>
182 ··</a>182 ··</a>
183 ··<span·class="text">Compiler·8.5.3</span>183 ··<span·class="text">Compiler·8.5.3</span>
184 </h2>184 </h2>
185 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">185 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">
186 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">186 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">
Offset 220, 61 lines modifiedOffset 220, 61 lines modified
220 </h2>220 </h2>
221 <h3·id="fixed-bugs-and-malfunctions-6"·class="section-heading">221 <h3·id="fixed-bugs-and-malfunctions-6"·class="section-heading">
222 ··<a·href="#fixed-bugs-and-malfunctions-6"·class="hover-link">222 ··<a·href="#fixed-bugs-and-malfunctions-6"·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">Fixed·Bugs·and·Malfunctions</span>225 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
226 </h3>226 </h3>
227 <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="6308386235-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="6308386235-1">)</span><span·class="p">.</span><span·class="w">227 <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="1444893140-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="1444893140-1">)</span><span·class="p">.</span><span·class="w">
228 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6308386235-2">(</span><span·class="p"·data-group-id="6308386235-3">[</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6308386235-3">]</span><span·class="p"·data-group-id="6308386235-2">)</span><span·class="p">.</span><span·class="w">228 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1444893140-2">(</span><span·class="p"·data-group-id="1444893140-3">[</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1444893140-3">]</span><span·class="p"·data-group-id="1444893140-2">)</span><span·class="p">.</span><span·class="w">
  
229 </span><span·class="nf">f</span><span·class="p"·data-group-id="6308386235-4">(</span><span·class="p"·data-group-id="6308386235-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">229 </span><span·class="nf">f</span><span·class="p"·data-group-id="1444893140-4">(</span><span·class="p"·data-group-id="1444893140-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
230 ····</span><span·class="p"·data-group-id="6308386235-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:·730,·SHA:·d3e205e6721b6833d21848db95be6bd122e0e8443d74487bca22927f3b0d396e·...·]-1">)</span><span·class="p">.</span><span·class="w">230 ····</span><span·class="p"·data-group-id="1444893140-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:·730,·SHA:·158ff0d213b63515a46500db58491d124be5a25bee92c4f70ea08a76b73bf0a4·...·]-1">)</span><span·class="p">.</span><span·class="w">
231 </span><span·class="gt">**·exception·error:·bad·generator·ok231 </span><span·class="gt">**·exception·error:·bad·generator·ok
232 ·····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="0297115836-1">(</span><span·class="p"·data-group-id="0297115836-1">)</span><span·class="p">.</span><span·class="w">232 ·····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="2192143233-1">(</span><span·class="p"·data-group-id="2192143233-1">)</span><span·class="p">.</span><span·class="w">
233 </span><span·class="p"·data-group-id="0297115836-2">&lt;&lt;</span><span·class="p"·data-group-id="0297115836-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-1"·class="section-heading">233 </span><span·class="p"·data-group-id="2192143233-2">&lt;&lt;</span><span·class="p"·data-group-id="2192143233-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-1"·class="section-heading">
234 ··<a·href="#improvements-and-new-features-1"·class="hover-link">234 ··<a·href="#improvements-and-new-features-1"·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">Improvements·and·New·Features</span>237 ··<span·class="text">Improvements·and·New·Features</span>
238 </h3>238 </h3>
239 <ul><li><p>The·compiler·now·emits·nicer·error·message·for·function·head·mismatches.239 <ul><li><p>The·compiler·now·emits·nicer·error·message·for·function·head·mismatches.
240 For·example,·given:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">a</span><span·class="p"·data-group-id="7894390842-1">(</span><span·class="p"·data-group-id="7894390842-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">240 For·example,·given:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">a</span><span·class="p"·data-group-id="1872603371-1">(</span><span·class="p"·data-group-id="1872603371-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">
241 </span><span·class="nf">a</span><span·class="p"·data-group-id="7894390842-2">(</span><span·class="p">_</span><span·class="p"·data-group-id="7894390842-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·mismatch241 </span><span·class="nf">a</span><span·class="p"·data-group-id="1872603371-2">(</span><span·class="p">_</span><span·class="p"·data-group-id="1872603371-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
242 %····6|·a(_)·-&gt;·error.242 %····6|·a(_)·-&gt;·error.
243 %·····|·^</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?243 %·····|·^</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?
244 %····6|·a(_)·-&gt;·error.244 %····6|·a(_)·-&gt;·error.
245 %·····|·^</code></pre><p>Own·Id:·OTP-18648·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7383"·title="">PR-7383</a></p></li><li><p>The·compiler·now·optimizes·creation·of·binaries·that·are·known·to·be·constant.</p><p>Consider·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">bin</span><span·class="p"·data-group-id="1248856097-1">(</span><span·class="p"·data-group-id="1248856097-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">245 %·····|·^</code></pre><p>Own·Id:·OTP-18648·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7383"·title="">PR-7383</a></p></li><li><p>The·compiler·now·optimizes·creation·of·binaries·that·are·known·to·be·constant.</p><p>Consider·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">bin</span><span·class="p"·data-group-id="6259959566-1">(</span><span·class="p"·data-group-id="6259959566-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
246 ····</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">char</span><span·class="p"·data-group-id="1248856097-2">(</span><span·class="p"·data-group-id="1248856097-2">)</span><span·class="p">,</span><span·class="w">246 ····</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">char</span><span·class="p"·data-group-id="6259959566-2">(</span><span·class="p"·data-group-id="6259959566-2">)</span><span·class="p">,</span><span·class="w">
247 ····</span><span·class="p"·data-group-id="1248856097-3">&lt;&lt;</span><span·class="n">C</span><span·class="p"·data-group-id="1248856097-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">247 ····</span><span·class="p"·data-group-id="6259959566-3">&lt;&lt;</span><span·class="n">C</span><span·class="p"·data-group-id="6259959566-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">
  
248 </span><span·class="nf">char</span><span·class="p"·data-group-id="1248856097-4">(</span><span·class="p"·data-group-id="1248856097-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="sc">$*</span><span·class="p">.</span></code></pre><p>Essentially,·the·compiler·rewrites·the·[·...·truncated·by·diffoscope;·len:·212,·SHA:·7d0186b7c49f030775728a12e9def0f6523ffce198fa6cf4608894ecfb1d20ef·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">248 </span><span·class="nf">char</span><span·class="p"·data-group-id="6259959566-4">(</span><span·class="p"·data-group-id="6259959566-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="sc">$*</span><span·class="p">.</span></code></pre><p>Essentially,·the·compiler·rewrites·the·[·...·truncated·by·diffoscope;·len:·212,·SHA:·311fc16ea1ed868a6cc4dbe27eda360f6d5b09a3f84d017e02c6be2fd20095d9·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
249 ····</span><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">char</span><span·class="p"·data-group-id="2892894004-2">(</span><span·class="p"·data-group-id="2892894004-2">)</span><span·class="p">,</span><span·class="w">249 ····</span><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">char</span><span·class="p"·data-group-id="4537414988-2">(</span><span·class="p"·data-group-id="4537414988-2">)</span><span·class="p">,</span><span·class="w">
250 ····</span><span·class="p"·data-group-id="2892894004-3">&lt;&lt;</span><span·class="sc">$*</span><span·class="p"·data-group-id="2892894004-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">250 ····</span><span·class="p"·data-group-id="4537414988-3">&lt;&lt;</span><span·class="sc">$*</span><span·class="p"·data-group-id="4537414988-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">
  
251 </span><span·class="nf">char</span><span·class="p"·data-group-id="2892894004-4">(</span><span·class="p"·data-group-id="2892894004-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="sc">$*</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-18673·Aux·Id:·<a·href="http[·...·truncated·by·diffoscope;·len:·818,·SHA:·6bbdb4bedea9466f1d489190e2ae62f92f02e480217ec8e997f9960acfd310cc·...·]-1">)</span><span·class="p">.</span><span·class="w">251 </span><span·class="nf">char</span><span·class="p"·data-group-id="4537414988-4">(</span><span·class="p"·data-group-id="4537414988-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="sc">$*</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-18673·Aux·Id:·<a·href="http[·...·truncated·by·diffoscope;·len:·818,·SHA:·4be71d84749b1addfd121b820fbfd2ce50c5981ae506397487b4e93f45099d2e·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
252 </span><span·class="nf">update</span><span·class="p"·data-group-id="2834933149-3">(</span><span·class="n">Value</span><span·class="p"·data-group-id="2834933149-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">252 </span><span·class="nf">update</span><span·class="p"·data-group-id="8946463811-3">(</span><span·class="n">Value</span><span·class="p"·data-group-id="8946463811-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
253 ····</span><span·class="n">R0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">r</span><span·class="p"·data-group-id="2834933149-4">{</span><span·class="p"·data-group-id="2834933149-4">}</span><span·class="p">,</span><span·class="w">253 ····</span><span·class="n">R0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">r</span><span·class="p"·data-group-id="8946463811-4">{</span><span·class="p"·data-group-id="8946463811-4">}</span><span·class="p">,</span><span·class="w">
254 ····</span><span·class="n">R1</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">r</span><span·class="p"·data-group-id="2834933149-5">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="n">Value</span><span·class="p"·data-group-id="2834933149-5">}</span><span·class="p">,</span><span·class="w">254 ····</span><span·class="n">R1</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">r</span><span·class="p"·data-group-id="8946463811-5">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="n">Value</span><span·class="p"·data-group-id="8946463811-5">}</span><span·class="p">,</span><span·class="w">
255 ····</span><span·class="n">R2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">R1</span><span·class="o">#</span><span·class="ss">r</span><span·class="p"·data-group-id="2834933149-6">{</span><span·class="ss">b</span><span·class="o">=</span><span·class="mi">2</span><span·class="p"·data-group-id="2834933149-6">}</span><span·class="p">,</span><span·class="w">255 ····</span><span·class="n">R2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">R1</span><span·class="o">#</span><span·class="ss">r</span><span·class="p"·data-group-id="8946463811-6">{</span><span·class="ss">b</span><span·class="o">=</span><span·class="mi">2</span><span·class="p"·data-group-id="8946463811-6">}</span><span·class="p">,</span><span·class="w">
256 ····</span><span·class="n">R2</span><span·class="o">#</span><span·class="ss">r</span><span·class="p"·data-group-id="2834933149-7">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="mi">3</span><span·class="p"·data-group-id="2834933149-7">}</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-18680·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7491"·title="">PR-7491</a>,·<a·href="https://github.com/erlang/otp/pull/8086"·title="">PR-8086</a>,·ERIERL-967</p></li><li><p>Improved·the·performance·of·the·alias·analysis·pass.</p><p>Own·Id:·OTP-18714·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7528"·title="">PR-7528</a>,·<a·href="https://github.com/erlang/otp/issues/7432"·title="">GH-7432</a></p></li><li><p><code·class="inline">-spec</code>·attributes·are·now·used·for·documentation.</p><p>Own·Id:·OTP-18801·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7739"·title="">PR-7739</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.1/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="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.2.7/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/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.2.7/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.2.7/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><a·href="https://www.erlang.org/eeps/eep-0059">EEP-59·-·Documentation·Attributes</a>·has·been·implemented.</p><p>Documentation·attributes·can·be·used·to·document·functions,·types,·callbacks,·and·modules.256 ····</span><span·class="n">R2</span><span·class="o">#</span><span·class="ss">r</span><span·class="p"·data-group-id="8946463811-7">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="mi">3</span><span·class="p"·data-group-id="8946463811-7">}</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-18680·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7491"·title="">PR-7491</a>,·<a·href="https://github.com/erlang/otp/pull/8086"·title="">PR-8086</a>,·ERIERL-967</p></li><li><p>Improved·the·performance·of·the·alias·analysis·pass.</p><p>Own·Id:·OTP-18714·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7528"·title="">PR-7528</a>,·<a·href="https://github.com/erlang/otp/issues/7432"·title="">GH-7432</a></p></li><li><p><code·class="inline">-spec</code>·attributes·are·now·used·for·documentation.</p><p>Own·Id:·OTP-18801·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7739"·title="">PR-7739</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.1/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="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.2.7/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/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.2.7/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.2.7/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><a·href="https://www.erlang.org/eeps/eep-0059">EEP-59·-·Documentation·Attributes</a>·has·been·implemented.</p><p>Documentation·attributes·can·be·used·to·document·functions,·types,·callbacks,·and·modules.
257 The·keyword·<code·class="inline">-moduledoc·&quot;Documentation·here&quot;.</code>·is·used·to·document·modules,·while·<code·class="inline">-doc·&quot;Documentation·here&quot;.</code>·can·be·used·on·top·of·functions,·types,·and·callbacks·to·document·them,·respectively.</p><ul><li><p>Types,·callbacks,·and·function·documentation·can·be·set·to·<code·class="inline">hidden</code>·either·via·<code·class="inline">-doc·false</code>·or·<code·class="inline">-doc·hidden</code>.·When·documentation·attributes·mark·a·type·as·hidden,·they·will·not·be·part·of·the·documentation.</p></li><li><p>The·documentation·from·<code·class="inline">moduledoc</code>·and·<code·class="inline">doc</code>·gets·added·by·default·to·the·binary·beam·file,·following·the·format·of·<a·href="https://www.erlang.org/eeps/eep-0048">EEP-48</a>.</p></li><li><p>Using·the·compiler·flag·<code·class="inline">warn_missing_doc</code>·will·raise·a·warning·when257 The·keyword·<code·class="inline">-moduledoc·&quot;Documentation·here&quot;.</code>·is·used·to·document·modules,·while·<code·class="inline">-doc·&quot;Documentation·here&quot;.</code>·can·be·used·on·top·of·functions,·types,·and·callbacks·to·document·them,·respectively.</p><ul><li><p>Types,·callbacks,·and·function·documentation·can·be·set·to·<code·class="inline">hidden</code>·either·via·<code·class="inline">-doc·false</code>·or·<code·class="inline">-doc·hidden</code>.·When·documentation·attributes·mark·a·type·as·hidden,·they·will·not·be·part·of·the·documentation.</p></li><li><p>The·documentation·from·<code·class="inline">moduledoc</code>·and·<code·class="inline">doc</code>·gets·added·by·default·to·the·binary·beam·file,·following·the·format·of·<a·href="https://www.erlang.org/eeps/eep-0048">EEP-48</a>.</p></li><li><p>Using·the·compiler·flag·<code·class="inline">warn_missing_doc</code>·will·raise·a·warning·when
258 <code·class="inline">-doc</code>·attributes·are·missing·in·exported·functions,·types,·and·callbacks.</p></li><li><p>Using·the·compiler·flag·<code·class="inline">warn_missing_spec_documented</code>·will·raise·a·warning·when258 <code·class="inline">-doc</code>·attributes·are·missing·in·exported·functions,·types,·and·callbacks.</p></li><li><p>Using·the·compiler·flag·<code·class="inline">warn_missing_spec_documented</code>·will·raise·a·warning·when
259 spec·attributes·are·missing·in·documented·functions,·types,·and·callbacks.</p></li><li><p><code·class="inline">moduledoc</code>s·and·<code·class="inline">doc</code>s·may·refer·to·external·files·to·be·embedded,·such·as·<code·class="inline">-doc·{file,·&quot;README.md&quot;}.</code>,·which·refers·to·the·file·<code·class="inline">README.md</code>·found·in·the·current·working·directory.</p></li><li><p>The·compiler·warns·about·exported·functions·whose·specs·refer·to·hidden·types.·Thus,·there·will·be·warnings·when·a·hidden·type·(meaning,·the·type·is·not·part·of·the·documentation)·gets·used·in·an·exported·function.</p></li></ul><p>Own·Id:·OTP-18916·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7936"·title="">PR-7936</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>The·order·in·which·the·compiler·looks·up·options·has·changed.</p><p>When·there·is·a·conflict·in·the·compiler·options·given·in·the·<code·class="inline">-compile()</code>·attribute·and·options·given·to·the·compiler,·the·options·given·in·the·<code·class="inline">-compile()</code>·attribute·overrides·the·option·given·to·the·compiler,·which·in·turn·overrides·options·given·in·the·<code·class="inline">ERL_COMPILER_OPTIONS</code>·environment·variable.</p><p>Example:</p><p>If··<code·class="inline">some_module.erl</code>·has·the·following·attribute:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="7894894981-1">(</span><span·class="p"·data-group-id="7894894981-2">[</span><span·class="ss">nowarn_missing_spec</span><span·class="p"·data-group-id="7894894981-2">]</span><span·class="p"·data-group-id="7894894981-1">)</span><span·class="p">.</span></code><[·...·truncated·by·diffoscope;·len:·1215,·SHA:·04ae33c849f3c76df7b5388ce58268e4555fc6537df525d05008d0c6cc1a9359·...·]-1">)</span><span·class="p">.</span><span·class="w">259 spec·attributes·are·missing·in·documented·functions,·types,·and·callbacks.</p></li><li><p><code·class="inline">moduledoc</code>s·and·<code·class="inline">doc</code>s·may·refer·to·external·files·to·be·embedded,·such·as·<code·class="inline">-doc·{file,·&quot;README.md&quot;}.</code>,·which·refers·to·the·file·<code·class="inline">README.md</code>·found·in·the·current·working·directory.</p></li><li><p>The·compiler·warns·about·exported·functions·whose·specs·refer·to·hidden·types.·Thus,·there·will·be·warnings·when·a·hidden·type·(meaning,·the·type·is·not·part·of·the·documentation)·gets·used·in·an·exported·function.</p></li></ul><p>Own·Id:·OTP-18916·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7936"·title="">PR-7936</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>The·order·in·which·the·compiler·looks·up·options·has·changed.</p><p>When·there·is·a·conflict·in·the·compiler·options·given·in·the·<code·class="inline">-compile()</code>·attribute·and·options·given·to·the·compiler,·the·options·given·in·the·<code·class="inline">-compile()</code>·attribute·overrides·the·option·given·to·the·compiler,·which·in·turn·overrides·options·given·in·the·<code·class="inline">ERL_COMPILER_OPTIONS</code>·environment·variable.</p><p>Example:</p><p>If··<code·class="inline">some_module.erl</code>·has·the·following·attribute:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="6306477307-1">(</span><span·class="p"·data-group-id="6306477307-2">[</span><span·class="ss">nowarn_missing_spec</span><span·class="p"·data-group-id="6306477307-2">]</span><span·class="p"·data-group-id="6306477307-1">)</span><span·class="p">.</span></code><[·...·truncated·by·diffoscope;·len:·1215,·SHA:·9b61443dfa7870f11c4317c025555642de24aa6de1f8ae52f813195f976a30d1·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
260 </span><span·class="nf">update</span><span·class="p"·data-group-id="5705965445-3">(</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="5705965445-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:·c9f26edc9015fb5041a0241a6fa4f6bd85ac0b37a4ab761fd4d0d0e893ec26f6·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">260 </span><span·class="nf">update</span><span·class="p"·data-group-id="3037053039-3">(</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="3037053039-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:·1b4449c2c81534bb0446fdb91fbcd5779c5f86a696026ad8c5f1b9b3b54508b5·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 ····</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="5705965445-5">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="ss">up_to_date</span><span·class="p"·data-group-id="5705965445-5">}</span><span·class="p">,</span><span·class="w">261 ····</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="3037053039-5">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="ss">up_to_date</span><span·class="p"·data-group-id="3037053039-5">}</span><span·class="p">,</span><span·class="w">
262 ····</span><span·class="k">if</span><span·class="w">262 ····</span><span·class="k">if</span><span·class="w">
263 ········</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">263 ········</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">
264 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="5705965445-6">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">negative</span><span·class="p"·data-group-id="5705965445-6">}</span><span·class="p">;</span><span·class="w">264 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="3037053039-6">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">negative</span><span·class="p"·data-group-id="3037053039-6">}</span><span·class="p">;</span><span·class="w">
265 ········</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">265 ········</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">
266 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="5705965445-7">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">zero</span><span·class="p"·data-group-id="5705965445-7">}</span><span·class="p">;</span><span·class="w">266 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="3037053039-7">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">zero</span><span·class="p"·data-group-id="3037053039-7">}</span><span·class="p">;</span><span·class="w">
267 ········</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">267 ········</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">
268 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="5705965445-8">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">positive</span><span·class="p"·data-group-id="5705965445-8">}</span><span·class="w">268 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="3037053039-8">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">positive</span><span·class="p"·data-group-id="3037053039-8">}</span><span·class="w">
269 ····</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>Improved·the·match·context·reuse·optimization·slightly,·allowing·match·contexts·to·be·passed·as-is·to·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#bit_size/1"><code·class="inline">bit_size/1</code></a>·and·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size/1</code></a>.</p><p>Own·Id:·OTP-18987</p></li><li><p><a·href="../../../../lib/stdlib-6.2.2/doc/html/erl_lint.html"><code·class="inline">erl_lint</code></a>·(and·by·extension·the·<a·href="compile.html"><code·class="inline">compiler</code></a>)·will·now·warn·for·code·using·deprecated·callbacks.</p><p>The·only·callback·currenly·deprecated·is·<code·class="inline">format_status/2</code>·in·<a·href="../../../../lib/stdlib-6.2.2/doc/html/gen_server.html#c:format_status/2"><code·class="inline">gen_server</code></a>,·<a·href="../../../../lib/stdlib-6.2.2/doc/html/gen_event.html#c:format_status/2"><code·class="inline">gen_event</code></a>·and·<a·href="../../../../lib/stdlib-6.2.2/doc/html/gen_server.html#c:format_status/2"><code·class="inline">gen_statem</code></a>.</p><p>You·can·use·<code·class="inline">nowarn_deprecated_callback</code>·to·silence·the·warning.</p><p>Own·Id:·OTP-19010·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8205"·title="">PR-8205</a></p></li></ul><h2·id="compiler-8-4-3-2"·class="section-heading">269 ····</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>Improved·the·match·context·reuse·optimization·slightly,·allowing·match·contexts·to·be·passed·as-is·to·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#bit_size/1"><code·class="inline">bit_size/1</code></a>·and·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size/1</code></a>.</p><p>Own·Id:·OTP-18987</p></li><li><p><a·href="../../../../lib/stdlib-6.2.2/doc/html/erl_lint.html"><code·class="inline">erl_lint</code></a>·(and·by·extension·the·<a·href="compile.html"><code·class="inline">compiler</code></a>)·will·now·warn·for·code·using·deprecated·callbacks.</p><p>The·only·callback·currenly·deprecated·is·<code·class="inline">format_status/2</code>·in·<a·href="../../../../lib/stdlib-6.2.2/doc/html/gen_server.html#c:format_status/2"><code·class="inline">gen_server</code></a>,·<a·href="../../../../lib/stdlib-6.2.2/doc/html/gen_event.html#c:format_status/2"><code·class="inline">gen_event</code></a>·and·<a·href="../../../../lib/stdlib-6.2.2/doc/html/gen_server.html#c:format_status/2"><code·class="inline">gen_statem</code></a>.</p><p>You·can·use·<code·class="inline">nowarn_deprecated_callback</code>·to·silence·the·warning.</p><p>Own·Id:·OTP-19010·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8205"·title="">PR-8205</a></p></li></ul><h2·id="compiler-8-4-3-2"·class="section-heading">
270 ··<a·href="#compiler-8-4-3-2"·class="hover-link">270 ··<a·href="#compiler-8-4-3-2"·class="hover-link">
271 ····<i·class="ri-link-m"·aria-hidden="true"></i>271 ····<i·class="ri-link-m"·aria-hidden="true"></i>
272 ··</a>272 ··</a>
273 ··<span·class="text">Compiler·8.4.3.2</span>273 ··<span·class="text">Compiler·8.4.3.2</span>
274 </h2>274 </h2>
275 <h3·id="fixed-bugs-and-malfunctions-7"·class="section-heading">275 <h3·id="fixed-bugs-and-malfunctions-7"·class="section-heading">
Offset 3194, 15 lines modifiedOffset 3194, 15 lines modified
3194 ······<p·class="built-using">3194 ······<p·class="built-using">
3195 ········Built·using3195 ········Built·using
3196 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3196 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3197 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3197 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3198 ······</p>3198 ······</p>
3199 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3199 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3200 ····</footer>3200 ····</footer>
3201 ··</div>3201 ··</div>
3202 </main>3202 </main>
3203 </div>3203 </div>
3204 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3204 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3205 ··<script>3205 ··<script>
3206 ··let·initialized·=·false;3206 ··let·initialized·=·false;
790 B
html2text {}
Max HTML report size reached
1.28 KB
./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
17.3 KB
./usr/share/doc/erlang-doc/html/lib/compiler-8.6.1/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="8601488100-1">(</span><span·class="p"·data-group-id="8601488100-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="2807951886-1">(</span><span·class="p"·data-group-id="2807951886-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="8601488100-2">#{</span><span·class="p"·data-group-id="8601488100-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="2807951886-2">#{</span><span·class="p"·data-group-id="2807951886-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="4297019686-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="4297019686-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="2516110134-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="2516110134-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="7860970505-1">(</span><span·class="o">&lt;</span><span·class="ss">formals</span><span·class="o">&gt;</span><span·class="p"·data-group-id="7860970505-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="4678496006-1">(</span><span·class="o">&lt;</span><span·class="ss">formals</span><span·class="o">&gt;</span><span·class="p"·data-group-id="4678496006-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="1538092588-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="1538092588-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="1684740522-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="1684740522-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="9934046455-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</s[·...·truncated·by·diffoscope;·len:·256,·SHA:·0be23fbe93bdf8219ce4fb6c65253c8c2ee97c23ee64d1f63006afc1a206464c·...·]-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="7893493743-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</s[·...·truncated·by·diffoscope;·len:·256,·SHA:·61c0f75f86d6964cc7e854efa50f7c12982ad253b2e1e7bf709c9fc88b880518·...·]-1">)</span><span·class="w">
  
163 </span><span·class="nf">switch</span><span·class="p"·data-group-id="9934046455-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</[·...·truncated·by·diffoscope;·len:·619,·SHA:·8b1c8ed722c2082e52539813a203bc9e811884ee1bbcb8f0f51592389f2e86c1·...·]-2">)</span><span·class="w">163 </span><span·class="nf">switch</span><span·class="p"·data-group-id="7893493743-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</[·...·truncated·by·diffoscope;·len:·619,·SHA:·39f9408fee68b033d453fb315d273b125d3118d47988c510b9e2c19c9c615511·...·]-2">)</span><span·class="w">
  
164 </span><span·class="nf">ret</span><span·class="p"·data-group-id="9934046455-5">(</span><span·class="o">&lt;</span><span·class="ss">value</span><span·class="o">&gt;</span><span·class="p"·data-group-id="9934046455-5">)</span><span·class="w">164 </span><span·class="nf">ret</span><span·class="p"·data-group-id="7893493743-5">(</span><span·class="o">&lt;</span><span·class="ss">value</span><span·class="o">&gt;</span><span·class="p"·data-group-id="7893493743-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="1276934810-1">(</span><span·class="p"·data-group-id="1276934810-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="9280297939-1">(</span><span·class="p"·data-group-id="9280297939-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="1276934810-2">(</span><span·class="p"·data-group-id="1276934810-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="9280297939-2">(</span><span·class="p"·data-group-id="9280297939-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="1276934810-3">(</span><span·class="p"·data-group-id="1276934810-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="9280297939-3">(</span><span·class="p"·data-group-id="9280297939-3">)</span><span·class="p">,</span><span·class="w">
177 ····</span><span·class="p"·data-group-id="1276934810-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="1276934810-4">}</span><span·class="p">.</span></code></pre><h2·id="semantics"·class="section-heading">177 ····</span><span·class="p"·data-group-id="9280297939-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="9280297939-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>251 <p>Copyright·©·1996-2025·<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.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.57 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>320 <p>Copyright·©·1996-2025·<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.45 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2025·<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;
631 B
html2text {}
Max HTML report size reached
244 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/crypto.epub
2.98 KB
zipinfo {}
Max HTML report size reached
99.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·Jul·06·2026·03:08:38,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:38,·uncompressed·size·20,·method=store
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.1 KB
OEBPS/crypto.xhtml
Max HTML report size reached
1.21 KB
OEBPS/content.opf
1.18 KB
OEBPS/content.opf
Max HTML report size reached
28.6 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/crypto.html
    
Offset 591, 15 lines modifiedOffset 591, 15 lines modified
  
591 ····<div·class="summary-row">591 ····<div·class="summary-row">
592 ······<div·class="summary-signature">592 ······<div·class="summary-signature">
593 ········<a·href="#t:rsa_params/0"·data-no-tooltip·translate="no">rsa_params()</a>593 ········<a·href="#t:rsa_params/0"·data-no-tooltip·translate="no">rsa_params()</a>
  
594 ······</div>594 ······</div>
  
595 ········<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="7236105194-1">(</span><span·class="p"·data-group-id="7236105194-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7236105194-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·3314d49a35107a68b1e42d6b9e30cfd14899c56f624b98205fc21523cbb0d56f·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private595 ········<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="8436480457-1">(</span><span·class="p"·data-group-id="8436480457-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8436480457-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·454934531a2123a6adca26c2b9cf0c26077c5ec3e93a94360700e7330598c4bd·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private
596 exponent.·The·longer·key·format·contains·redundant·information·that·will·make596 exponent.·The·longer·key·format·contains·redundant·information·that·will·make
597 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E2597 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E2
598 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is598 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is
599 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p></div>599 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p></div>
  
600 ····</div>600 ····</div>
  
Offset 3033, 15 lines modifiedOffset 3033, 15 lines modified
  
3033 ······<div·class="specs">3033 ······<div·class="specs">
  
3034 ··········<pre·translate="no"><span·class="attribute">-type</span>·rsa_params()·::·{ModulusSizeInBits·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·PublicExponent·::·<a·href="#t:key_integer/0">key_integer</a>()}.</pre>3034 ··········<pre·translate="no"><span·class="attribute">-type</span>·rsa_params()·::·{ModulusSizeInBits·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·PublicExponent·::·<a·href="#t:key_integer/0">key_integer</a>()}.</pre>
  
3035 ······</div>3035 ······</div>
  
3036 <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="7236105194-1">(</span><span·class="p"·data-group-id="7236105194-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7236105194-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·3314d49a35107a68b1e42d6b9e30cfd14899c56f624b98205fc21523cbb0d56f·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private3036 <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="8436480457-1">(</span><span·class="p"·data-group-id="8436480457-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8436480457-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·454934531a2123a6adca26c2b9cf0c26077c5ec3e93a94360700e7330598c4bd·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private
3037 exponent.·The·longer·key·format·contains·redundant·information·that·will·make3037 exponent.·The·longer·key·format·contains·redundant·information·that·will·make
3038 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E23038 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E2
3039 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is3039 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is
3040 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p>3040 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p>
3041 ··</section>3041 ··</section>
3042 </section>3042 </section>
3043 <section·class="detail"·id="t:rsa_private/0">3043 <section·class="detail"·id="t:rsa_private/0">
Offset 5316, 17 lines modifiedOffset 5316, 17 lines modified
5316 ······</div>5316 ······</div>
  
5317 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-6.2.2/doc/html/rand.html">random·number·generation</a>,·in·order·to5317 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-6.2.2/doc/html/rand.html">random·number·generation</a>,·in·order·to
5318 generate·cryptographically·strong·random·numbers·(based·on·OpenSSL's5318 generate·cryptographically·strong·random·numbers·(based·on·OpenSSL's
5319 <code·class="inline">BN_rand_range</code>).</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as5319 <code·class="inline">BN_rand_range</code>).</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as
5320 well.·See·also·<a·href="../../../../lib/stdlib-6.2.2/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-6.2.2/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it5320 well.·See·also·<a·href="../../../../lib/stdlib-6.2.2/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-6.2.2/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it
5321 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due5321 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due
5322 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="7051277376-1">(</span><span·class="p"·data-group-id="7051277376-1">)</span><span·class="p">,</span><span·class="w">5322 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="2737142634-1">(</span><span·class="p"·data-group-id="2737142634-1">)</span><span·class="p">,</span><span·class="w">
5323 </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="7051277376-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="7051277376-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">5323 </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="2737142634-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="2737142634-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">
5324 </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="7051277376-3">(</span><span·class="p"·data-group-id="7051277376-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>5324 </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="2737142634-3">(</span><span·class="p"·data-group-id="2737142634-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>
5325 ··</section>5325 ··</section>
5326 </section>5326 </section>
5327 <section·class="detail"·id="rand_seed/1">5327 <section·class="detail"·id="rand_seed/1">
  
5328 ··<div·class="detail-header">5328 ··<div·class="detail-header">
5329 ····<a·href="#rand_seed/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">5329 ····<a·href="#rand_seed/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
5330 ······<i·class="ri-link-m"·aria-hidden="true"></i>5330 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 5380, 17 lines modifiedOffset 5380, 17 lines modified
  
5380 ······</div>5380 ······</div>
  
5381 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-6.2.2/doc/html/rand.html">random·number·generation</a>,·in·order·to5381 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-6.2.2/doc/html/rand.html">random·number·generation</a>,·in·order·to
5382 generate·cryptographically·strong·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also5382 generate·cryptographically·strong·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also
5383 <a·href="../../../../lib/stdlib-6.2.2/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-6.2.2/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it5383 <a·href="../../../../lib/stdlib-6.2.2/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-6.2.2/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it
5384 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due5384 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due
5385 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="7691030169-1">(</span><span·class="ss">crypto_cache</span><span·class="p"·data-group-id="7691030169-1">)</span><span·class="p">,</span><span·class="w">5385 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="1550757022-1">(</span><span·class="ss">crypto_cache</span><span·class="p"·data-group-id="1550757022-1">)</span><span·class="p">,</span><span·class="w">
5386 </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="7691030169-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="7691030169-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">5386 </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="1550757022-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="1550757022-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">
5387 </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="7691030169-3">(</span><span·class="p"·data-group-id="7691030169-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>5387 </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="1550757022-3">(</span><span·class="p"·data-group-id="1550757022-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>
5388 ··</section>5388 ··</section>
5389 </section>5389 </section>
5390 <section·class="detail"·id="rand_seed_alg/2">5390 <section·class="detail"·id="rand_seed_alg/2">
  
5391 ··<div·class="detail-header">5391 ··<div·class="detail-header">
5392 ····<a·href="#rand_seed_alg/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">5392 ····<a·href="#rand_seed_alg/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
5393 ······<i·class="ri-link-m"·aria-hidden="true"></i>5393 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 5412, 20 lines modifiedOffset 5412, 20 lines modified
  
5412 ··········<pre·translate="no"><span·class="attribute">-spec</span>·rand_seed_alg(Alg·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>(),·Seed·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>())·->·{<a·href="../../../../lib/stdlib-6.2.2/doc/html/rand.html#t:alg_handler/0">rand:alg_handler</a>(),·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>()·|·<a·href="#t:rand_cache_seed/0">rand_cache_seed</a>()}.</pre>5412 ··········<pre·translate="no"><span·class="attribute">-spec</span>·rand_seed_alg(Alg·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>(),·Seed·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>())·->·{<a·href="../../../../lib/stdlib-6.2.2/doc/html/rand.html#t:alg_handler/0">rand:alg_handler</a>(),·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>()·|·<a·href="#t:rand_cache_seed/0">rand_cache_seed</a>()}.</pre>
  
5413 ······</div>5413 ······</div>
  
5414 <p>Creates·a·state·object·for·<a·href="../../../../lib/stdlib-6.2.2/doc/html/rand.html">random·number·generation</a>,·in·order·to5414 <p>Creates·a·state·object·for·<a·href="../../../../lib/stdlib-6.2.2/doc/html/rand.html">random·number·generation</a>,·in·order·to
5415 generate·cryptographically·unpredictable·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also5415 generate·cryptographically·unpredictable·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also
5416 <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="5375022504-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="5375022504-1">)</span><span·class="p">,</span><span·class="w">5416 <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="1738434563-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="1738434563-1">)</span><span·class="p">,</span><span·class="w">
5417 </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="5375022504-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="5375022504-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">5417 </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="1738434563-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="1738434563-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">
5418 </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="5375022504-3">(</span><span·class="p"·data-group-id="5375022504-3">)</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span><span·class="w">5418 </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="1738434563-3">(</span><span·class="p"·data-group-id="1738434563-3">)</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span><span·class="w">
5419 </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="5375022504-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="5375022504-4">)</span><span·class="p">,</span><span·class="w">5419 </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="1738434563-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="1738434563-4">)</span><span·class="p">,</span><span·class="w">
5420 </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="5375022504-5">(</span><span·class="mi">42</span><span·class="p"·data-group-id="5375022504-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Same·values</span><span·class="w">5420 </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="1738434563-5">(</span><span·class="mi">42</span><span·class="p"·data-group-id="1738434563-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Same·values</span><span·class="w">
5421 </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="5375022504-6">(</span><span·class="p"·data-group-id="5375022504-6">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·again</span></code></pre>5421 </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="1738434563-6">(</span><span·class="p"·data-group-id="1738434563-6">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·again</span></code></pre>
5422 ··</section>5422 ··</section>
5423 </section>5423 </section>
5424 <section·class="detail"·id="rand_seed_alg_s/1">5424 <section·class="detail"·id="rand_seed_alg_s/1">
  
5425 ··<div·class="detail-header">5425 ··<div·class="detail-header">
5426 ····<a·href="#rand_seed_alg_s/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">5426 ····<a·href="#rand_seed_alg_s/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
5427 ······<i·class="ri-link-m"·aria-hidden="true"></i>5427 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 5886, 20 lines modifiedOffset 5886, 20 lines modified
5886 ················cryptolib_version_compiled·=>·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()·|·undefined,5886 ················cryptolib_version_compiled·=>·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()·|·undefined,
5887 ················cryptolib_version_linked·:=·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),5887 ················cryptolib_version_linked·:=·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),
5888 ················link_type·:=·dynamic·|·static,5888 ················link_type·:=·dynamic·|·static,
5889 ················otp_crypto_version·:=·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()}.</pre>5889 ················otp_crypto_version·:=·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()}.</pre>
  
5890 ······</div>5890 ······</div>
  
5891 <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="3526722779-1">(</span><span·class="p"·data-group-id="3526722779-1">)</span><span·class="p">.</span><span·class="w">5891 <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="9316462594-1">(</span><span·class="p"·data-group-id="9316462594-1">)</span><span·class="p">.</span><span·class="w">
5892 </span><span·class="p"·data-group-id="3526722779-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">5892 </span><span·class="p"·data-group-id="9316462594-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">
5893 ··</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">5893 ··</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">
5894 ··</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">5894 ··</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">
5895 ··</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">5895 ··</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">
5896 ··</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"·data-group-id="3526722779-2">}</span><span·class="w">5896 ··</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"·data-group-id="9316462594-2">}</span><span·class="w">
5897 </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.</p>5897 </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.</p>
5898 ··</section>5898 ··</section>
5899 </section>5899 </section>
5900 <section·class="detail"·id="info_fips/0">5900 <section·class="detail"·id="info_fips/0">
  
5901 ··<div·class="detail-header">5901 ··<div·class="detail-header">
5902 ····<a·href="#info_fips/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">5902 ····<a·href="#info_fips/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 5954, 16 lines modifiedOffset 5954, 16 lines modified
5954 ··········<pre·translate="no"><span·class="attribute">-spec</span>·info_lib()·->·[{Name,·VerNum,·VerStr}]5954 ··········<pre·translate="no"><span·class="attribute">-spec</span>·info_lib()·->·[{Name,·VerNum,·VerStr}]
5955 ··················when·Name·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>(),·VerNum·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·VerStr·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>().</pre>5955 ··················when·Name·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>(),·VerNum·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·VerStr·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>().</pre>
  
5956 ······</div>5956 ······</div>
  
5957 <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·to5957 <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
5958 the·library's·own·versioning·scheme.·<code·class="inline">VerStr</code>·contains·a·text·variant·of·the5958 the·library's·own·versioning·scheme.·<code·class="inline">VerStr</code>·contains·a·text·variant·of·the
5959 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="9695012401-1">(</span><span·class="p"·data-group-id="9695012401-1">)</span><span·class="p">.</span><span·class="w">5959 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="2422429210-1">(</span><span·class="p"·data-group-id="2422429210-1">)</span><span·class="p">.</span><span·class="w">
5960 </span><span·class="p"·data-group-id="9695012401-2">[</span><span·class="p"·data-group-id="9695012401-3">{</span><span·class="p"·data-group-id="9695012401-4">&lt;&lt;</span><span·class="s">&quot;OpenSSL&quot;</span><span·class="p"·data-group-id="9695012401-4">&gt;&gt;</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·367,·SHA:·f5b1301b96a7137a48b82da7fe35fb018c26f8cb690f8145725ac014761f484c·...·]-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·OpenSSL5960 </span><span·class="p"·data-group-id="2422429210-2">[</span><span·class="p"·data-group-id="2422429210-3">{</span><span·class="p"·data-group-id="2422429210-4">&lt;&lt;</span><span·class="s">&quot;OpenSSL&quot;</span><span·class="p"·data-group-id="2422429210-4">&gt;&gt;</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·367,·SHA:·795c5ca96b3c35769d166d35bdc605442034781b109332134bc390a02bde0f86·...·]-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
5961 <em>header·files</em>·(<code·class="inline">openssl/opensslv.h</code>)·used·when·crypto·was·compiled.·The·text5961 <em>header·files</em>·(<code·class="inline">openssl/opensslv.h</code>)·used·when·crypto·was·compiled.·The·text
5962 variant·represents·the·libcrypto·library·used·at·runtime.·In·earlier·OTP5962 variant·represents·the·libcrypto·library·used·at·runtime.·In·earlier·OTP
5963 versions·both·numeric·and·text·was·taken·from·the·library.</p></section>5963 versions·both·numeric·and·text·was·taken·from·the·library.</p></section>
5964 ··</section>5964 ··</section>
5965 </section>5965 </section>
5966 <section·class="detail"·id="mod_pow/3">5966 <section·class="detail"·id="mod_pow/3">
  
Offset 6848, 15 lines modifiedOffset 6848, 15 lines modified
Max diff block lines reached; 677/28456 bytes (2.38%) of diff not shown.
704 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>226 <p>Copyright·©·1996-2025·<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.5.3/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="3219641716-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="3219641716-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·2c9930aa94c2569c5994611f5573afc87206175d21478bf60f7df7db1681ed14·...·]-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="0522213774-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="0522213774-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·a5c563fe6dbd995de886f09f69b66bc744007af466f5c3087ef36487deb43b71·...·]-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="3219641716-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:·1ad6027510e4568235f19c0a04732a92fb27857c4f7fdc5c68470e2056076ad9·...·]-3">}</span><span·class="gp·unselectable">166 </span><span·class="p"·data-group-id="0522213774-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:·8040834401699048a0a497423d3791d997ff7e8c34bdee730304cfb214d09b52·...·]-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="3219641716-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="0522213774-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="3219641716-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="0522213774-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="3219641716-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="3219641716-6">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·201,·SHA:·8d32cc46a7585fe1acbab4e22c2bc87bc873a3f37bd68bb1ccab4ba525df1de2·...·]-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="0522213774-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="0522213774-6">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·201,·SHA:·81d5efd29b68583a8222425327a1f0365ab47f276841b82ae20f13fa7823c756·...·]-5">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="p"·data-group-id="3219641716-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="0522213774-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="3219641716-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="0522213774-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="7263101165-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="9663420138-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="7263101165-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="9663420138-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="7263101165-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="7263101165-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·283,·SHA:·69ce8e4dec34dcaef4e3e4d9d6810abc9a3f23a2f3571d05f3fb094a1e238c4f·...·]-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="9663420138-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="9663420138-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·283,·SHA:·c07095064134777a32bbfaba2379fbff7b4cd85d7868231a1d649a28c6a49d1a·...·]-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="5030930675-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="7297128247-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="5030930675-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="7297128247-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="5030930675-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="5030930675-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·204,·SHA:·9f877fd78ecf0e085c540db628c7da5336987b319733434602a02a21159c3152·...·]-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="7297128247-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="7297128247-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·204,·SHA:·c4b8368731d17e1e3e32ce9c40d2ee796b2b1a17ac9da2d350ca951802d152cc·...·]-2">)</span><span·class="p">.</span><span·class="w">
197 </span><span·class="p"·data-group-id="5030930675-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="7297128247-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="5030930675-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="7297128247-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>249 <p>Copyright·©·1996-2025·<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.5.3/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="7806346748-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="7806346748-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·654,·SHA:·4271800bd824e5058dd31c082eb036bd99ec64188a79b7e069906fd95a7513ac·...·]-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="7465975075-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="7465975075-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·654,·SHA:·9c8b6a3d379a19963062906a18fdab94fc4542d53d172ec4e2191dd23894b8a1·...·]-2">)</span><span·class="p">.</span><span·class="w">
156 ·</span><span·class="p"·data-group-id="7806346748-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="7806346748-6">}</span></code></pre><h3·id="load-an-engine-with-the-dynamic-engine"·class="section-heading">156 ·</span><span·class="p"·data-group-id="7465975075-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="7465975075-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="5149429848-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="5149429848-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·279,·SHA:·d27ad42c86096a64f61871fbc93ddfd2eaf885d59deb076d832d475d210a35c6·...·]-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="0509545419-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="0509545419-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·279,·SHA:·887af7ca33a2057145496ac064f23107b11edc791b2f432845d7d4314594431d·...·]-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">
164 ······································</span><span·class="p"·data-group-id="5149429848-4">[</span><span·class="p"·data-group-id="5149429848-5">{</span><span·class="p"·data-group-id="5149429848-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="5149429848-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">164 ······································</span><span·class="p"·data-group-id="0509545419-4">[</span><span·class="p"·data-group-id="0509545419-5">{</span><span·class="p"·data-group-id="0509545419-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="0509545419-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">
165 ········································</span><span·class="p"·data-group-id="5149429848-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="5149429848-7">&gt;&gt;</span><span·class="p"·data-group-id="5149429848-5">}</span><span·class="p">,</span><span·class="w">165 ········································</span><span·class="p"·data-group-id="0509545419-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="0509545419-7">&gt;&gt;</span><span·class="p"·data-group-id="0509545419-5">}</span><span·class="p">,</span><span·class="w">
166 ·······································</span><span·class="p"·data-group-id="5149429848-8">{</span><span·class="p"·data-group-id="5149429848-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="5149429848-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·172,·SHA:·313054babe78eb19293f3f3427ee66a0b0dc58d2a58421799f93a725c8677553·...·]-8">}</span><span·class="p">,</span><span·class="w">166 ·······································</span><span·class="p"·data-group-id="0509545419-8">{</span><span·class="p"·data-group-id="0509545419-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="0509545419-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·172,·SHA:·85bc8888b985c8869b4bdaef8ab81a798a460b3c0555f409860d89929916bc59·...·]-8">}</span><span·class="p">,</span><span·class="w">
167 ·······································</span><span·class="p"·data-group-id="5149429848-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="5149429848-11">&gt;&gt;</span><span·class="p"·data-group-id="5149429848-4">]</span><span·class="p">,</span><span·class="w">167 ·······································</span><span·class="p"·data-group-id="0509545419-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="0509545419-11">&gt;&gt;</span><span·class="p"·data-group-id="0509545419-4">]</span><span·class="p">,</span><span·class="w">
168 ······································</span><span·class="p"·data-group-id="5149429848-12">[</span><span·class="p"·data-group-id="5149429848-12">]</span><span·class="p"·data-group-id="5149429848-2">)</span><span·class="p">.</span><span·class="w">168 ······································</span><span·class="p"·data-group-id="0509545419-12">[</span><span·class="p"·data-group-id="0509545419-12">]</span><span·class="p"·data-group-id="0509545419-2">)</span><span·class="p">.</span><span·class="w">
169 ·</span><span·class="p"·data-group-id="5149429848-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="5149429848-13">}</span></code></pre><h3·id="load-an-engine-and-replace-some-methods"·class="section-heading">169 ·</span><span·class="p"·data-group-id="0509545419-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="0509545419-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="4829264544-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="4829264544-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·279,·SHA:·27a4f8f90585698030036f485f7e191084e1401f11fcd7444e2d2d25ee913105·...·]-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="5386396550-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="5386396550-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·279,·SHA:·86fdf9333959869b2a67202b1d68a87e2939955f6ed3ee627b8c57fa224f023e·...·]-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">
177 ······································</span><span·class="p"·data-group-id="4829264544-4">[</span><span·class="p"·data-group-id="4829264544-5">{</span><span·class="p"·data-group-id="4829264544-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="4829264544-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">177 ······································</span><span·class="p"·data-group-id="5386396550-4">[</span><span·class="p"·data-group-id="5386396550-5">{</span><span·class="p"·data-group-id="5386396550-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="5386396550-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">
178 ········································</span><span·class="p"·data-group-id="4829264544-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="4829264544-7">&gt;&gt;</span><span·class="p"·data-group-id="4829264544-5">}</span><span·class="p">,</span><span·class="w">178 ········································</span><span·class="p"·data-group-id="5386396550-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="5386396550-7">&gt;&gt;</span><span·class="p"·data-group-id="5386396550-5">}</span><span·class="p">,</span><span·class="w">
179 ·······································</span><span·class="p"·data-group-id="4829264544-8">{</span><span·class="p"·data-group-id="4829264544-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="4829264544-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·172,·SHA:·61c10ddb3ef91bbb762b06016a6dc2cf67964aa4854795d302c2c8f387c5ffdc·...·]-8">}</span><span·class="p">,</span><span·class="w">179 ·······································</span><span·class="p"·data-group-id="5386396550-8">{</span><span·class="p"·data-group-id="5386396550-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="5386396550-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·172,·SHA:·e814e402eb356e06f2aebdcd6bc28939fe10c2287d5ef4ecd47699a0d06116cd·...·]-8">}</span><span·class="p">,</span><span·class="w">
180 ·······································</span><span·class="p"·data-group-id="4829264544-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="4829264544-11">&gt;&gt;</span><span·class="p"·data-group-id="4829264544-4">]</span><span·class="p">,</span><span·class="w">180 ·······································</span><span·class="p"·data-group-id="5386396550-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="5386396550-11">&gt;&gt;</span><span·class="p"·data-group-id="5386396550-4">]</span><span·class="p">,</span><span·class="w">
181 ······································</span><span·class="p"·data-group-id="4829264544-12">[</span><span·class="p"·data-group-id="4829264544-12">]</span><span·class="p"·data-group-id="4829264544-2">)</span><span·class="p">.</span><span·class="w">181 ······································</span><span·class="p"·data-group-id="5386396550-12">[</span><span·class="p"·data-group-id="5386396550-12">]</span><span·class="p"·data-group-id="5386396550-2">)</span><span·class="p">.</span><span·class="w">
182 </span><span·class="p"·data-group-id="4829264544-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="4829264544-13">}</span><span·class="gp·unselectable">182 </span><span·class="p"·data-group-id="5386396550-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="5386396550-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="4829264544-14">(</span><span·class="n">Engine</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4829264544-15">[</span><span·class="ss">engine_method_digests</span><span·class="p"·data-group-id="4829264544-15">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·465576000697d08e35f70608d4f8cac7b7b1ceaa355d62fa8e87669fe09b724d·...·]-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="5386396550-14">(</span><span·class="n">Engine</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5386396550-15">[</span><span·class="ss">engine_method_digests</span><span·class="p"·data-group-id="5386396550-15">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·68650a93fbb80da024e0796febc1c7a2300a2f7d93d09e20c9e321681beb7322·...·]-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="8311789483-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="8311789483-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·284,·SHA:·968f798764fc9339f2fe4c819275a1a605120d3240989fe4a423b849216a60dd·...·]-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="9726982794-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="9726982794-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·284,·SHA:·a6dd53a75c0f07c2e308aca01b270451558248625e2a0a90fb173af16a8f192a·...·]-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">
193 ···············································</span><span·class="p"·data-group-id="8311789483-4">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="8311789483-4">&gt;&gt;</span><span·class="p"·data-group-id="8311789483-2">)</span><span·class="p">.</span><span·class="w">193 ···············································</span><span·class="p"·data-group-id="9726982794-4">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="9726982794-4">&gt;&gt;</span><span·class="p"·data-group-id="9726982794-2">)</span><span·class="p">.</span><span·class="w">
194 ·</span><span·class="p"·data-group-id="8311789483-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="8311789483-5">}</span></code></pre><p>To·remove·the·tag·from·the·OpenSSL·engine[·...·truncated·by·diffoscope;·len:·469,·SHA:·b00ee2ffa5a9b4be3bf8faf4ccb5b4837c4c1d0123199cc5be8b214830455f15·...·]-1">)</span><span·class="p">.</span><span·class="w">194 ·</span><span·class="p"·data-group-id="9726982794-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="9726982794-5">}</span></code></pre><p>To·remove·the·tag·from·the·OpenSSL·engine[·...·truncated·by·diffoscope;·len:·469,·SHA:·6640e83e6321636bd78af810fa2cdb5bee52ee1a92d78995e49d53a3ed9157dc·...·]-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="1040767425-1">(</span><span·class="n">Engine</span><span·class="p"·data-group-id="1040767425-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="1156874540-1">(</span><span·class="n">Engine</span><span·class="p"·data-group-id="1156874540-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="8971492472-1">(</span><span·class="p"·data-group-id="8971492472-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="6426344574-1">(</span><span·class="p"·data-group-id="6426344574-1">)</span><span·class="p">.</span><span·class="w">
204 </span><span·class="p"·data-group-id="8971492472-2">[</span><span·class="p"·data-group-id="8971492472-3">&lt;&lt;</span><span·class="s">&quot;dynamic&quot;</span><span·class="p"·data-group-id="8971492472-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·175,·SHA:·530840e72a4c2646a61abfd315f17f011d2dd6be3c2f9b9f778a2e4ff13bae3d·...·]-2">]</span></code></pre>204 </span><span·class="p"·data-group-id="6426344574-2">[</span><span·class="p"·data-group-id="6426344574-3">&lt;&lt;</span><span·class="s">&quot;dynamic&quot;</span><span·class="p"·data-group-id="6426344574-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·175,·SHA:·db9601aad31b0e51b326e77b12aae52abef6b19c22b30cc706b39f7c09ba43e1·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>253 <p>Copyright·©·1996-2025·<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.48 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>294 <p>Copyright·©·1996-2025·<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;
686 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/doc/html/licenses.html
    
Offset 292, 15 lines modifiedOffset 292, 15 lines modified
292 ······<p·class="built-using">292 ······<p·class="built-using">
293 ········Built·using293 ········Built·using
294 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the294 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
295 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>295 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
296 ······</p>296 ······</p>
297 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>297 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
298 ····</footer>298 ····</footer>
299 ··</div>299 ··</div>
300 </main>300 </main>
301 </div>301 </div>
302 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>302 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
303 ··<script>303 ··<script>
304 ··let·initialized·=·false;304 ··let·initialized·=·false;
641 B
html2text {}
Max HTML report size reached
71.8 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.5.3/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">crypto</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8718838009-1">(</span><span·class="p"·data-group-id="8718838009-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">crypto</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="5256828862-1">(</span><span·class="p"·data-group-id="5256828862-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="8718838009-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="8718838009-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="5256828862-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="5256828862-2">&gt;&gt;</span><span·class="p">.</span><span·class="w">
198 »       </span><span·class="p"·data-group-id="8718838009-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:·ec5f530f03a43ad21b5f3ee0d946e483665078d2f2f8c25894aeeb6c0bec034d·...·]-3">&gt;&gt;</span><span·class="w">198 »       </span><span·class="p"·data-group-id="5256828862-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:·8ed8c675aec223396a1a1a0725a78100976ff8c590552c82526eeef201d15dac·...·]-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="8718838009-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="8718838009-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="5256828862-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="5256828862-4">&gt;&gt;</span><span·class="p">.</span><span·class="w">
200 »       </span><span·class="p"·data-group-id="8718838009-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:·16ae27c0396b3b1139f53938a0e62484812831f5d1f2d90b57ebf3113bdb7673·...·]-5">&gt;&gt;</span><span·class="w">200 »       </span><span·class="p"·data-group-id="5256828862-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:·d8dccb56ac456e1033124d752baa54c905d47522a39f2564ef9677513048bf09·...·]-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="8718838009-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:·e4cf6305f8f6fbcbad8073b18c4bc2b48ab43b99f2ce705b22eee261e264fffc·...·]-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="5256828862-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:·fd95ac0dfdb0e172f833fb0916a31680c916a2d16b6fcb1ad88506dc3f007436·...·]-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="8718838009-7">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8718838009-8">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="8718838009-8">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·d2073815c977bba9da694d62f78692a46b019aebfa3847428871a3c4fc740f90·...·]-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="5256828862-7">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5256828862-8">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="5256828862-8">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·9983242b3921837a9eba5f60db9872c83f7867ace72982a01a062a94629d32cc·...·]-7">)</span><span·class="p">.</span><span·class="w">
204 »       </span><span·class="p"·data-group-id="8718838009-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:·25cb5c06e6c5f2241a43eae09b2c72fdf8ca4f2d30377d8a34ca9c2325931fb5·...·]-9">&gt;&gt;</span><span·class="w">204 »       </span><span·class="p"·data-group-id="5256828862-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:·ba18f23f6e7069a9961c02459662ba7f5ff5913591638a63388a3adfb17a008c·...·]-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="8718838009-10">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8718838009-11">&lt;&lt;</span><span·class="s">&quot;Second·bytes&quot;</span><span·class="p"·data-group-id="8718838009-11">[·...·truncated·by·diffoscope;·len:·56,·SHA:·892d062d4899ea5d9e065e7b5c982551e0616412ac6d01f996df1bca0393d596·...·]-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="5256828862-10">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5256828862-11">&lt;&lt;</span><span·class="s">&quot;Second·bytes&quot;</span><span·class="p"·data-group-id="5256828862-11">[·...·truncated·by·diffoscope;·len:·56,·SHA:·e5cc870915d68af3b3edf3e180ec1bc5f1c98087f66134439b5d6974c563af8b·...·]-10">)</span><span·class="p">.</span><span·class="w">
206 »       </span><span·class="p"·data-group-id="8718838009-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:·d1ffb860b61257519a379f7314eb509792db5b7130e6c8f9946d0890866502e8·...·]-12">&gt;&gt;</span><span·class="w">206 »       </span><span·class="p"·data-group-id="5256828862-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:·7cdc8ccabdfd39978c5bfb1e4e4a39bd767e9bb32c4e47b00d7c67ffb539bc6d·...·]-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="8718838009-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:·5d59af9c5abddc393bafcb8bfcfd196b02fb117ea491f90976d56e8c9a0e655a·...·]-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="5256828862-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:·e843e2d4089f623a58d5f4c23d4468997b8c9fb3311e015587ee7a656a9f61f3·...·]-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="8718838009-14">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8718838009-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:·9aa79021da464cc983e27e5eeec95a2796b0d81503592ec139e183983168c667·...·]-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="5256828862-14">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5256828862-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:·d280d60bc6963b76f7338f37f6edd9da5a7e56af604540f5ce28598e7e839f46·...·]-14">)</span><span·class="p">.</span><span·class="w">
211 »       </span><span·class="p"·data-group-id="8718838009-16">&lt;&lt;</span><span·class="s">&quot;First·b&quot;</span><span·class="p"·data-group-id="8718838009-16">&gt;&gt;</span><span·class="w">211 »       </span><span·class="p"·data-group-id="5256828862-16">&lt;&lt;</span><span·class="s">&quot;First·b&quot;</span><span·class="p"·data-group-id="5256828862-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="8718838009-17">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8718838009-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="5256828862-17">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5256828862-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="8718838009-18">&gt;&gt;</span><span·class="p"·data-group-id="8718838009-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="5256828862-18">&gt;&gt;</span><span·class="p"·data-group-id="5256828862-17">)</span><span·class="p">.</span><span·class="w">
214 »       </span><span·class="p"·data-group-id="8718838009-19">&lt;&lt;</span><span·class="s">&quot;ytesSecond·byte&quot;</span><span·class="p"·data-group-id="8718838009-19">&gt;&gt;</span><span·class="w">214 »       </span><span·class="p"·data-group-id="5256828862-19">&lt;&lt;</span><span·class="s">&quot;ytesSecond·byte&quot;</span><span·class="p"·data-group-id="5256828862-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="8718838009-20">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8718838009-21">&lt;&lt;</span><span·class="mi">41</span><span·class="p"·data-group-id="8718838009-21">&gt;&gt;</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·97519ebd92d9a910dcb82b1e9c658d5ab9e30e6f1d645468c7e3f171b30ca1c2·...·]-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="5256828862-20">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5256828862-21">&lt;&lt;</span><span·class="mi">41</span><span·class="p"·data-group-id="5256828862-21">&gt;&gt;</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·9540c1f2df5e2df79f3823e13d1652fc43bfcb3c47830e0a333a25aa53f89ceb·...·]-20">)</span><span·class="p">.</span><span·class="w">
216 »       </span><span·class="p"·data-group-id="8718838009-22">&lt;&lt;</span><span·class="s">&quot;s&quot;</span><span·class="p"·data-group-id="8718838009-22">&gt;&gt;</span><span·class="w">216 »       </span><span·class="p"·data-group-id="5256828862-22">&lt;&lt;</span><span·class="s">&quot;s&quot;</span><span·class="p"·data-group-id="5256828862-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="6601512265-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="6601512265-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="1339223337-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="1339223337-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="6601512265-2">(</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_init</span><span·class="p"·data-group-id="6601512265-3">(</span><span·class="n">Crypto</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·254,·SHA:·117ae9338a92b5ef86e88ee841ab6935333f52aaf1099d1cfb1f159b0864ce9b·...·]-2">)</span><span·class="p">.</span><span·class="w">223 »       </span><span·class="nf">crypto_loop</span><span·class="p"·data-group-id="1339223337-2">(</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_init</span><span·class="p"·data-group-id="1339223337-3">(</span><span·class="n">Crypto</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·254,·SHA:·a945004b935a740b35561da3939a61f9713650e008674e73d97176da819a990a·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
224 »       </span><span·class="nf">crypto_loop</span><span·class="p"·data-group-id="6601512265-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="6601512265-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="1339223337-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="1339223337-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="6601512265-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="6601512265-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">226 ········</span><span·class="p"·data-group-id="1339223337-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="1339223337-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="6601512265-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="6601512265-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="1339223337-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="1339223337-6">)</span><span·class="p">,</span><span·class="w">
228 »       </span><span·class="nf">loop</span><span·class="p"·data-group-id="6601512265-7">(</span><span·class="n">State</span><span·class="p"·data-group-id="6601512265-7">)</span><span·class="w">228 »       </span><span·class="nf">loop</span><span·class="p"·data-group-id="1339223337-7">(</span><span·class="n">State</span><span·class="p"·data-group-id="1339223337-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="2035026513-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="2035026513-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="1386111011-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="1386111011-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
238 »       </span><span·class="p"·data-group-id="2035026513-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:·b13118da974de4a90c02ff121ba8a32b6b48d53919934a085c8f30860d756b81·...·]-2">&gt;&gt;</span><span·class="w">238 »       </span><span·class="p"·data-group-id="1386111011-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:·dd0a53b50144b6a93f6ad01f105efa4b7b7357f22f10dd211002dfa130f5b230·...·]-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="2035026513-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="2035026513-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="1386111011-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="1386111011-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">
240 »       </span><span·class="p"·data-group-id="2035026513-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:·8aec85caa48703566d96de39922647c9335d3b23cf58159dd1a4f0e2a74e6a98·...·]-4">&gt;&gt;</span><span·class="w">240 »       </span><span·class="p"·data-group-id="1386111011-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:·6441466f2f53c2beb02efc7fef7b04dc9c5f3a5920c341d707ffd99690046e20·...·]-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="2035026513-5">[</span><span·class="p"·data-group-id="2035026513-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="2035026513-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2035026513-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·fda8a1ce209dc928724b233813b45e92f61b3612dc31aa711931e45c15591c93·...·]-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="1386111011-5">[</span><span·class="p"·data-group-id="1386111011-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="1386111011-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="1386111011-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·eef8ba40f6fa14b2eff5bfa9a8871d31f047f7b0f99ce78d1e2735fc2513708a·...·]-5">]</span><span·class="p">.</span><span·class="w">
242 »       </span><span·class="p"·data-group-id="2035026513-8">[</span><span·class="p"·data-group-id="2035026513-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="2035026513-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2035026513-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·6db676b9cf1120a97e923357a1be43b65e6ea7781b8d0f0e6fee4d4d5c46be04·...·]-8">]</span><span·class="w">242 »       </span><span·class="p"·data-group-id="1386111011-8">[</span><span·class="p"·data-group-id="1386111011-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="1386111011-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="1386111011-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·415761efda5411d997d714749b2172f3dc7daf970c5f31860f8f18aba56973e9·...·]-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="2035026513-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:·5575777f960fe4b5c348548dee90e3c207f8791e003b61569802f6ea378ad0c2·...·]-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="1386111011-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:·077c82098dd710ca7f24af2a83098408dbbf05e55422b72da5c998195c54cbdb·...·]-11">)</span><span·class="p">.</span><span·class="w">
244 »       </span><span·class="p"·data-group-id="2035026513-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="1386111011-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="2035026513-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="1386111011-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="9353270646-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="9353270646-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="8043409549-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="8043409549-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
256 »       </span><span·class="p"·data-group-id="9353270646-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:·bb8b31fdb25bead424a03f07b8b34080cf8be4059362fa9af07fd9250e524b42·...·]-2">&gt;&gt;</span><span·class="w">256 »       </span><span·class="p"·data-group-id="8043409549-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:·04de92da6feedd11da9721132a88fe53d6a39c0aa1a04d6d73d401b0336e6a8f·...·]-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="9353270646-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="9353270646-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="8043409549-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="8043409549-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">
258 »       </span><span·class="p"·data-group-id="9353270646-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:·7fb9aaa0c13436617db7ef27339907e94bfbf9632ced63378741ca6794587ef7·...·]-4">&gt;&gt;</span><span·class="w">258 »       </span><span·class="p"·data-group-id="8043409549-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:·e43310ef038e7f735a6464dee3198e20522157bae13e5e561b5ff1017504eeda·...·]-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="9353270646-5">[</span><span·class="p"·data-group-id="9353270646-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="9353270646-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="9353270646-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·327c099de0e0c1a8fdcfea459cdc0ea1659306c220685c99f41f06c20413afb1·...·]-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="8043409549-5">[</span><span·class="p"·data-group-id="8043409549-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="8043409549-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8043409549-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·54533e5a99dbd945e3095d2e654677c49bf2a295dd602e5f0dd49cb78bba50b5·...·]-5">]</span><span·class="p">.</span><span·class="w">
260 »       </span><span·class="p"·data-group-id="9353270646-8">[</span><span·class="p"·data-group-id="9353270646-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="9353270646-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="9353270646-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·a342fa80f31e0b735b68828d13df31d568e66fe1c07c6e731bcc78889d81d671·...·]-8">]</span><span·class="w">260 »       </span><span·class="p"·data-group-id="8043409549-8">[</span><span·class="p"·data-group-id="8043409549-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="8043409549-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8043409549-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·56f98b1e859bafbf624c7c818676b0d256b579bfd78ede987527d15d7e15fb11·...·]-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="9353270646-11">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="9353270646-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="8043409549-11">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="8043409549-11">&gt;&gt;</span><span·class="p">.</span><span·class="w">
262 »       </span><span·class="p"·data-group-id="9353270646-12">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="9353270646-12">&gt;&gt;</span><span·class="w">262 »       </span><span·class="p"·data-group-id="8043409549-12">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="8043409549-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="9353270646-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:·4f91a3b7c8d9b19d7f79d4963ce1395bfba564f3d44fdf154aca2f2f881a0878·...·]-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="8043409549-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:·1d821bac3b20219cf79d58161485e6caaf9b568a42602409406964c0fbd48596·...·]-13">)</span><span·class="p">.</span><span·class="w">
264 »       </span><span·class="p"·data-group-id="9353270646-14">{</span><span·class="p"·data-group-id="9353270646-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="8043409549-14">{</span><span·class="p"·data-group-id="8043409549-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="9353270646-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="8043409549-15">&gt;&gt;</span><span·class="p">,</span><span·class="w">
266 »       </span><span·class="p"·data-group-id="9353270646-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:·e5b187498bccb4367505a5fc936b7f8f1ea487b56ae27ead99339529453d9135·...·]-14">}</span><span·class="w">266 »       </span><span·class="p"·data-group-id="8043409549-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:·c1fb2987e9e7b4f43b7274aeb24c8e2b44f7f930c3c486ab51e92c8aad63f3fc·...·]-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="9077094194-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="9077094194-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="1943370245-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="1943370245-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
275 »       </span><span·class="p"·data-group-id="9077094194-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:·1a837aaf6eb25084db50b5c701728cef9b6f986dbfda0b2284369c5168c20d8d·...·]-2">&gt;&gt;</span><span·class="w">275 »       </span><span·class="p"·data-group-id="1943370245-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:·4f438c2cbac956096eef83da8d69f166170abf8bc06e178bb0963e7a6ec6831e·...·]-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="9077094194-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="9077094194-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="1943370245-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="1943370245-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="9077094194-4">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9077094194-5">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="9077094194-5">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·a6dd5034870570b4021912bcd5407e77342887f9bf13137ee9db0a1a9b0e22a0·...·]-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="1943370245-4">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1943370245-5">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="1943370245-5">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·5a3bb270713ad12a1c217757f7c6b8f75c154095cb95bf29b283e0ecee753446·...·]-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="9077094194-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="9077094194-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="1943370245-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="1943370245-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="9077094194-7">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9077094194-8">&lt;&lt;</span><span·class="s">&quot;last·bytes&quot;</span><span·class="p"·data-group-id="9077094194-8">&gt;&[·...·truncated·by·diffoscope;·len:·51,·SHA:·9db7ea780fa5b3637ac666768e1cefa21aef7added970dc36bbb7a3a57c6e560·...·]-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="1943370245-7">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1943370245-8">&lt;&lt;</span><span·class="s">&quot;last·bytes&quot;</span><span·class="p"·data-group-id="1943370245-8">&gt;&[·...·truncated·by·diffoscope;·len:·51,·SHA:·fe7dceb394e137ef5a9f5ee0f09f9602bc61d719a4f15acd88c71b14ecb88907·...·]-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="9077094194-9">(</span><span·class="n">StateMac</span><span·class="p"·data-group-id="9077094194-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="1943370245-9">(</span><span·class="n">StateMac</span><span·class="p"·data-group-id="1943370245-9">)</span><span·class="p">.</span><span·class="w">
285 »       </span><span·class="p"·data-group-id="9077094194-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="1943370245-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="9077094194-10">&gt;&gt;</span><span·class="w">286 »       </span><span·class="mi">249</span><span·class="p"·data-group-id="1943370245-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="5332656582-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:·1f4ba4f9385af996d2b413a4cd90a7a89f90ca6417ebf2ee2811a1290d896e06·...·]-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="4753551667-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:·140f3d45524ca8194a0a0b866043e279ab6f79507fce249a07b6d2732a9a782f·...·]-1">)</span><span·class="p">.</span><span·class="w">
288 »       </span><span·class="p"·data-group-id="5332656582-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="4753551667-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="5332656582-2">&gt;&gt;</span><span·class="w">289 »       </span><span·class="mi">249</span><span·class="p"·data-group-id="4753551667-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="5332656582-3">(</span><span·class="mi">7</span><span·class="p"·data-group-id="5332656582-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="5332656582-4">(</span><span[·...·truncated·by·diffoscope;·len:·61,·SHA:·55dbe03621494bf995102953527856ed262cb99814b5fc9af7db6dc0ec76c0c3·...·]-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="4753551667-3">(</span><span·class="mi">7</span><span·class="p"·data-group-id="4753551667-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="4753551667-4">(</span><span[·...·truncated·by·diffoscope;·len:·61,·SHA:·5395f406c0975ad327d3fad03dca45c2599869c2e28a79af9a677f28ff85015a·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>346 <p>Copyright·©·1996-2025·<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/72807 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.5.3/doc/html/notes.html
    
Offset 2230, 15 lines modifiedOffset 2230, 15 lines modified
2230 ······<p·class="built-using">2230 ······<p·class="built-using">
2231 ········Built·using2231 ········Built·using
2232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2234 ······</p>2234 ······</p>
2235 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2235 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2236 ····</footer>2236 ····</footer>
2237 ··</div>2237 ··</div>
2238 </main>2238 </main>
2239 </div>2239 </div>
2240 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2240 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2241 ··<script>2241 ··<script>
2242 ··let·initialized·=·false;2242 ··let·initialized·=·false;
607 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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/debugger-5.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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-5.5/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>204 <p>Copyright·©·1996-2025·<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
168 KB
./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/debugger.epub
3.66 KB
zipinfo {}
Max HTML report size reached
125 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·Jul·06·2026·03:08:32,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:32,·uncompressed·size·20,·method=store
4.5 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.9 KB
OEBPS/content.opf
2.86 KB
OEBPS/content.opf
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/debugger-5.5/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>340 <p>Copyright·©·1996-2025·<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-5.5/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="1013698529-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="1013698529-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="4223526739-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="4223526739-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="1013698529-2">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="1013698529-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="4223526739-2">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="4223526739-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="1013698529-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="1013698529-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="4223526739-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="4223526739-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="1013698529-4">(</span><span·class="n">Module</span><span·class="p"·data-group-id="1013698529-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="4223526739-4">(</span><span·class="n">Module</span><span·class="p"·data-group-id="4223526739-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="1013698529-5">{</span><span·class="ss">loaded</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="1013698529-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="4223526739-5">{</span><span·class="ss">loaded</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="4223526739-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="2640090570-1">(</span><span·class="mi">0</span><span·class="p"·data-group-id="2640090570-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="4698407546-1">(</span><span·class="mi">0</span><span·class="p"·data-group-id="4698407546-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="2640090570-2">(</span><span·class="n">N</span><span·class="p"·data-group-id="2640090570-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:·217d4bc75312f64f3252de401b58123da145c32cbb1ada17b0e91ea5cbe8637a·...·]-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="4698407546-2">(</span><span·class="n">N</span><span·class="p"·data-group-id="4698407546-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:·3532b62081904d2e777ef62ea79b1f2bc03cf0fd9ca4ab5a199ca020d9a9ab0e·...·]-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="9040907039-2">(</span><span·class="p"·data-group-id="9040907039-3">[</span><span·class="ss">c_break</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9040907039-3">]</span><span·class="p"·data-group-id="9040907039-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="0559396021-2">(</span><span·class="p"·data-group-id="0559396021-3">[</span><span·class="ss">c_break</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="0559396021-3">]</span><span·class="p"·data-group-id="0559396021-2">)</span><span·class="p">.</span><span·class="w">
  
214 </span><span·class="nf">c_break</span><span·class="p"·data-group-id="9040907039-4">(</span><span·class="n">Bindings</span><span·class="p"·data-group-id="9040907039-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="0559396021-4">(</span><span·class="n">Bindings</span><span·class="p"·data-group-id="0559396021-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="9040907039-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="9040907039-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="0559396021-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="0559396021-5">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
216 ········</span><span·class="p"·data-group-id="9040907039-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="9040907039-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">216 ········</span><span·class="p"·data-group-id="0559396021-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="0559396021-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="9338899420-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="9338899420-2">{</span><span·class="ss">badarith</span><span·class="p">,</span><span·class="p"·data-group-id="9338899420-3">[</span><span·clas[·...·truncated·by·diffoscope;·len:·507,·SHA:·c5e3fabd727467d798cf729c7997d3ade285cc7b060d4781b53d984d9318f310·...·]-4">}</span><span·class="p">,</span><span·class="w">238 </span><span·class="p"·data-group-id="4008304352-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4008304352-2">{</span><span·class="ss">badarith</span><span·class="p">,</span><span·class="p"·data-group-id="4008304352-3">[</span><span·clas[·...·truncated·by·diffoscope;·len:·507,·SHA:·2cd7f099d0a457a33d1984267ebefa289b92cfaf5994d99afb0cfcbb1f442e1a·...·]-4">}</span><span·class="p">,</span><span·class="w">
239 ···················</span><span·class="p"·data-group-id="9338899420-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="9338899420-8">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·490,·SHA:·8df33ee1eb4da96abda9684a1f779c9b43560eefa82b9cccfdc82533899bdfe1·...·]-7">}</span><span·class="p">,</span><span·class="w">239 ···················</span><span·class="p"·data-group-id="4008304352-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="4008304352-8">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·490,·SHA:·b6f6ed5c734073706a0e26c5ac4db51f9021367c537c080c4fd0804a920c7279·...·]-7">}</span><span·class="p">,</span><span·class="w">
240 ···················</span><span·class="p"·data-group-id="9338899420-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="9338899420-12">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·491,·SHA:·1be58ef97858c46cbb3fdbb0063de1fd5fca9d05c6a191594fe060974c82870a·...·]-11">}</span><span·class="p">,</span><span·class="w">240 ···················</span><span·class="p"·data-group-id="4008304352-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="4008304352-12">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·491,·SHA:·c97ea86e6315d486a0340077081ce9a219d23e099e9f03f01d0dab46a9491a8f·...·]-11">}</span><span·class="p">,</span><span·class="w">
241 ···················</span><span·class="p"·data-group-id="9338899420-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="9338899420-16">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·486,·SHA:·43bb14a75c19dd0109e6a617c4a823ef03efd578ceb2626122dc4a9d8ab7dcba·...·]-15">}</span><span·class="p">,</span><span·class="w">241 ···················</span><span·class="p"·data-group-id="4008304352-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="4008304352-16">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·486,·SHA:·2143263feb8a0216c757865e6234793904f56bcf9277e09bf884ee7f32e68415·...·]-15">}</span><span·class="p">,</span><span·class="w">
242 ···················</span><span·class="p"·data-group-id="9338899420-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="9338899420-20">[</span><span·class="p"·data-group-id="9338899420-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="9338899420-21">}</span><span·class="p">,</span><span·class="p"·data-group-id="9338899420-22">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">629</span><span·class="p"·data-group-id="9338899420-22">}</span><span·class="p"·data-group-id="9338899420-20">]</span><span·class="p"·data-group-id="9338899420-19">}</span><span·class="p">,</span><span·class="w"> 
243 ···················</span><span·class="p"·data-group-id="9338899420-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="9338899420-24">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·724,·SHA:·681ca18564042698c3bcc6cb646b5f2cb51ab40737447c9adb7edc7876fef797·...·]242 ···················</span><span·class="p"·data-group-id="4008304352-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="4008304352-20">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·544,·SHA:·d6470e71f9b94373ec7382e20b1c11c21bcb851e84bac3e437f6d0f4e7f6dc71·...·]
 243 ···················</span><span·class="p"·data-group-id="4008304352-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="4008304352-24">[</span><span·class="p"·data-group-id="4008304352-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="4008304352-25">}</span><span·class="p">,</span><span·class="p"·data-group-id="4008304352-26">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">614</span><span·class="p"·data-group-id="4008304352-26">}</span><span·class="p"·data-group-id="4008304352-24">]</span><span·class="p"·data-group-id="4008304352-23">}</span><span·class="p"·data-group-id="4008304352-3">]</span><span·class="p"·data-group-id="4008304352-2">}</span><span·class="p"·data-group-id="4008304352-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>548 <p>Copyright·©·1996-2025·<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-5.5/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="9976962983-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="9976962983-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="0806562278-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="0806562278-1">)</span><span·class="p">.</span><span·class="w">
138 </span><span·class="p"·data-group-id="9976962983-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">t</span><span·class="p"·data-group-id="9976962983-2">}</span><span·class="gp·unselectable">138 </span><span·class="p"·data-group-id="0806562278-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">t</span><span·class="p"·data-group-id="0806562278-2">}</span><span·class="gp·unselectable">
139 2&gt;·</span><span·class="nf">iaa</span><span·class="p"·data-group-id="9976962983-3">(</span><span·class="p"·data-group-id="9976962983-4">[</span><span·class="ss">init</span><span·class="p"·data-group-id="9976962983-4">]</span><span·class="p"·data-group-id="9976962983-3">)</span><span·class="p">.</span><span·class="w">139 2&gt;·</span><span·class="nf">iaa</span><span·class="p"·data-group-id="0806562278-3">(</span><span·class="p"·data-group-id="0806562278-4">[</span><span·class="ss">init</span><span·class="p"·data-group-id="0806562278-4">]</span><span·class="p"·data-group-id="0806562278-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1293 <p>Copyright·©·1996-2025·<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.22 KB
./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/int.html
    
Offset 670, 15 lines modifiedOffset 670, 15 lines modified
670 ·························Args·::·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()].</pre>670 ·························Args·::·[<a·href="../../../../erts-15.2.7/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="2944529079-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="2944529079-2">[</span><span·class="n">Pid</span><sp[·...·truncated·by·diffoscope;·len:·190,·SHA:·4b3f6666f662ca3d989f9e175feabf4290eb98ecc99a1df0f8178c956c00b782·...·]-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="1734571820-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="1734571820-2">[</span><span·class="n">Pid</span><sp[·...·truncated·by·diffoscope;·len:·190,·SHA:·e431a405c7f712020103cc49a1d00e6352868c1a8347292b7338e039115fa2bc·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1404 <p>Copyright·©·1996-2025·<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-5.5/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>193 <p>Copyright·©·1996-2025·<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
5.96 KB
./usr/share/doc/erlang-doc/html/lib/debugger-5.5/doc/html/notes.html
    
Offset 135, 23 lines modifiedOffset 135, 23 lines modified
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>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">140 <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">
141 </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">141 </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">
142 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="9422306086-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="9422306086-1">)</span><span·class="p">.</span><span·class="w">142 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="4864681902-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="4864681902-1">)</span><span·class="p">.</span><span·class="w">
143 </span><span·class="ss">true</span><span·class="gp·unselectable">143 </span><span·class="ss">true</span><span·class="gp·unselectable">
144 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">144 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">
145 </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">145 </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">
146 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="9422306086-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="9422306086-2">)</span><span·class="p">.</span><span·class="w">146 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="4864681902-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="4864681902-2">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">147 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">
148 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="9422306086-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="9422306086-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">148 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="4864681902-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="4864681902-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">
149 </span><span·class="ss">ok</span><span·class="gp·unselectable">149 </span><span·class="ss">ok</span><span·class="gp·unselectable">
150 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="9422306086-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="9422306086-4">)</span><span·class="p">.</span><span·class="w">150 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="4864681902-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="4864681902-4">)</span><span·class="p">.</span><span·class="w">
151 </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"·class="section-heading">151 </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"·class="section-heading">
152 ··<a·href="#improvements-and-new-features"·class="hover-link">152 ··<a·href="#improvements-and-new-features"·class="hover-link">
153 ····<i·class="ri-link-m"·aria-hidden="true"></i>153 ····<i·class="ri-link-m"·aria-hidden="true"></i>
154 ··</a>154 ··</a>
155 ··<span·class="text">Improvements·and·New·Features</span>155 ··<span·class="text">Improvements·and·New·Features</span>
156 </h3>156 </h3>
157 <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">157 <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 988, 15 lines modifiedOffset 988, 15 lines modified
988 ······<p·class="built-using">988 ······<p·class="built-using">
989 ········Built·using989 ········Built·using
990 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the990 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
991 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>991 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
992 ······</p>992 ······</p>
993 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>993 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
994 ····</footer>994 ····</footer>
995 ··</div>995 ··</div>
996 </main>996 </main>
997 </div>997 </div>
998 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>998 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
999 ··<script>999 ··<script>
1000 ··let·initialized·=·false;1000 ··let·initialized·=·false;
698 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/debugger-5.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2025·<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;
710 B
html2text {}
Max HTML report size reached
107 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/dialyzer.epub
2.24 KB
zipinfo {}
Max HTML report size reached
69.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·Jul·06·2026·03:09:12,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:58:06,·uncompressed·size·20,·method=store
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.3 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/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-8.6.1/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-8.6.1/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-6.2.2/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="0314839710-1">{</span><span·class="ss">incremental</span><span·class="p">,</span><span·class="w">273 <a·href="../../../../lib/stdlib-6.2.2/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="8756008905-1">{</span><span·class="ss">incremental</span><span·class="p">,</span><span·class="w">
274 ········</span><span·class="p"·data-group-id="0314839710-2">{</span><span·class="ss">default_apps</span><span·class="p">,</span><span·class="p"·data-group-id="0314839710-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:·07d60064a578428a06fb7c4ed8278cd568968231b96adb37a3465e9d369f6036·...·]-2">}</span><span·class="p">,</span><span·class="w">274 ········</span><span·class="p"·data-group-id="8756008905-2">{</span><span·class="ss">default_apps</span><span·class="p">,</span><span·class="p"·data-group-id="8756008905-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:·195ea825dda8f5a2a33c26f1760577fe5cd15b804557f9fdbfb15cd6694168a7·...·]-2">}</span><span·class="p">,</span><span·class="w">
275 ········</span><span·class="p"·data-group-id="0314839710-4">{</span><span·class="ss">default_warning_apps</span><span·class="p">,</span><span·class="p"·data-group-id="0314839710-5">[</span><span·class="ss">stdlib</span><span·class="p"·data-group-id="0314839710-5">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·d998139e88931f6a1646097d95a6af3653e308557ecfee49fb9650d75cc3441c·...·]-4">}</span><span·class="w">275 ········</span><span·class="p"·data-group-id="8756008905-4">{</span><span·class="ss">default_warning_apps</span><span·class="p">,</span><span·class="p"·data-group-id="8756008905-5">[</span><span·class="ss">stdlib</span><span·class="p"·data-group-id="8756008905-5">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·5fdff223bac61427a19ce1a4dcf9e8122c745eafca86df49afeae95a1607e7c4·...·]-4">}</span><span·class="w">
276 ······</span><span·class="p"·data-group-id="0314839710-1">}</span><span·class="p">.</span><span·class="w">276 ······</span><span·class="p"·data-group-id="8756008905-1">}</span><span·class="p">.</span><span·class="w">
277 ······</span><span·class="p"·data-group-id="0314839710-6">{</span><span·class="ss">warnings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0314839710-7">[</span><span·class="ss">no_improper_lists</span><span·class="p"·data-group-id="0314839710-7">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·b7460c531aa50d1a1cddcc44412cb3d4a3a012848b1ab4027417256037f3be0e·...·]-6">}</span><span·class="p">.</span><span·class="w">277 ······</span><span·class="p"·data-group-id="8756008905-6">{</span><span·class="ss">warnings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8756008905-7">[</span><span·class="ss">no_improper_lists</span><span·class="p"·data-group-id="8756008905-7">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·54141e1e3b5c013400051d9e8c97d34940b96ef148d9183816f63088d28b21fd·...·]-6">}</span><span·class="p">.</span><span·class="w">
278 ······</span><span·class="p"·data-group-id="0314839710-8">{</span><span·class="ss">add_pathsa</span><span·class="p">,</span><span·class="p"·data-group-id="0314839710-9">[</span><span·class="s">&quot;/users/samwise/potatoes/ebin&quot;</span><span·class="p"·data-group-id="0314839710-9">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·b7460c531aa50d1a1cddcc44412cb3d4a3a012848b1ab4027417256037f3be0e·...·]-8">}</span><span·class="p">.</span><span·class="w">278 ······</span><span·class="p"·data-group-id="8756008905-8">{</span><span·class="ss">add_pathsa</span><span·class="p">,</span><span·class="p"·data-group-id="8756008905-9">[</span><span·class="s">&quot;/users/samwise/potatoes/ebin&quot;</span><span·class="p"·data-group-id="8756008905-9">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·54141e1e3b5c013400051d9e8c97d34940b96ef148d9183816f63088d28b21fd·...·]-8">}</span><span·class="p">.</span><span·class="w">
279 ······</span><span·class="p"·data-group-id="0314839710-10">{</span><span·class="ss">add_pathsz</span><span·class="p">,</span><span·class="p"·data-group-id="0314839710-11">[</span><span·class="s">&quot;/users/smeagol/fish/ebin&quot;</span><span·class="p"·data-group-id="0314839710-11">]</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·a06fab47716179644ab4688161a08d9968ad15bc5a28dffa87a5a46e9aaf754b·...·]-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="8756008905-10">{</span><span·class="ss">add_pathsz</span><span·class="p">,</span><span·class="p"·data-group-id="8756008905-11">[</span><span·class="s">&quot;/users/smeagol/fish/ebin&quot;</span><span·class="p"·data-group-id="8756008905-11">]</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·320471fd5ac00a07bab3fe8a714ba3e261b41a7ee7f2998d3397bf911774ea29·...·]-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="8853398501-1">(</span><span·class="p"·data-group-id="8853398501-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:·74,·SHA:·c705c57fc0aa1a351c59d651b918619ecfe98bb8d70d92352088ae84bdef3983·...·]-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="0001658803-1">(</span><span·class="p"·data-group-id="0001658803-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:·74,·SHA:·32512bb3482bc51be7405e97b87f4daeedd8482f950a060f593ec13125c5b35e·...·]-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="1623729943-1">(</span><span·class="p"·data-group-id="1623729943-2">[</span><span·class="p"·data-group-id="1623729943-3">{</span><span·class="ss">nowarn_function</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1623729943[·...·truncated·by·diffoscope;·len:·1867,·SHA:·eac5f8b6c796b41973b0bd31db2da68917c68c028d6bc378f7bc05d2351ba490·...·]-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="0860750081-1">(</span><span·class="p"·data-group-id="0860750081-2">[</span><span·class="p"·data-group-id="0860750081-3">{</span><span·class="ss">nowarn_function</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0860750081[·...·truncated·by·diffoscope;·len:·1867,·SHA:·22bf85fb26a6a5d3fa3339cb714a08a910f31ed58721cd6fc8f35e6b785f9e81·...·]-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="0440992505-1">(</span><span·class="p"·data-group-id="0440992505-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:·c4085f7c3ca0b9630c4961578351b2d5b85dc261f73db8f3a62238b11df1a63a·...·]-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="4004475182-1">(</span><span·class="p"·data-group-id="4004475182-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:·e275941d2181ef7ad6a62db72ee1d8023ade9b67f8d74929b1ffac00bccadcd0·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>859 <p>Copyright·©·1996-2025·<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.3.1/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="7086868720-1">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="7086868720-2">(</span><span·class="p"·data-group-id="7086868720-2">)</span><span·class="p"·data-group-id="7086868720-1">)</span><span·class="w">·</span><span·class="p">-&gt;[·...·truncated·by·diffoscope;·len:·155,·SHA:·f59cb0edec781767eda2472af9c2fe48c95e4248d8ce5ed77c927f841a4d481e·...·]-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="7795611713-1">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="7795611713-2">(</span><span·class="p"·data-group-id="7795611713-2">)</span><span·class="p"·data-group-id="7795611713-1">)</span><span·class="w">·</span><span·class="p">-&gt;[·...·truncated·by·diffoscope;·len:·155,·SHA:·c5b30eb4706276feae18d3d8a5c19e2f3b327c28c3f41adf478114b5bfe853a6·...·]-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="7086868720-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="7086868720-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="7795611713-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="7795611713-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="7086868720-5">(</span><span·class="n">N</span><span·class="p"·data-group-id="7086868720-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="7795611713-5">(</span><span·class="n">N</span><span·class="p"·data-group-id="7795611713-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="2269353687-1">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="2269353687-2">(</span><span·class="p"·data-group-id="2269353687-2">)</span><span·class="p"·data-group-id="2269353687-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·74707a8bab6ddf0b258d42b5dea5b42028ba5047bc3794bbae2b1e835e02ff8a·...·]-3">)</span><span·class="w">218 ··········</span><span·class="p"·data-group-id="9705299399-1">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="9705299399-2">(</span><span·class="p"·data-group-id="9705299399-2">)</span><span·class="p"·data-group-id="9705299399-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·fc1ce24e6fb99ca7dcf649737797f75e9304dfe450df59d4b80011da9e99770e·...·]-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="2269353687-4">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="2269353687-5">(</span><span·class="p"·data-group-id="2269353687-5">)</span><span·class="p"·data-group-id="2269353687-4">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·54558a10d8ce7008dd1e2ffc69f15d87379409c760387375c75be94267824cc5·...·]-6">)</span><span·class="w">220 ··········</span><span·class="p"·data-group-id="9705299399-4">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="9705299399-5">(</span><span·class="p"·data-group-id="9705299399-5">)</span><span·class="p"·data-group-id="9705299399-4">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·567c7efcd7befff05dea1f8cde8a802a7b60ec827f0bff9c632c8cc3701be30a·...·]-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="6047205793-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="6047205793-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·139,·SHA:·0f65f980207825b7cf76d93c1a34c0ccb8dd56c9e8c473120b15e4168e020ef6·...·]-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="9237370841-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="9237370841-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·139,·SHA:·6d4b37fe7f428765bf3e71dd65526a67d59ee921cf165fd73eb955a30e3cd187·...·]-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="6047205793-3">(</span><span·class="ss">a</span><span·class="p"·data-group-id="6047205793-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6047205793-4">&lt;&lt;</span><span·class="s">&quot;a&quot;</span><span·class="p"·data-group-id="6047205793-4">&gt;&gt;</span><span·class="p">;</span><span·class="w"> 
224 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6047205793-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="6047205793-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6047205793-6">&lt;&lt;</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·196,·SHA:·3bc64d55811addc8f12ebbae3b8fdd9d622db6341c4de6e2f0520bd39620a845·...·]223 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9237370841-3">(</span><span·class="ss">a</span><span·class="p"·data-group-id="9237370841-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9237370841-4">&lt;&lt;</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·116,·SHA:·5d61b2240cfd7a6e476171922c2c48646fba353dafc1940e099e4e473ec643aa·...·]
 224 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9237370841-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="9237370841-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9237370841-6">&lt;&lt;</span><span·class="s">&quot;b&quot;</span><span·class="p"·data-group-id="9237370841-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="9688156068-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="9688156068-1">)</span><span·class="w">·</span><span·class="p">[·...·truncated·by·diffoscope;·len:·210,·SHA:·684ffbcf19825176c0bab139b14b3e6ffb8ed7caef917482cfce2b62f017cdd0·...·]-2">&gt;&gt;</span><span·class="w">227 ··········</span><span·class="p"·data-group-id="9109149021-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="9109149021-1">)</span><span·class="w">·</span><span·class="p">[·...·truncated·by·diffoscope;·len:·210,·SHA:·42b4cdd14f3bca72ba3a6eaffdce2fc16b8ebfd4b74e15b9dd5daddaca949a14·...·]-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="9688156068-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="9688156068-3">)</span><span·class="w">·</span><span·class="p">[·...·truncated·by·diffoscope;·len:·158,·SHA:·49de4f3b43af75bb272ef31a74755676b05f4f9f2c62dd276c5729fb6cee6b32·...·]-4">)</span><span·class="w">229 ··········</span><span·class="p"·data-group-id="9109149021-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="9109149021-3">)</span><span·class="w">·</span><span·class="p">[·...·truncated·by·diffoscope;·len:·158,·SHA:·2a9dbe92a47ca513be17a533ed915be7593b28bc87a3be6564d689d0b18565e5·...·]-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="0176284543-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="0176284543-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·150,·SHA:·f66753cb34d4799df2d296d82e65c72e407301b601ab4f57ef4225bdcf055a7d·...·]-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="8834301475-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="8834301475-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·150,·SHA:·a6cb942c9208f8e06990a39e330d848677d44d6dcd4e6f21e0bd555e1af29b15·...·]-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="0176284543-3">(</span><span·class="ss">b</span><span·class="p"·data-group-id="0176284543-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="8834301475-3">(</span><span·class="ss">b</span><span·class="p"·data-group-id="8834301475-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="0176284543-4">(</span><span·class="ss">c</span><span·class="p"·data-group-id="0176284543-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="8834301475-4">(</span><span·class="ss">c</span><span·class="p"·data-group-id="8834301475-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="0176284543-5">(</span><span·class="ss">d</span><span·class="p"·data-group-id="0176284543-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="8834301475-5">(</span><span·class="ss">d</span><span·class="p"·data-group-id="8834301475-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>307 <p>Copyright·©·1996-2025·<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
1.51 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/doc/html/notes.html
    
Offset 1887, 15 lines modifiedOffset 1887, 15 lines modified
1887 ······<p·class="built-using">1887 ······<p·class="built-using">
1888 ········Built·using1888 ········Built·using
1889 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1889 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1890 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1890 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1891 ······</p>1891 ······</p>
1892 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1892 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1893 ····</footer>1893 ····</footer>
1894 ··</div>1894 ··</div>
1895 </main>1895 </main>
1896 </div>1896 </div>
1897 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1897 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1898 ··<script>1898 ··<script>
1899 ··let·initialized·=·false;1899 ··let·initialized·=·false;
709 B
html2text {}
Max HTML report size reached
1.28 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
1.47 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.3.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>201 <p>Copyright·©·1996-2025·<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
582 B
./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/.build
    
Offset 28, 12 lines modifiedOffset 28, 12 lines modified
28 dist/lato-latin-300-normal-YUMVEFOL.woff228 dist/lato-latin-300-normal-YUMVEFOL.woff2
29 dist/lato-latin-400-normal-W7754I4D.woff229 dist/lato-latin-400-normal-W7754I4D.woff2
30 dist/lato-latin-700-normal-2XVSBPG4.woff230 dist/lato-latin-700-normal-2XVSBPG4.woff2
31 dist/lato-latin-ext-300-normal-VPGGJKJL.woff231 dist/lato-latin-ext-300-normal-VPGGJKJL.woff2
32 dist/lato-latin-ext-400-normal-N27NCBWW.woff232 dist/lato-latin-ext-400-normal-N27NCBWW.woff2
33 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff233 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
34 dist/remixicon-NKANDIL5.woff234 dist/remixicon-NKANDIL5.woff2
35 dist/search_data-F78D76B7.js35 dist/search_data-DF3FB3FF.js
36 dist/sidebar_items-BFA5481A.js36 dist/sidebar_items-BFA5481A.js
37 index.html37 index.html
38 notes.html38 notes.html
39 search.html39 search.html
1.47 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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/diameter-2.4.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>247 <p>Copyright·©·1996-2025·<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
643 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter.epub
3.99 KB
zipinfo {}
Max HTML report size reached
125 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·Jul·06·2026·03:08:56,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:54,·uncompressed·size·20,·method=store
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
484 KB
OEBPS/diameter.xhtml
Max HTML report size reached
1.24 KB
OEBPS/content.opf
1.21 KB
OEBPS/content.opf
Max HTML report size reached
199 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/diameter.html
Max HTML report size reached
8.98 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/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="7480320558-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="7480320558-2">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·844b099387c733da40695cf483b1238f856fc904e42985cfe4edb6519b647622·...·]-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="1663826133-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="1663826133-2">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·161772512f68938089e26611799691c9a5297b495c7181f55371d6502ef6d01c·...·]-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="7480320558-3">[</span><span·class="o">#</span><span·class="ss">diameter_avp</span><span·class="p"·data-group-id="7480320558-4">{</span><span·class="p"·data-group-id="7480320558-4">}</span><span·class="p"·data-group-id="7480320558-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="1663826133-3">[</span><span·class="o">#</span><span·class="ss">diameter_avp</span><span·class="p"·data-group-id="1663826133-4">{</span><span·class="p"·data-group-id="1663826133-4">}</span><span·class="p"·data-group-id="1663826133-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="7480320558-5">(</span><span·class="p"·data-group-id="7480320558-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="1663826133-5">(</span><span·class="p"·data-group-id="1663826133-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="7480320558-6">[</span><span·class="n">Unsigned32</span><span·class="p"·data-group-id="7480320558-7">(</span><span·class="p"·data-group-id="7480320558-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:·b51cda32c9b20e232b8e2d26c23573553ea506107a826af8902312e22cecd598·...·]-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="1663826133-6">[</span><span·class="n">Unsigned32</span><span·class="p"·data-group-id="1663826133-7">(</span><span·class="p"·data-group-id="1663826133-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:·7b167a131de779c80fde0338bd63109f550362c9316f1bed40ffe2b34e0f327d·...·]-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="7480320558-11">(</span><span·class="p"·data-group-id="7480320558-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="1663826133-11">(</span><span·class="p"·data-group-id="1663826133-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="7480320558-12">(</span><span·class="p"·data-group-id="7480320558-12">)</span><span·class="p"·data-group-id="7480320558-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="1663826133-12">(</span><span·class="p"·data-group-id="1663826133-12">)</span><span·class="p"·data-group-id="1663826133-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1015 <p>Copyright·©·1996-2025·<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.74 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/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="9756194820-1">(</span><span·class="s">&quot;diameter/include/diameter.hrl&quot;</span><span·class="p"·data-group-id="9756194820-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="4461558631-1">(</span><span·class="s">&quot;diameter/include/diameter.hrl&quot;</span><span·class="p"·data-group-id="4461558631-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>550 <p>Copyright·©·1996-2025·<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.4.1/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="7411606528-1">(</span><span·class="p"·data-group-id="7411606528-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="7411606528-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·223,·SHA:·56c41f84d5e440ca2ecc5252712934aa696f41f9a8b2d0fbd49e32601dadbfbd·...·]-3">)</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="1075005325-1">(</span><span·class="p"·data-group-id="1075005325-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="1075005325-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·223,·SHA:·302878778863703b302eff181cd447b9db6b6d903eb4b84093ceee854e508a54·...·]-3">)</span><span·class="w">
313 </span><span·class="n">Integer32</span><span·class="p"·data-group-id="7411606528-4">(</span><span·class="p"·data-group-id="7411606528-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">313 </span><span·class="n">Integer32</span><span·class="p"·data-group-id="1075005325-4">(</span><span·class="p"·data-group-id="1075005325-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="7411606528-5">(</span><span·class="p"·data-group-id="7411606528-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="1075005325-5">(</span><span·class="p"·data-group-id="1075005325-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="7411606528-6">(</span><span·class="p"·data-group-id="7411606528-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="1075005325-6">(</span><span·class="p"·data-group-id="1075005325-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="7411606528-7">(</span><span·class="p"·data-group-id="7411606528-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="1075005325-7">(</span><span·class="p"·data-group-id="1075005325-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="7411606528-8">(</span><span·class="p"·data-group-id="7411606528-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:·dd0fbaf95b5a0e72f2facd8812b56cdc081cb00e075c6c4cfcc12ddff0ebe2a7·...·]-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="1075005325-8">(</span><span·class="p"·data-group-id="1075005325-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:·3c22f429da0f2bf7d3cefe97e195130230b70c668d91fe03b1b3a4f88b25b812·...·]-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="7411606528-10">(</span><span·class="p"·data-group-id="7411606528-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:·b7b4d068a13801d3e979c4f05e6129319c04feec404d710eaeec04ba87f9d508·...·]-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="1075005325-10">(</span><span·class="p"·data-group-id="1075005325-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:·80492bff33481f555d374f80e8b96176cbcfbb3b82808a85d143081cd8aef925·...·]-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="7411606528-12">(</span><span·class="p"·data-group-id="7411606528-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="7411606528-13">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·cd77deb2babaabc139dda5f3309a396df19fdf8d7e2c34f23a49f2a75fb9ea1d·...·]-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="1075005325-12">(</span><span·class="p"·data-group-id="1075005325-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="1075005325-13">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·c31918e9653eb2012c4bc3feecbcb51a4b4ca6a000bfe772b15268b0baf7bd8a·...·]-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="7659414196-1">(</span><span·class="p"·data-group-id="7659414196-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7659414196-2">{</span><span·class="nf">date</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·301,·SHA:·008de06bf386435384622e588c0f254b52c4c8417242cfdbc36d09ad43ecebf0·...·]-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="4852664894-1">(</span><span·class="p"·data-group-id="4852664894-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4852664894-2">{</span><span·class="nf">date</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·301,·SHA:·3f948e3a3f77f3c05381882e2b45148263e18d25cd438bae8aa13144daaeeaac·...·]-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="7659414196-5">(</span><span·class="p"·data-group-id="7659414196-5">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7659414196-6">{</span><span·class="n">Year</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·7fb01d0f4aa78c86a1b3a0c5b50a5e6796f796d674246120a98227abc974301f·...·]-6">}</span><span·class="w">329 ··</span><span·class="nf">date</span><span·class="p"·data-group-id="4852664894-5">(</span><span·class="p"·data-group-id="4852664894-5">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4852664894-6">{</span><span·class="n">Year</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·6ab24c11b7fc78fbff74755d615b342249644e1442307737d6b39df9f8af6097·...·]-6">}</span><span·class="w">
330 ··</span><span·class="nf">time</span><span·class="p"·data-group-id="7659414196-7">(</span><span·class="p"·data-group-id="7659414196-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7659414196-8">{</span><span·class="n">Hour</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·166,·SHA:·50a047a58eb8ad3b199757ffacfa286869ea5c4ed028dfbc2d7744bbd64d8876·...·]-8">}</span><span·class="w">330 ··</span><span·class="nf">time</span><span·class="p"·data-group-id="4852664894-7">(</span><span·class="p"·data-group-id="4852664894-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4852664894-8">{</span><span·class="n">Hour</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·166,·SHA:·b208a2bb191b91f1a63a3f80608d8904ddc80aaec6cdba416d17bf3d7907d857·...·]-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="7659414196-9">(</span><span·class="p"·data-group-id="7659414196-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="4852664894-9">(</span><span·class="p"·data-group-id="4852664894-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="0086891706-1">(</span><span·class="p"·data-group-id="0086891706-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="0086891706-2">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·2775de94de8d59f81db4ed5a56aed8d5a305db2626fb762dab0ef3a73c67fd10·...·]-2">)</span><span·class="w">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="7730353410-1">(</span><span·class="p"·data-group-id="7730353410-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="7730353410-2">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·5006c958cf09b2e2b7f1c317f004348bafc717e5a1fe7f493b27854f7e1c4700·...·]-2">)</span><span·class="w">
363 </span><span·class="n">QoSFilterRule</span><span·class="p"·data-group-id="0086891706-3">(</span><span·class="p"·data-group-id="0086891706-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="0086891706-4">(</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·7940952caeced686110875be7dfbc87469ddde9a5102a33de82c12cc278ac89c·...·]-4">)</span></code></pre><p>Values·of·these·types·are·not·currently·parsed·by·diameter.</p><h2·id="see-also"·class="section-heading">363 </span><span·class="n">QoSFilterRule</span><span·class="p"·data-group-id="7730353410-3">(</span><span·class="p"·data-group-id="7730353410-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="7730353410-4">(</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·20a15f48b266781bbf224d470162323b72a787b524ae7b6f913573be606f8e44·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>410 <p>Copyright·©·1996-2025·<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.4.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>177 <p>Copyright·©·1996-2025·<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.4.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>205 <p>Copyright·©·1996-2025·<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.4.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>524 <p>Copyright·©·1996-2025·<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.4.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>442 <p>Copyright·©·1996-2025·<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.4.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>219 <p>Copyright·©·1996-2025·<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.4.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2025·<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.4.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>477 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>322 <p>Copyright·©·1996-2025·<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.4.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>177 <p>Copyright·©·1996-2025·<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.4.1/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="0040813257-1">[</span><span·class="o">&lt;</span><span·class="ss">options</span><span·class="o">&gt;</span><span·class="p"·data-group-id="0040813257-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="7792364752-1">[</span><span·class="o">&lt;</span><span·class="ss">options</span><span·class="o">&gt;</span><span·class="p"·data-group-id="7792364752-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>204 <p>Copyright·©·1996-2025·<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
1.54 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/notes.html
    
Offset 1358, 15 lines modifiedOffset 1358, 15 lines modified
1358 ······<p·class="built-using">1358 ······<p·class="built-using">
1359 ········Built·using1359 ········Built·using
1360 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1360 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1361 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1361 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1362 ······</p>1362 ······</p>
1363 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1363 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1364 ····</footer>1364 ····</footer>
1365 ··</div>1365 ··</div>
1366 </main>1366 </main>
1367 </div>1367 </div>
1368 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1368 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1369 ··<script>1369 ··<script>
1370 ··let·initialized·=·false;1370 ··let·initialized·=·false;
740 B
html2text {}
Max HTML report size reached
1.76 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/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-F78D76B7.js"></script>124 <script·src="dist/search_data-DF3FB3FF.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
1.4 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>144 <p>Copyright·©·1996-2025·<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/edoc-1.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>263 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>838 <p>Copyright·©·1996-2025·<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.42 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>237 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1346 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>188 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>433 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>217 <p>Copyright·©·1996-2025·<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.3.2/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.3.2)</small>125 ····<small·class="app-vsn"·translate="no">(edoc·v1.3.2)</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="2167077270-1">(</span><span·class="ss">example</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2167077270-2">[</span><span·class="p"·data-group-id="2167077270-3">{</span><span·class="ss">preprocess</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="2167077270-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2167077270-4">{</span><span·class="ss">doclet</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">edoc_doclet_markdown</span><span·class="p"·data-group-id="2167077270-4">}</span><span·class="p">,</span><span·class="w"> 
129 ·······</span><span·class="p"·data-group-id="2167077270-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="2167077270-5">}</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·603,·SHA:·976950ab87948bfc806b87b0b82b1d3c964a1c09ef54ce58b1b19e35d271e608·...·]>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>[·...·truncated·by·diffoscope;·len:·951,·SHA:·8d71aef24d3faff948e592d3d5d64a641ae151b4b00f0fc07d198539167ad7a8·...·]>
 129 ·······</span><span·class="p"·data-group-id="2610541900-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="2610541900-5">}</span><span·class="p"·data-group-id="2610541900-2">]</span><span·class="p"·data-group-id="2610541900-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>218 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>632 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>218 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>396 <p>Copyright·©·1996-2025·<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.67 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>721 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>351 <p>Copyright·©·1996-2025·<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
1.35 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.3.2/doc/html/notes.html
    
Offset 852, 15 lines modifiedOffset 852, 15 lines modified
852 ······<p·class="built-using">852 ······<p·class="built-using">
853 ········Built·using853 ········Built·using
854 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the854 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
855 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>855 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
856 ······</p>856 ······</p>
857 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>857 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
858 ····</footer>858 ····</footer>
859 ··</div>859 ··</div>
860 </main>860 </main>
861 </div>861 </div>
862 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>862 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
863 ··<script>863 ··<script>
864 ··let·initialized·=·false;864 ··let·initialized·=·false;
553 B
html2text {}
Max HTML report size reached
1.2 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>142 <p>Copyright·©·1996-2025·<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;
397 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.14/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.14/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2025·<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.14/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.7 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.14/doc/html/eldap.html
    
Offset 951, 21 lines modifiedOffset 951, 21 lines modified
951 ·················Dn·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),951 ·················Dn·::·<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>954 ·················Reason·::·<a·href="../../../../erts-15.2.7/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="1551070079-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="5952908642-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="1551070079-2">[</span><span·class="p"·data-group-id="1551070079-3">{</span><span·class="s">&quot;objectclass&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1551070079-4">[</span><span·class="s">&quot;person&quot;[·...·truncated·by·diffoscope;·len:·101,·SHA:·3a560b69b4bad7c039d029a84a3aaf5f88ea63d6120a8d00b557e4ca17d9bb32·...·]-3">}</span><span·class="p">,</span><span·class="w">958 ·······</span><span·class="p"·data-group-id="5952908642-2">[</span><span·class="p"·data-group-id="5952908642-3">{</span><span·class="s">&quot;objectclass&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5952908642-4">[</span><span·class="s">&quot;person&quot;[·...·truncated·by·diffoscope;·len:·101,·SHA:·3292201f519ea52dc41cd8051cc8d077953e1704ac9004f4c502a2e35001d70d·...·]-3">}</span><span·class="p">,</span><span·class="w">
959 ········</span><span·class="p"·data-group-id="1551070079-5">{</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1551070079-6">[</span><span·class="s">&quot;Bill·Valentine&quot;</span><span·class="p"·data-group-id="1551070079-6">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·c6fc77f3dd33fa2b09a3a83d8e24ea4e8b8b34be4a67574ab8c124e68c570380·...·]-5">}</span><span·class="p">,</span><span·class="w">959 ········</span><span·class="p"·data-group-id="5952908642-5">{</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5952908642-6">[</span><span·class="s">&quot;Bill·Valentine&quot;</span><span·class="p"·data-group-id="5952908642-6">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·3d595c02908932da7d1fad05684dfd8960e32e4a18f2caba724099912ec5ef71·...·]-5">}</span><span·class="p">,</span><span·class="w">
960 ········</span><span·class="p"·data-group-id="1551070079-7">{</span><span·class="s">&quot;sn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1551070079-8">[</span><span·class="s">&quot;Valentine&quot;</span><span·class="p"·data-group-id="1551070079-8">]</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·6dd9b47d69fdf64c107c4af5f60b642ad982ae3c37becd3c67b6eb1a9fcfeb32·...·]-7">}</span><span·class="p">,</span><span·class="w">960 ········</span><span·class="p"·data-group-id="5952908642-7">{</span><span·class="s">&quot;sn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5952908642-8">[</span><span·class="s">&quot;Valentine&quot;</span><span·class="p"·data-group-id="5952908642-8">]</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·9d16044c8343dec0a048580420ab18074c485d83a352dd9314b566c01c2823aa·...·]-7">}</span><span·class="p">,</span><span·class="w">
961 ········</span><span·class="p"·data-group-id="1551070079-9">{</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1551070079-10">[</span><span·class="s">&quot;545·555·00&quot;</span><span·class="p"·data-group-id="155107[·...·truncated·by·diffoscope;·len:·111,·SHA:·ad540943e3df0cba2ed33060398764f3b47666f38bd3de7fbcfc1235d25091f4·...·]-2">]</span><span·class="w">961 ········</span><span·class="p"·data-group-id="5952908642-9">{</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5952908642-10">[</span><span·class="s">&quot;545·555·00&quot;</span><span·class="p"·data-group-id="595290[·...·truncated·by·diffoscope;·len:·111,·SHA:·73dba49a7b4dc2aaa1627f56a6cab4ab071a16a1df4d7095f0459d81b8c010dc·...·]-2">]</span><span·class="w">
962 ·····</span><span·class="p"·data-group-id="1551070079-1">)</span></code></pre>962 ·····</span><span·class="p"·data-group-id="5952908642-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-15.2.7/doc/html/erlang.html#t:string/0">string</a>()}·|1250 ·································[{matchingRule,·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()}·|
1251 ··································{type,·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()}·|1251 ··································{type,·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()}·|
1252 ··································{dnAttributes,·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()}].</pre>1252 ··································{dnAttributes,·<a·href="../../../../erts-15.2.7/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="2974123270-1">(</span><span·class="s">&quot;Bar&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2974123270-2">[</span><span·class="p"·data-group-id="2974123270-3">{</span><span·class="ss">type</span><span·class="p[·...·truncated·by·diffoscope;·len:·457,·SHA:·29f60657924267a538a5b0a4edcb9a29cfa2d30bdeae0ab2758568bbe285a625·...·]-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="9025620125-1">(</span><span·class="s">&quot;Bar&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9025620125-2">[</span><span·class="p"·data-group-id="9025620125-3">{</span><span·class="ss">type</span><span·class="p[·...·truncated·by·diffoscope;·len:·457,·SHA:·a23cc0bc5d42f525fe7f39228eafbd271c3cb1878d876e7679c14e721d916a62·...·]-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-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),1453 ····················Dn·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),
1454 ····················ModifyOps·::·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()],1454 ····················ModifyOps·::·[<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>1456 ····················Reason·::·<a·href="../../../../erts-15.2.7/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="1064151647-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="3859075007-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="1064151647-2">[</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">mod_replace</span><span·class="p"·data-group-id="1064151647-3">(</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·196,·SHA:·885390b304d4002bdb52124b6a5f4424bbfb404553827b2c8682089de74c30b4·...·]7-3">)</span><span·class="p">,</span><span·class="w">1459 ·········</span><span·class="p"·data-group-id="3859075007-2">[</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">mod_replace</span><span·class="p"·data-group-id="3859075007-3">(</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·196,·SHA:·8ef69049b617f7c564fee338636b407b9f5f8210dc58c67f0dc9c79d7cfd3110·...·]7-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="1064151647-5">(</span><span·class="s">&quot;description&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1064151647-6">[</span><span·class="s">&quot;LDAP·Hacker&quot;</span><span·class="p"·data-group-id="1064151647[·...·truncated·by·diffoscope;·len:·182,·SHA:·fa79cda9b270ccd022dd5bb3b35ab27dca6c85558153bc33613babb4e94c2dcb·...·]7-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="3859075007-5">(</span><span·class="s">&quot;description&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3859075007-6">[</span><span·class="s">&quot;LDAP·Hacker&quot;</span><span·class="p"·data-group-id="3859075007[·...·truncated·by·diffoscope;·len:·182,·SHA:·cde75c6350b5bade879f41e0d56420bde3b439644d4e5c16b578744b9289e488·...·]7-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-15.2.7/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-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>()}
1758 ······························when·PageSize·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·ControlOID·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>().</pre>1758 ······························when·PageSize·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·ControlOID·::·<a·href="../../../../erts-15.2.7/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="9201704080-1">(</span><span·class="mi">50</span><span·class="p"·data-group-id="9201704080-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="0353737639-1">(</span><span·class="mi">50</span><span·class="p"·data-group-id="0353737639-1">)</span><span·class="p">,</span><span·class="w">
1762 </span><span·class="p"·data-group-id="9201704080-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="9201704080-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·727,·SHA:·297b9201e9fe7e19700b2fd81b92237205a4c060d40240d018b2069a379d1a7a·...·]-3">)</span><span·class="p">,</span></code></pre>1762 </span><span·class="p"·data-group-id="0353737639-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="0353737639-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·727,·SHA:·51dcd90d768e9c5b3840cc70e8a7b40f3ebb150b366e935171927b960bad906e·...·]-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-15.2.7/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-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>()}
1790 ······························when·PageSize·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·Cookie·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),·ControlOID·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>().</pre>1790 ······························when·PageSize·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·Cookie·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),·ControlOID·::·<a·href="../../../../erts-15.2.7/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="6478677522-1">(</span><span·class="n">PageSize</span><span·class="p"·data-group-id="6478677522-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="8550195974-1">(</span><span·class="n">PageSize</span><span·class="p"·data-group-id="8550195974-1">)</span><span·class="p">,</span><span·class="w">
1795 </span><span·class="p"·data-group-id="6478677522-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="6478677522-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·729,·SHA:·2ae474d20420d71acb91f037d6adc65e8e30d87998d8df220a2ef55724ba01e8·...·]-3">)</span><span·class="p">,</span><span·class="w">1795 </span><span·class="p"·data-group-id="8550195974-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="8550195974-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·729,·SHA:·5326e648fa25c4210836b15352c52121f4afb0cde41106ef9d09184b15c256d5·...·]-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="6478677522-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="6478677522-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·222,·SHA:·eb58d3db0ec0fcf1c8c1d7cc438fd9891466c0a0325793c1fe3ab9f3b8e44bda·...·]-8">)</span><span·class="p">,</span><span·class="w">1797 </span><span·class="p"·data-group-id="8550195974-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="8550195974-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·222,·SHA:·c7f5ffe05c1288501301d482dcab517fa047158284205c328a1aada4c6582ecc·...·]-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="6478677522-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="6478677522-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="8550195974-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="8550195974-9">)</span><span·class="p">,</span><span·class="w">
1799 </span><span·class="p"·data-group-id="6478677522-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="6478677522-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·790,·SHA:·d03d5ae9919d5bf6edf5e93c2bf82884e9c9031fee6e39a2dc987dad0d20b2f4·...·]-11">)</span><span·class="p">,</span><span·class="w">1799 </span><span·class="p"·data-group-id="8550195974-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="8550195974-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·790,·SHA:·e2ca1acc5b7a3043b88b2dd38b65a235d3de55911f4c972a956d3db9ebcbf495·...·]-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-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>1909 ····················Reason·::·<a·href="../../../../erts-15.2.7/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="8508235259-1">(</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8508235259-2">[</span><span·class="p"·data-group-id="8508235259-3">{</span><span·class="ss">any</span><span·class="p">[·...·truncated·by·diffoscope;·len:·190,·SHA:·6b5f4ec430d08a32685e7019276b128de3026816e47260cb4c912484c7524c10·...·]9-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="4824493619-1">(</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4824493619-2">[</span><span·class="p"·data-group-id="4824493619-3">{</span><span·class="ss">any</span><span·class="p">[·...·truncated·by·diffoscope;·len:·190,·SHA:·6d23ae4a70c9da26452941e36bac42c716a1ba2d072f2b01d1d89ae757c22d50·...·]9-1">)</span><span·class="p">,</span><span·class="w">
1914 ··</span><span·class="nf">search</span><span·class="p"·data-group-id="8508235259-4">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8508235259-5">[</span><span·class="p"·data-group-id="8508235259-6">{</span><span·class="ss">base</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·864,·SHA:·d43b9e1fc136afec4795d404d9408e09a93b02a68d0d88054e3c1509dfa2aae0·...·]9-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="4824493619-4">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4824493619-5">[</span><span·class="p"·data-group-id="4824493619-6">{</span><span·class="ss">base</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·864,·SHA:·b1ecbbdd1cf7bf68725eb091e9ae63ff0d873a2042331461abecfde7a062ba6b·...·]9-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2142 <p>Copyright·©·1996-2025·<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.14/doc/html/notes.html
    
Offset 511, 15 lines modifiedOffset 511, 15 lines modified
511 ······<p·class="built-using">511 ······<p·class="built-using">
512 ········Built·using512 ········Built·using
513 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the513 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
514 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>514 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
515 ······</p>515 ······</p>
516 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>516 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
517 ····</footer>517 ····</footer>
518 ··</div>518 ··</div>
519 </main>519 </main>
520 </div>520 </div>
521 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>521 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
522 ··<script>522 ··<script>
523 ··let·initialized·=·false;523 ··let·initialized·=·false;
575 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.14/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.5.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>136 <p>Copyright·©·1996-2025·<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.45 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.5.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1028 <p>Copyright·©·1996-2025·<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.5.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>876 <p>Copyright·©·1996-2025·<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.51 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.5.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>205 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.5.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>430 <p>Copyright·©·1996-2025·<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.02 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.5.2/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="2677115102-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="2677115102-2">[</span><[·...·truncated·by·diffoscope;·len:·322,·SHA:·d93be79e90a86d4f9793f021ca3097c66375a8ddaed2598391424dc8150853d3·...·]-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="1273494278-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="1273494278-2">[</span><[·...·truncated·by·diffoscope;·len:·322,·SHA:·fe4521ca41caa1023fdf4a66f5aaf88b027b6ec1f3a4a4dcbf1045c24e237700·...·]-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="2677115102-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="2677115102-5">[</spa[·...·truncated·by·diffoscope;·len:·343,·SHA:·05d1b3903e1cd41cd9353db5699215733e3a80b175805335fc65dba509efcfc6·...·]-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="1273494278-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="1273494278-5">[</spa[·...·truncated·by·diffoscope;·len:·343,·SHA:·6abaf975e07c2dcac160c0c360770cd4def270b71dffee56e733d411743e48d7·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>307 <p>Copyright·©·1996-2025·<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
64.7 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.5.2/doc/html/erl_interface.epub
2.41 KB
zipinfo {}
Max HTML report size reached
56.0 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·Jul·06·2026·03:07:52,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:02,·uncompressed·size·20,·method=store
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.53 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.5.2/doc/html/notes.html
    
Offset 1803, 15 lines modifiedOffset 1803, 15 lines modified
1803 ······<p·class="built-using">1803 ······<p·class="built-using">
1804 ········Built·using1804 ········Built·using
1805 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1805 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1806 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1806 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1807 ······</p>1807 ······</p>
1808 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1808 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1809 ····</footer>1809 ····</footer>
1810 ··</div>1810 ··</div>
1811 </main>1811 </main>
1812 </div>1812 </div>
1813 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1813 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1814 ··<script>1814 ··<script>
1815 ··let·initialized·=·false;1815 ··let·initialized·=·false;
711 B
html2text {}
Max HTML report size reached
1.32 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.5.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>136 <p>Copyright·©·1996-2025·<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;
496 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>213 <p>Copyright·©·1996-2025·<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
451 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.1/doc/html/et.epub
4.92 KB
zipinfo {}
Max HTML report size reached
168 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·Jul·06·2026·03:08:58,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:56,·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
4.03 KB
OEBPS/content.opf
4.0 KB
OEBPS/content.opf
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>541 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1478 <p>Copyright·©·1996-2025·<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.1/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="9118506824-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="9118506824-1">)</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·1130,·SHA:·15e6e4e261bca8d1ce1c02ef780fcb89efb687678c0dfe5aa3606fd1b3338b78·...·]-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="6681787468-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="6681787468-1">)</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·1130,·SHA:·fdb3c684d62e864b5f7397d20a6da133c523e0bdb83b6fd134328f2a76749826·...·]-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="9118506824-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="9118506824-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="6681787468-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="6681787468-7">)</span><span·class="gp·unselectable">
143 1&gt;·</span><span·class="p"·data-group-id="9118506824-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="9118506824-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·282,·SHA:·4c5d9a8da82b88c1810fdbd00d9c4cb72e47465ec1241dfb7320a20b6eaec4be·...·]-9">)</span><span·class="p">.</span><span·class="w">143 1&gt;·</span><span·class="p"·data-group-id="6681787468-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="6681787468-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·282,·SHA:·154e75f944d63fab238cdb37c96e628473613650ae3e6f27b376eb9f03c2db2b·...·]-9">)</span><span·class="p">.</span><span·class="w">
144 </span><span·class="p"·data-group-id="9118506824-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="9118506824-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="6681787468-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="6681787468-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="6009489912-1">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="6009489912-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="1478592693-1">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-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="6009489912-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="1478592693-9">)</span><span·class="p">.</span><span·class="w">
164 </span><span·class="p"·data-group-id="6009489912-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6009489912-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="1478592693-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1478592693-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="6009489912-11">}</span><span·class="p"·data-group-id="6009489912-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="1478592693-11">}</span><span·class="p"·data-group-id="1478592693-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="7766458329-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7766458329-2">(</span><span·class="p"·data-group-id="7766458329-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</[·...·truncated·by·diffoscope;·len:·541,·SHA:·30f23853eabd0b1b16c03ff548067a4da6f48788130a3689ce52347d5ea5723e·...·]-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="0472920132-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0472920132-2">(</span><span·class="p"·data-group-id="0472920132-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</[·...·truncated·by·diffoscope;·len:·541,·SHA:·0cef2da5c7cf75ce8ca859b430e5a8989111ae957ecc28e83ee5947f2d684f51·...·]-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="1208673564-1">(</span><span·class="n">TraceData</span><span·class="p"·data-group-id="1208673564-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:·f70b80c161f641f19a49db94e397575add897d6d1e28bd5994355a0bf1205556·...·]-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="6921638710-1">(</span><span·class="n">TraceData</span><span·class="p"·data-group-id="6921638710-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:·d543891b46f87a4c1128450e7211700bda0fa5a85e40a65bfbfb643f005b16eb·...·]-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="1208673564-3">(</span><span·class="p"·data-group-id="1208673564-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="6921638710-3">(</span><span·class="p"·data-group-id="6921638710-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="1208673564-4">{</span><span·class="p"·data-group-id="1208673564-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="6921638710-4">{</span><span·class="p"·data-group-id="6921638710-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="1208673564-5">{</span><span·class="p"·data-group-id="1208673564-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="6921638710-5">{</span><span·class="p"·data-group-id="6921638710-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-6.2.2/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-6.2.2/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="7644673079-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="7644673079-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="7644673079-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·31d6b5c310a560da1e884f0df86eefc7ab71f7b43805c841533c26fc4c43031a·...·]-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="8361461818-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="8361461818-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="8361461818-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·202eb71ad38747acaff45d350572eacaf50b912380876f08b367205c19c79c8b·...·]-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="7644673079-3">(</span><span·class="n">A</span><span·class="p"·data-group-id="7644673079-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="8361461818-3">(</span><span·class="n">A</span><span·class="p"·data-group-id="8361461818-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="7644673079-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="7644673079-5">{</span><span·class="ss">from</span>[·...·truncated·by·diffoscope;·len:·323,·SHA:·040ad2bf5b94892803f6374be30309a20b43d81cb635b83a1c8a6a30dd2647e4·...·]-6">)</span><span·class="p">,</span><span·class="w">223 ····</span><span·class="p"·data-group-id="8361461818-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="8361461818-5">{</span><span·class="ss">from</span>[·...·truncated·by·diffoscope;·len:·323,·SHA:·f8f6a7c7c35472b266d19e7db58937186d96dd254a1886cc4851b2bf298dabe9·...·]-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="7644673079-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="7644673079-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="8361461818-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="8361461818-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="7644673079-8">[</span><span·class="p"·data-group-id="7644673079-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:·3e9d36abaceff49838c297d2619c6eb743e2f024a6b65e850ac432dab1d706b6·...·]-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="8361461818-8">[</span><span·class="p"·data-group-id="8361461818-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:·dcd6131b0f8acb20e9bd5f6fd1cb778d6f6ab3e100ba645c7bf0198e8488279e·...·]-9">}</span><span·class="p">,</span><span·class="w">
226 ·······························</span><span·class="p"·data-group-id="7644673079-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:·b8e98a9bac4d12d402745f8e1a42ee3c4c018e3d38fb73fcf33a5799cba92863·...·]-10">}</span><span·class="p">,</span><span·class="w">226 ·······························</span><span·class="p"·data-group-id="8361461818-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:·03ca16ff12ce7a481e84e9fd06723ba2731aa7e45ccd03eff7df7bd14a212be9·...·]-10">}</span><span·class="p">,</span><span·class="w">
227 ·······························</span><span·class="p"·data-group-id="7644673079-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:·d85600ab89ad350d84f127831a0395f79c9272e33150d5fc6351362042fdea4a·...·]-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="8361461818-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:·6e1ca4ee945d593272ef98557723a833f38d5552794610f3e855aff2992e0fe4·...·]-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="5482526763-3">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5482526763-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:·8dedca2b436b803cbf7bd988ed4756e308eb127c5fae071cfcc0e10a3c42e644·...·]-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="7454408788-3">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7454408788-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:·80817de316729e0d8a9f97ecdfd7b9e3c6260788a49d92ad36c6c9c7031178fe·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>424 <p>Copyright·©·1996-2025·<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.1/doc/html/et_examples.html
    
Offset 129, 178 lines modifiedOffset 129, 178 lines modified
129 ··<a·href="#a-simulated-mnesia-transaction"·class="hover-link">129 ··<a·href="#a-simulated-mnesia-transaction"·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">A·simulated·Mnesia·transaction</span>132 ··<span·class="text">A·simulated·Mnesia·transaction</span>
133 </h2>133 </h2>
134 <p>The·Erlang·code·for·running·the·simulated·<code·class="inline">Mnesia</code>·transaction·example·in·the134 <p>The·Erlang·code·for·running·the·simulated·<code·class="inline">Mnesia</code>·transaction·example·in·the
135 previous·chapter·is·included·in·the·<code·class="inline">et/examples/et_demo.erl</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">135 previous·chapter·is·included·in·the·<code·class="inline">et/examples/et_demo.erl</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
136 </span><span·class="nf">sim_trans</span><span·class="p"·data-group-id="4340001696-1">(</span><span·class="p"·data-group-id="4340001696-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">136 </span><span·class="nf">sim_trans</span><span·class="p"·data-group-id="1556158869-1">(</span><span·class="p"·data-group-id="1556158869-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
137 ····</span><span·class="nf">sim_trans</span><span·class="p"·data-group-id="4340001696-2">(</span><span·class="p"·data-group-id="4340001696-3">[</span><span·class="p"·data-group-id="4340001696-3">]</span><span·class="p"·data-group-id="4340001696-2">)</span><span·class="p">.</span><span·class="w">137 ····</span><span·class="nf">sim_trans</span><span·class="p"·data-group-id="1556158869-2">(</span><span·class="p"·data-group-id="1556158869-3">[</span><span·class="p"·data-group-id="1556158869-3">]</span><span·class="p"·data-group-id="1556158869-2">)</span><span·class="p">.</span><span·class="w">
  
138 </span><span·class="nf">sim_trans</span><span·class="p"·data-group-id="4340001696-4">(</span><span·class="n">ExtraOptions</span><span·class="p"·data-group-id="4340001696-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">138 </span><span·class="nf">sim_trans</span><span·class="p"·data-group-id="1556158869-4">(</span><span·class="n">ExtraOptions</span><span·class="p"·data-group-id="1556158869-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
139 ····</span><span·class="n">Options</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4340001696-5">[</span><span·class="p"·data-group-id="4340001696-6">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4340001696-7">{</span><span·class="ss">filter</span><span·class="p"[·...·truncated·by·diffoscope;·len:·395,·SHA:·5fa606705bcf579885fc7a5ddb81fd2596fa7e5d8b86aae06504b4c79febb70d·...·]-5">]</span><span·class="p">,</span><span·class="w">139 ····</span><span·class="n">Options</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1556158869-5">[</span><span·class="p"·data-group-id="1556158869-6">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1556158869-7">{</span><span·class="ss">filter</span><span·class="p"[·...·truncated·by·diffoscope;·len:·395,·SHA:·5623d483136cb59678b441db8d753b653cbde1e256a010ead7aa24fbdf25ac63·...·]-5">]</span><span·class="p">,</span><span·class="w">
140 ····</span><span·class="p"·data-group-id="4340001696-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="4340001696-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·317,·SHA:·7e9f2dd25c814c37129ffd1043427457f41f44cbbc79d352944ad8c00c9463a0·...·]-9">)</span><span·class="p">,</span><span·class="w">140 ····</span><span·class="p"·data-group-id="1556158869-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="1556158869-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·317,·SHA:·b51078f761e6ab00ac489d35f976419c64a444c4649b7c60ed413b313d162197·...·]-9">)</span><span·class="p">,</span><span·class="w">
141 ····</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="4340001696-10">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="4340001696-10">)</span><span·class="p">,</span><span·class="w">141 ····</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="1556158869-10">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="1556158869-10">)</span><span·class="p">,</span><span·class="w">
142 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="4340001696-11">(</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="w">142 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="1556158869-11">(</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="w">
143 ······························</span><span·class="s">&quot;Start·outer·transaction&quot;</span><span·class="p"·data-group-id="4340001696-11">)</span><span·class="p">,</span><span·class="w">143 ······························</span><span·class="s">&quot;Start·outer·transaction&quot;</span><span·class="p"·data-group-id="1556158869-11">)</span><span·class="p">,</span><span·class="w">
144 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="4340001696-12">(</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="w">144 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="1556158869-12">(</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="w">
145 ······························</span><span·class="s">&quot;New·transaction·id·is·4711&quot;</span><span·class="p"·data-group-id="4340001696-12">)</span><span·class="p">,</span><span·class="w">145 ······························</span><span·class="s">&quot;New·transaction·id·is·4711&quot;</span><span·class="p"·data-group-id="1556158869-12">)</span><span·class="p">,</span><span·class="w">
146 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="4340001696-13">(</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="w">146 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="1556158869-13">(</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="w">
147 ······························</span><span·class="s">&quot;Acquire·write·lock·for·{my_tab,·key}&quot;</span><span·class="p"·data-group-id="4340001696-13">)</span><span·class="p">,</span><span·class="w">147 ······························</span><span·class="s">&quot;Acquire·write·lock·for·{my_tab,·key}&quot;</span><span·class="p"·data-group-id="1556158869-13">)</span><span·class="p">,</span><span·class="w">
148 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="4340001696-14">(</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="w">148 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="1556158869-14">(</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="w">
149 ······························</span><span·class="s">&quot;You·got·the·write·lock·for·{my_tab,·key}&quot;</span><span·class="p"·data-group-id="4340001696-14">)</span><span·class="p">,</span><span·class="w">149 ······························</span><span·class="s">&quot;You·got·the·write·lock·for·{my_tab,·key}&quot;</span><span·class="p"·data-group-id="1556158869-14">)</span><span·class="p">,</span><span·class="w">
150 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="4340001696-15">(</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="w">150 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="1556158869-15">(</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="w">
151 ······························</span><span·class="s">&quot;Perform··transaction·commit&quot;</span><span·class="p"·data-group-id="4340001696-15">)</span><span·class="p">,</span><span·class="w">151 ······························</span><span·class="s">&quot;Perform··transaction·commit&quot;</span><span·class="p"·data-group-id="1556158869-15">)</span><span·class="p">,</span><span·class="w">
152 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="4340001696-16">(</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="w">152 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="1556158869-16">(</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="w">
153 ······························</span><span·class="s">&quot;Release·all·locks·for·transaction·4711&quot;</span><span·class="p"·data-group-id="4340001696-16">)</span><span·class="p">,</span><span·class="w">153 ······························</span><span·class="s">&quot;Release·all·locks·for·transaction·4711&quot;</span><span·class="p"·data-group-id="1556158869-16">)</span><span·class="p">,</span><span·class="w">
154 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="4340001696-17">(</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="w">154 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="1556158869-17">(</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="w">
155 ······························</span><span·class="s">&quot;End·of·outer·transaction&quot;</span><span·class="p"·data-group-id="4340001696-17">)</span><span·class="p">,</span><span·class="w">155 ······························</span><span·class="s">&quot;End·of·outer·transaction&quot;</span><span·class="p"·data-group-id="1556158869-17">)</span><span·class="p">,</span><span·class="w">
156 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="4340001696-18">(</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="w">156 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="1556158869-18">(</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="w">
157 ······························</span><span·class="s">&quot;Transaction·returned·{atomic,·ok}&quot;</span><span·class="p"·data-group-id="4340001696-18">)</span><span·class="p">,</span><span·class="w">157 ······························</span><span·class="s">&quot;Transaction·returned·{atomic,·ok}&quot;</span><span·class="p"·data-group-id="1556158869-18">)</span><span·class="p">,</span><span·class="w">
158 ····</span><span·class="p"·data-group-id="4340001696-19">{</span><span·class="ss">collector</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Collector</span><span·class="p"·data-group-id="4340001696-19">}</span><span·class="p">.</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">158 ····</span><span·class="p"·data-group-id="1556158869-19">{</span><span·class="ss">collector</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Collector</span><span·class="p"·data-group-id="1556158869-19">}</span><span·class="p">.</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
159 </span><span·class="nf">mgr_actors</span><span·class="p"·data-group-id="0418872893-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="0418872893-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="0418872893-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·2d420b4d62a68e2efc68d67e5c4cf37e7faa22c9f5b7f205c52517f0a666b115·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">159 </span><span·class="nf">mgr_actors</span><span·class="p"·data-group-id="1546587635-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="1546587635-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="1546587635-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·302c784d587a32599d2faeb981e4bd22fc00b4fbb8b115a7f80e2741c288423a·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
160 ····</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="0418872893-3">(</span><span·class="n">A</span><span·class="p"·data-group-id="0418872893-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">160 ····</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="1546587635-3">(</span><span·class="n">A</span><span·class="p"·data-group-id="1546587635-3">)</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="n">A</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="n">A</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
162 ···················</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">162 ···················</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">
163 ···················</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">163 ···················</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">
164 ···················</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">164 ···················</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">
165 ···············</span><span·class="k">end</span><span·class="w">165 ···············</span><span·class="k">end</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="p"·data-group-id="0418872893-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="0418872893-5">{</span><span·class="ss">from</span>[·...·truncated·by·diffoscope;·len:·323,·SHA:·08729bb02690768b562a985bf482d9bccb2580432b6b96c70b4709bf7e95d807·...·]-6">)</span><span·class="p">,</span><span·class="w">167 ····</span><span·class="p"·data-group-id="1546587635-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="1546587635-5">{</span><span·class="ss">from</span>[·...·truncated·by·diffoscope;·len:·323,·SHA:·8dd26d2db4beb9770e11e0736779ab62c02dde1b5b2b0d2fc2813aee45b69a5f·...·]-6">)</span><span·class="p">,</span><span·class="w">
168 ···················</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="0418872893-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="0418872893-7">)</span><span·class="p">,</span><span·class="w">168 ···················</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="1546587635-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="1546587635-7">)</span><span·class="p">,</span><span·class="w">
169 ···················</span><span·class="ss">contents</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0418872893-8">[</span><span·class="p"·data-group-id="0418872893-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:·2feb2a6ebec9cbca1becbbffabec9257c576c7c12539b7a82a6e4a585e5b9304·...·]-9">}</span><span·class="p">,</span><span·class="w">169 ···················</span><span·class="ss">contents</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1546587635-8">[</span><span·class="p"·data-group-id="1546587635-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:·1fd27ffde57181d7696b7b37292a5027af60708613d60ed38e811bbf658ccbe5·...·]-9">}</span><span·class="p">,</span><span·class="w">
170 ·······························</span><span·class="p"·data-group-id="0418872893-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:·7eb1595c5824c106085c9c04b4a9e7dd97b77e388895e2424d890ee28cdfeaae·...·]-10">}</span><span·class="p">,</span><span·class="w">170 ·······························</span><span·class="p"·data-group-id="1546587635-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:·f163cc956f9e7cfdee980db630b22b257ba06e516697d5cd572bd0a217bf58df·...·]-10">}</span><span·class="p">,</span><span·class="w">
171 ·······························</span><span·class="p"·data-group-id="0418872893-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:·186,·SHA:·e1fd648839abc4ed55e722a10e002c38db8c42b32f6952cdaf915ae08e2b4e3f·...·]-4">}</span><span·class="p">.</span></code></pre><p>If·you·invoke·the·<code·class="inline">et_demo:sim_trans()</code>·function,·a·<code·class="inline">Viewer</code>·window·will·pop·up171 ·······························</span><span·class="p"·data-group-id="1546587635-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:·186,·SHA:·b6878c94cc1be60f0f2251ca1c5d144ca72c83ee18727bd7e833f887afc91935·...·]-4">}</span><span·class="p">.</span></code></pre><p>If·you·invoke·the·<code·class="inline">et_demo:sim_trans()</code>·function,·a·<code·class="inline">Viewer</code>·window·will·pop·up
172 and·the·sequence·trace·will·be·almost·the·same·as·if·the·following·<code·class="inline">Mnesia</code>172 and·the·sequence·trace·will·be·almost·the·same·as·if·the·following·<code·class="inline">Mnesia</code>
173 transaction·would·have·been·run:</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="4414269657-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4414269657-2">(</span><span·class="p"·data-group-id="4414269657-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</[·...·truncated·by·diffoscope;·len:·2205,·SHA:·25c47f94e0280851f1f8ee1fcf50769735b1f171c9bdef06f33829bb35dd5772·...·]-6">]</span><span·class="w">173 transaction·would·have·been·run:</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="8028207397-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="8028207397-2">(</span><span·class="p"·data-group-id="8028207397-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</[·...·truncated·by·diffoscope;·len:·2205,·SHA:·58030bf7fc67d57fc7fe18c00525a16f2b8cf0fad30c5977dd81bfd6861f27eb·...·]-6">]</span><span·class="w">
  
174 </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="8425694337-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="8425694337-7">)</span><span·class="gp·unselectable">174 </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="7046308581-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="7046308581-7">)</span><span·class="gp·unselectable">
175 1&gt;·</span><span·class="p"·data-group-id="8425694337-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="8425694337-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·282,·SHA:·5f572991389fa18fd3c93e0431aa390b3e04685cce0b2748cae3cd4f36f011f1·...·]-9">)</span><span·class="p">.</span><span·class="w">175 1&gt;·</span><span·class="p"·data-group-id="7046308581-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="7046308581-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·282,·SHA:·fac3e65adf2c74ebc5780ec9993ca76e6877a33c6d91c7be14e2456caf230ed9·...·]-9">)</span><span·class="p">.</span><span·class="w">
176 </span><span·class="p"·data-group-id="8425694337-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">;</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·0f590017c42783c3bb2033cb16d4fc429d2c0535d2ec630e8a223e04a0f0f4f0·...·]-11">}</span><span·class="gp·unselectable">176 </span><span·class="p"·data-group-id="7046308581-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">;</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·42ade401d84b25292fb335f17e996b17e0203937c84a17a077a9a41dd1e85ce1·...·]-11">}</span><span·class="gp·unselectable">
177 2&gt;·</span><span·class="nc">et_demo</span><span·class="p">:</span><span·class="nf">sim_trans</span><span·class="p"·data-group-id="8425694337-12">(</span><span·class="p"·data-group-id="8425694337-12">)</span><span·class="p">.</span><span·class="w">177 2&gt;·</span><span·class="nc">et_demo</span><span·class="p">:</span><span·class="nf">sim_trans</span><span·class="p"·data-group-id="7046308581-12">(</span><span·class="p"·data-group-id="7046308581-12">)</span><span·class="p">.</span><span·class="w">
178 </span><span·class="p"·data-group-id="8425694337-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8425694337-14">{</span><span·class="ss">table_handle</span><span·class="p">,</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">,</span><span·class="mi">24596</span><span·class="p">,</span><span·class="ss">trace_ts</span><span·class="p">,</span><span·class="w">178 </span><span·class="p"·data-group-id="7046308581-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7046308581-14">{</span><span·class="ss">table_handle</span><span·class="p">,</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">,</span><span·class="mi">24596</span><span·class="p">,</span><span·class="ss">trace_ts</span><span·class="p">,</span><span·class="w">
179 ·····</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="8425694337-14">}</span><span·class="p"·data-group-id="8425694337-13">}</span></code></pre><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><h2·id="some-convenient-functions-used-in-the-mnesia-transaction-example"·class="section-heading">179 ·····</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="7046308581-14">}</span><span·class="p"·data-group-id="7046308581-13">}</span></code></pre><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><h2·id="some-convenient-functions-used-in-the-mnesia-transaction-example"·class="section-heading">
180 ··<a·href="#some-convenient-functions-used-in-the-mnesia-transaction-example"·class="hover-link">180 ··<a·href="#some-convenient-functions-used-in-the-mnesia-transaction-example"·class="hover-link">
181 ····<i·class="ri-link-m"·aria-hidden="true"></i>181 ····<i·class="ri-link-m"·aria-hidden="true"></i>
182 ··</a>182 ··</a>
183 ··<span·class="text">Some·convenient·functions·used·in·the·Mnesia·transaction·example</span>183 ··<span·class="text">Some·convenient·functions·used·in·the·Mnesia·transaction·example</span>
184 </h2>184 </h2>
185 <p>The·<code·class="inline">module_as_actor</code>·filter·converts·the·<code·class="inline">Event·Records</code>·so·the·module·names185 <p>The·<code·class="inline">module_as_actor</code>·filter·converts·the·<code·class="inline">Event·Records</code>·so·the·module·names
186 becomes·actors·and·the·invoked·functions·becomes·labels.·If·the·information186 becomes·actors·and·the·invoked·functions·becomes·labels.·If·the·information
187 about·who·the·caller·was·it·will·be·displayed·as·an·arrow·directed·from·the187 about·who·the·caller·was·it·will·be·displayed·as·an·arrow·directed·from·the
188 caller·to·the·callee.·The·<code·class="inline">[{message,·{caller}},·{return_trace}]</code>·options·to188 caller·to·the·callee.·The·<code·class="inline">[{message,·{caller}},·{return_trace}]</code>·options·to
189 <a·href="../../../../lib/runtime_tools-2.1.1/doc/html/dbg.html#tpl/2"><code·class="inline">dbg:tpl/2</code></a>·function·will·imply·the·necessary·information·in·the·Erlang·traces.189 <a·href="../../../../lib/runtime_tools-2.1.1/doc/html/dbg.html#tpl/2"><code·class="inline">dbg:tpl/2</code></a>·function·will·imply·the·necessary·information·in·the·Erlang·traces.
190 Here·follows·the·<code·class="inline">module_as_actor</code>·filter:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">190 Here·follows·the·<code·class="inline">module_as_actor</code>·filter:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
191 </span><span·class="nf">module_as_actor</span><span·class="p"·data-group-id="6339500873-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="6339500873-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="6339500873-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·1739af39d4f3ef65e8eb5c5af81241691292b340d51d42034e8877a88603f6c0·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">191 </span><span·class="nf">module_as_actor</span><span·class="p"·data-group-id="5202592990-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="5202592990-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="5202592990-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·080e742da40abe37d75a10bafdb4610908cb0e9e626587934bfda0c97506d4d4·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
192 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">keysearch</span><span·class="p"·data-group-id="6339500873-3">(</span><span·class="ss">mfa</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">E</span><span·class="o">#</span><span·class="ss">event</span><span·cla[·...·truncated·by·diffoscope;·len:·88,·SHA:·94013f7ddf4371e717f18ac2f9d01aef0c3c5c04555bf9c285778c4c6d137492·...·]-3">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">192 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">keysearch</span><span·class="p"·data-group-id="5202592990-3">(</span><span·class="ss">mfa</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">E</span><span·class="o">#</span><span·class="ss">event</span><span·cla[·...·truncated·by·diffoscope;·len:·88,·SHA:·4d2f575ec45d454cfdf46e1a4b82e98dfc80640e21321217ccdc1bd88d194729·...·]-3">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
193 ········</span><span·class="p"·data-group-id="6339500873-4">{</span><span·class="ss">value</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6339500873-5">{</span><span·class="ss">mfa</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·363,·SHA:·3242e7ed26afa2c417ad7a97853b4988a3662f1cf18d6ed5e7cde809f3a17fe5·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 ········</span><span·class="p"·data-group-id="5202592990-4">{</span><span·class="ss">value</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5202592990-5">{</span><span·class="ss">mfa</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·363,·SHA:·b0fb339ce6aacd6ee1d75117f60374319df0d311566f3a0f9e417d7a71dcc290·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">keysearch</span><span·class="p"·data-group-id="6339500873-7">(</span><span·class="ss">pam_result</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">E</span><span·class="o">#</span><span·class="ss">event</span><s[·...·truncated·by·diffoscope;·len:·95,·SHA:·ebc35de4fbc961baa6dae3a62bbfb3440cfe6d2b23f6a99996cc22a1bc2008a3·...·]-7">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">194 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">keysearch</span><span·class="p"·data-group-id="5202592990-7">(</span><span·class="ss">pam_result</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">E</span><span·class="o">#</span><span·class="ss">event</span><s[·...·truncated·by·diffoscope;·len:·95,·SHA:·cb26857a6aaf06557f0f2b288e95204b0b03954a490c4d42a384aec7bf1cd2dd·...·]-7">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
195 ················</span><span·class="p"·data-group-id="6339500873-8">{</span><span·class="ss">value</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6339500873-9">{</span><span·class="ss">pam_result</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·399,·SHA:·326a6e36e1f5dda4074cf2a2f803ae65bf2d49d0b0ccc51e8735f1ef6971589d·...·]-8">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">195 ················</span><span·class="p"·data-group-id="5202592990-8">{</span><span·class="ss">value</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5202592990-9">{</span><span·class="ss">pam_result</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·399,·SHA:·ab1e8acdf2b8ce8d1101178b8783379536d4c132cedaa47a362a4c39637051b7·...·]-8">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
196 ····················</span><span·class="p"·data-group-id="6339500873-11">{</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="6339500873-12">{</span><span·class="ss">label</sp[·...·truncated·by·diffoscope;·len:·537,·SHA:·f31ad3e73189fffddaadad3e6c06ef5285276290b6b5d9e2642e784431b52f98·...·]-11">}</span><span·class="p">;</span><span·class="w">196 ····················</span><span·class="p"·data-group-id="5202592990-11">{</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="5202592990-12">{</span><span·class="ss">label</sp[·...·truncated·by·diffoscope;·len:·537,·SHA:·659b0d3c7997c6f0eee0208afade91ac99d3ed4542af62a97f015d45ed1e6fd8·...·]-11">}</span><span·class="p">;</span><span·class="w">
197 ················</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">197 ················</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
198 ····················</span><span·class="p"·data-group-id="6339500873-13">{</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="6339500873-14">{</span><span·class="ss">label</sp[·...·truncated·by·diffoscope;·len:·536,·SHA:·b21950878a5aacef0a7644555e05fd332f9acb1628ddd88be49e0debb9b31622·...·]-13">}</span><span·class="w">198 ····················</span><span·class="p"·data-group-id="5202592990-13">{</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="5202592990-14">{</span><span·class="ss">label</sp[·...·truncated·by·diffoscope;·len:·536,·SHA:·b64b6ead2f9e1f75843b040fd6ad12a8b57b75b3fc9d783df8ba20630ad2d268·...·]-13">}</span><span·class="w">
199 ············</span><span·class="k">end</span><span·class="p">;</span><span·class="w">199 ············</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
200 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">200 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
201 ············</span><span·class="ss">false</span><span·class="w">201 ············</span><span·class="ss">false</span><span·class="w">
202 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">plain_process_info</code>·filter·does·not·alter·the·<code·class="inline">Event·Records</code>.·It·merely202 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">plain_process_info</code>·filter·does·not·alter·the·<code·class="inline">Event·Records</code>.·It·merely
203 ensures·that·the·event·not·related·to·processes·are·skipped:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">203 ensures·that·the·event·not·related·to·processes·are·skipped:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
204 </span><span·class="nf">plain_process_info</span><span·class="p"·data-group-id="8738895103-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="8738895103-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="8738895103-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·d61ad3b1efef87de09313b856682dc480c5d2fa98a764dc5161f2531f4503f27·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 </span><span·class="nf">plain_process_info</span><span·class="p"·data-group-id="9381380520-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="9381380520-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="9381380520-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·1642e6dacdf6041f953eee4849def97c876f7677ba56b2cde12039316e9789fc·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
205 ····</span><span·class="k">case</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">label</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="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">label</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
206 ········</span><span·class="nb">send</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">206 ········</span><span·class="nb">send</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">
207 ········</span><span·class="ss">send_to_non_existing_process</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">207 ········</span><span·class="ss">send_to_non_existing_process</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">
208 ········</span><span·class="ss">&#39;receive&#39;</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">208 ········</span><span·class="ss">&#39;receive&#39;</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">
209 ········</span><span·class="nb">spawn</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">209 ········</span><span·class="nb">spawn</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">
210 ········</span><span·class="nb">exit</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">210 ········</span><span·class="nb">exit</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">
211 ········</span><span·class="nb">link</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">211 ········</span><span·class="nb">link</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">
212 ········</span><span·class="nb">unlink</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">212 ········</span><span·class="nb">unlink</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">
213 ········</span><span·class="ss">getting_linked</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">213 ········</span><span·class="ss">getting_linked</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">
214 ········</span><span·class="p"·data-group-id="8738895103-3">{</span><span·class="ss">seq_send</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Label</span><span·class="p"·data-group-id="8738895103-3">}</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">214 ········</span><span·class="p"·data-group-id="9381380520-3">{</span><span·class="ss">seq_send</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Label</span><span·class="p"·data-group-id="9381380520-3">}</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">
215 ········</span><span·class="p"·data-group-id="8738895103-4">{</span><span·class="ss">seq_receive</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Label</span><span·class="p"·data-group-id="8738895103-4">}</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">215 ········</span><span·class="p"·data-group-id="9381380520-4">{</span><span·class="ss">seq_receive</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Label</span><span·class="p"·data-group-id="9381380520-4">}</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">
216 ········</span><span·class="p"·data-group-id="8738895103-5">{</span><span·class="ss">seq_print</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Label</span><span·class="p"·data-group-id="8738895103-5">}</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">216 ········</span><span·class="p"·data-group-id="9381380520-5">{</span><span·class="ss">seq_print</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Label</span><span·class="p"·data-group-id="9381380520-5">}</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">
217 ········</span><span·class="p"·data-group-id="8738895103-6">{</span><span·class="ss">drop</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">N</span><span·class="p"·data-group-id="8738895103-6">}</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">217 ········</span><span·class="p"·data-group-id="9381380520-6">{</span><span·class="ss">drop</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">N</span><span·class="p"·data-group-id="9381380520-6">}</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">
218 ········</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">218 ········</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">
219 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">plain_process_info_nolink</code>·filter·does·not·alter·the·<code·class="inline">Event·Records</code>.·It·do219 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">plain_process_info_nolink</code>·filter·does·not·alter·the·<code·class="inline">Event·Records</code>.·It·do
220 makes·use·of·the·<code·class="inline">plain_process_info</code>·,·but·do·also·ensure·that·the·process·info220 makes·use·of·the·<code·class="inline">plain_process_info</code>·,·but·do·also·ensure·that·the·process·info
221 related·to·linking·and·unlinking·is·skipped:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">221 related·to·linking·and·unlinking·is·skipped:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
222 </span><span·class="nf">plain_process_info_nolink</span><span·class="p"·data-group-id="2181768213-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="2181768213-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="2181768213-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·9d8dd642fb11d9df3c28dfbe979e15d0c005bcd33fb90634d3cd57455d8611b7·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 </span><span·class="nf">plain_process_info_nolink</span><span·class="p"·data-group-id="4305387576-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="4305387576-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="4305387576-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·60957f5e39567ba0bddc06dc26062dc1cb2d13a7f06eaf89b43a59f1222f4821·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
223 ····</span><span·class="p"·data-group-id="2181768213-3">(</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">label</span><span·class="w">·</span><span·class="o">/=</span><span·class="w">·</span><span·class="nb">link</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·94dc9953aab6d01f39757f81fbdb0ce0265b8fc04ea5c3a14eb111574bf9c10c·...·]-3">)</span><span·class="w">·</span><span·class="nf">and</span><span·class="w">223 ····</span><span·class="p"·data-group-id="4305387576-3">(</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">label</span><span·class="w">·</span><span·class="o">/=</span><span·class="w">·</span><span·class="nb">link</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·864dbb2853ff44b143ff4fe93a6bf1db9abcadd40204c9ff3c3a95315c4eb5a6·...·]-3">)</span><span·class="w">·</span><span·class="nf">and</span><span·class="w">
224 ····</span><span·class="p"·data-group-id="2181768213-4">(</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">label</span><span·class="w">·</span><span·class="o">/=</span><span·class="w">·</span><span·class="nb">unlink</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·59aa5dd067b8bdd68beeb63aa65f8793bb2d432675c7ae5108c291905d9f65ec·...·]-4">)</span><span·class="w">·</span><span·class="nf">and</span><span·class="w">224 ····</span><span·class="p"·data-group-id="4305387576-4">(</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">label</span><span·class="w">·</span><span·class="o">/=</span><span·class="w">·</span><span·class="nb">unlink</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·cdfbe3848b8381598d3d3d9f9276c37ae473a34d1e8ac93f6c3c68224877411e·...·]-4">)</span><span·class="w">·</span><span·class="nf">and</span><span·class="w">
225 ····</span><span·class="p"·data-group-id="2181768213-5">(</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">label</span><span·class="w">·</span><span·class="o">/=</span><span·class="w">·</span><span·class="ss">getting_linked[·...·truncated·by·diffoscope;·len:·48,·SHA:·b144f229b1155dd18d7ffc3c8dad1583e08ea5f4ac78c66a97b3ba2922e527d0·...·]-5">)</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">225 ····</span><span·class="p"·data-group-id="4305387576-5">(</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">label</span><span·class="w">·</span><span·class="o">/=</span><span·class="w">·</span><span·class="ss">getting_linked[·...·truncated·by·diffoscope;·len:·48,·SHA:·d83b45518e0a9145cc30bacadca6c4be600454103bde173edeb25983b7134b6b·...·]-5">)</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">
226 ····</span><span·class="nf">plain_process_info</span><span·class="p"·data-group-id="2181768213-6">(</span><span·class="n">E</span><span·class="p"·data-group-id="2181768213-6">)</span><span·class="p">.</span></code></pre><p>In·order·to·simplify·the·startup·of·an·<code·class="inline">et_viewer</code>·process·with·the·filters226 ····</span><span·class="nf">plain_process_info</span><span·class="p"·data-group-id="4305387576-6">(</span><span·class="n">E</span><span·class="p"·data-group-id="4305387576-6">)</span><span·class="p">.</span></code></pre><p>In·order·to·simplify·the·startup·of·an·<code·class="inline">et_viewer</code>·process·with·the·filters
227 mentioned·above,·plus·some·others·(that·also·are·found·in227 mentioned·above,·plus·some·others·(that·also·are·found·in
228 <code·class="inline">et/examples/et_demo.erl</code>·src/et_collector.erl·the·<code·class="inline">et_demo:start/0,1</code>·functions228 <code·class="inline">et/examples/et_demo.erl</code>·src/et_collector.erl·the·<code·class="inline">et_demo:start/0,1</code>·functions
229 can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">229 can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
230 </span><span·class="nf">start</span><span·class="p"·data-group-id="3664098208-1">(</span><span·class="p"·data-group-id="3664098208-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">230 </span><span·class="nf">start</span><span·class="p"·data-group-id="6773463014-1">(</span><span·class="p"·data-group-id="6773463014-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
231 ····</span><span·class="nf">start</span><span·class="p"·data-group-id="3664098208-2">(</span><span·class="p"·data-group-id="3664098208-3">[</span><span·class="p"·data-group-id="3664098208-3">]</span><span·class="p"·data-group-id="3664098208-2">)</span><span·class="p">.</span><span·class="w">231 ····</span><span·class="nf">start</span><span·class="p"·data-group-id="6773463014-2">(</span><span·class="p"·data-group-id="6773463014-3">[</span><span·class="p"·data-group-id="6773463014-3">]</span><span·class="p"·data-group-id="6773463014-2">)</span><span·class="p">.</span><span·class="w">
  
232 </span><span·class="nf">start</span><span·class="p"·data-group-id="3664098208-4">(</span><span·class="n">ExtraOptions</span><span·class="p"·data-group-id="3664098208-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">232 </span><span·class="nf">start</span><span·class="p"·data-group-id="6773463014-4">(</span><span·class="n">ExtraOptions</span><span·class="p"·data-group-id="6773463014-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
233 ····</span><span·class="n">Options</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3664098208-5">[</span><span·class="p"·data-group-id="3664098208-6">{</span><span·class="ss">trace_global</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="3664098208-6">}</span><span·class="p">,</span><span·class="w">233 ····</span><span·class="n">Options</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6773463014-5">[</span><span·class="p"·data-group-id="6773463014-6">{</span><span·class="ss">trace_global</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="6773463014-6">}</span><span·class="p">,</span><span·class="w">
234 ···············</span><span·class="p"·data-group-id="3664098208-7">{</span><span·class="ss">parent_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p"·data-group-id="3664098208-7">}</span><span·class="p">,</span><span·class="w">234 ···············</span><span·class="p"·data-group-id="6773463014-7">{</span><span·class="ss">parent_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p"·data-group-id="6773463014-7">}</span><span·class="p">,</span><span·class="w">
235 ···············</span><span·class="p"·data-group-id="3664098208-8">{</span><span·class="ss">max_actors</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="p"·data-group-id="3664098208-8">}</span><span·class="p">,</span><span·class="w">235 ···············</span><span·class="p"·data-group-id="6773463014-8">{</span><span·class="ss">max_actors</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="p"·data-group-id="6773463014-8">}</span><span·class="p">,</span><span·class="w">
236 ···············</span><span·class="p"·data-group-id="3664098208-9">{</span><span·class="ss">max_events</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1000</span><span·class="p"·data-group-id="3664098208-9">}</span><span·class="p">,</span><span·class="w">236 ···············</span><span·class="p"·data-group-id="6773463014-9">{</span><span·class="ss">max_events</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1000</span><span·class="p"·data-group-id="6773463014-9">}</span><span·class="p">,</span><span·class="w">
237 ···············</span><span·class="p"·data-group-id="3664098208-10">{</span><span·class="ss">active_filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">module_as_actor</span><span·class="p"·data-group-id="3664098208-10">}</span><span·class="p"·data-group-id="3664098208-5">]</span><span·class="p">,</span><span·class="w">237 ···············</span><span·class="p"·data-group-id="6773463014-10">{</span><span·class="ss">active_filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">module_as_actor</span><span·class="p"·data-group-id="6773463014-10">}</span><span·class="p"·data-group-id="6773463014-5">]</span><span·class="p">,</span><span·class="w">
238 ····</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="3664098208-11">(</span><span·class="nf">filters</span><span·class="p"·data-group-id="3664098208-12">(</span><span·class="p"·data-group-id="3664098208-12">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Optio[·...·truncated·by·diffoscope;·len:·158,·SHA:·49fbf6fe54bfd7372a2ee11afe7e676131054504762b89a4fb6d3e26e158764f·...·]-11">)</span><span·class="p">.</span></code></pre><p>A·simple·one-liner·starts·the·tool:</p><pre><code·class="text">··········erl·-pa·../examples·-s·et_demo</code></pre><p>The·filters·are·included·by·the·following·parameters:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">238 ····</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="6773463014-11">(</span><span·class="nf">filters</span><span·class="p"·data-group-id="6773463014-12">(</span><span·class="p"·data-group-id="6773463014-12">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Optio[·...·truncated·by·diffoscope;·len:·158,·SHA:·af992349f11bf86ec203fcbbd6a448e72b6d7743ce8648d8db05e07c1bd234bb·...·]-11">)</span><span·class="p">.</span></code></pre><p>A·simple·one-liner·starts·the·tool:</p><pre><code·class="text">··········erl·-pa·../examples·-s·et_demo</code></pre><p>The·filters·are·included·by·the·following·parameters:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
239 </span><span·class="nf">filters</span><span·class="p"·data-group-id="9800230298-1">(</span><span·class="p"·data-group-id="9800230298-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">239 </span><span·class="nf">filters</span><span·class="p"·data-group-id="8966157179-1">(</span><span·class="p"·data-group-id="8966157179-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ····</span><span·class="p"·data-group-id="9800230298-2">[</span><span·class="p"·data-group-id="9800230298-3">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9800230298-4">{</span><span·class="ss">filter</span><span·class="p"[·...·truncated·by·diffoscope;·len:·113,·SHA:·957dc7eaec387eaf8d131c1384b10e5bfc44d25f45a29a0a4d8c2f8d6ed8596c·...·]-4">}</span><span·class="p">,</span><span·class="w">240 ····</span><span·class="p"·data-group-id="8966157179-2">[</span><span·class="p"·data-group-id="8966157179-3">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8966157179-4">{</span><span·class="ss">filter</span><span·class="p"[·...·truncated·by·diffoscope;·len:·113,·SHA:·730ab0fe3399672dbeba0af55882403dfba35541fad8299005786a5138a23a2d·...·]-4">}</span><span·class="p">,</span><span·class="w">
241 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">module_as_actor</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9800230298-3">}</span><span·class="p">,</span><span·class="w">241 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">module_as_actor</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8966157179-3">}</span><span·class="p">,</span><span·class="w">
242 ·····</span><span·class="p"·data-group-id="9800230298-5">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9800230298-6">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pla[·...·truncated·by·diffoscope;·len:·63,·SHA:·a859c2e5668e4b3ef24e3f3cf5dd1aa16f797e5db96532ee1cf843bb244940d8·...·]-6">}</span><span·class="p">,</span><span·class="w">242 ·····</span><span·class="p"·data-group-id="8966157179-5">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8966157179-6">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pla[·...·truncated·by·diffoscope;·len:·63,·SHA:·1426c835d4b5d3e79aa72abdc7c36938638c43f74ad8e034107d09f354115611·...·]-6">}</span><span·class="p">,</span><span·class="w">
243 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">plain_process_info</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9800230298-5">}</span><span·class="p">,</span><span·class="w">243 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">plain_process_info</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8966157179-5">}</span><span·class="p">,</span><span·class="w">
244 ·····</span><span·class="p"·data-group-id="9800230298-7">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9800230298-8">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pla[·...·truncated·by·diffoscope;·len:·70,·SHA:·ed3faeed93106c7023b7cc2b1aa51f22cd8807912dea0776f2b3ad7e58c1a61d·...·]-8">}</span><span·class="p">,</span><span·class="w">244 ·····</span><span·class="p"·data-group-id="8966157179-7">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8966157179-8">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pla[·...·truncated·by·diffoscope;·len:·70,·SHA:·741a49acf87f914cadf9e458b9be92e81fe0508c4e762f7e4e8f28007072283c·...·]-8">}</span><span·class="p">,</span><span·class="w">
245 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">plain_process_info_nolink</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9800230298-7">}</span><span·class="p">,</span><span·class="w">245 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">plain_process_info_nolink</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8966157179-7">}</span><span·class="p">,</span><span·class="w">
246 ·····</span><span·class="p"·data-group-id="9800230298-9">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9800230298-10">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">na[·...·truncated·by·diffoscope;·len:·64,·SHA:·b9ea0341cd35b8050d12a2774fbb219ce67ae6f03b3da984f33a6de3f5a5ff2d·...·]-10">}</span><span·class="p">,</span><span·class="w">246 ·····</span><span·class="p"·data-group-id="8966157179-9">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8966157179-10">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">na[·...·truncated·by·diffoscope;·len:·64,·SHA:·37256d1c9a0c3af33a4efff886c53976a5570df39c557e9675da865ddc266a67·...·]-10">}</span><span·class="p">,</span><span·class="w">
247 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">named_process_info</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9800230298-9">}</span><span·class="p">,</span><span·class="w">247 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">named_process_info</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8966157179-9">}</span><span·class="p">,</span><span·class="w">
248 ·····</span><span·class="p"·data-group-id="9800230298-11">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9800230298-12">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">n[·...·truncated·by·diffoscope;·len:·72,·SHA:·e7db33b4ce671cb37a8b12309ddd310029c1ec220da5d6e66180bb32756f79a1·...·]-12">}</span><span·class="p">,</span><span·class="w">248 ·····</span><span·class="p"·data-group-id="8966157179-11">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8966157179-12">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">n[·...·truncated·by·diffoscope;·len:·72,·SHA:·e595f62f2dcb70339570e673c53425026ad187ff678c3557b047590797f62fbd·...·]-12">}</span><span·class="p">,</span><span·class="w">
249 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">named_process_info_nolink</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9800230298-11">}</span><span·class="p">,</span><span·class="w">249 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">named_process_info_nolink</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8966157179-11">}</span><span·class="p">,</span><span·class="w">
250 ·····</span><span·class="p"·data-group-id="9800230298-13">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9800230298-14">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">n[·...·truncated·by·diffoscope;·len:·64,·SHA:·b19e655cd9635db12be00dcfa979de71ef1ca0e04f1a46394382f192dff8c711·...·]-14">}</span><span·class="p">,</span><span·class="w">250 ·····</span><span·class="p"·data-group-id="8966157179-13">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8966157179-14">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">n[·...·truncated·by·diffoscope;·len:·64,·SHA:·70881834cb96ed7ed7fdb15285015407a35ab178499582eb13da765dc01a3724·...·]-14">}</span><span·class="p">,</span><span·class="w">
251 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">node_process_info</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9800230298-13">}</span><span·class="p">,</span><span·class="w">251 ···················</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">node_process_info</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8966157179-13">}</span><span·class="p">,</span><span·class="w">
252 ·····</span><span·class="p"·data-group-id="9800230298-15">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9800230298-16">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">n[·...·truncated·by·diffoscope;·len:·71,·SHA:·b4d24e85d1a094415645644f7adc2d2836387488f7045ebb6e86ea6eae33a5a1·...·]-16">}</span><span·class="p">,</span><span·class="w">252 ·····</span><span·class="p"·data-group-id="8966157179-15">{</span><span·class="ss">dict_insert</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8966157179-16">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">n[·...·truncated·by·diffoscope;·len:·71,·SHA:·29fe4af9b06a68b581f1da64ef465a81164f1060f1a88d6157c5c4868be8e391·...·]-16">}</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 97595/176908 bytes (55.17%) of diff not shown.
602 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>216 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>420 <p>Copyright·©·1996-2025·<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.1/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="2212025693-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="2212025693-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·489,·SHA:·ad2b515baee7a20817bc4e0e3bab3dacf15e9c73bdfc176df0acaf048f50f487·...·]-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="4159840468-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="4159840468-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·489,·SHA:·583bad4a9cafa5a95ea8324801ccbef83c383ad59da4611d9eb98028d642b714·...·]-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="2212025693-5">(</span><span·class="n">ViewerPid</span><span·class="p"·data-group-id="2212025693-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="4159840468-5">(</span><span·class="n">ViewerPid</span><span·class="p"·data-group-id="4159840468-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="8263118297-1">(</span><span·class="ss">et_display_demo</span><span·class="p"·data-group-id="8263118297-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="7762532005-1">(</span><span·class="ss">et_display_demo</span><span·class="p"·data-group-id="7762532005-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="8263118297-2">(</span><span·class="p"·data-group-id="8263118297-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="8263118297-3">]</span><span·class="p"·data-group-id="8263118297-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="7762532005-2">(</span><span·class="p"·data-group-id="7762532005-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7762532005-3">]</span><span·class="p"·data-group-id="7762532005-2">)</span><span·class="p">.</span><span·class="w">
  
150 </span><span·class="nf">test</span><span·class="p"·data-group-id="8263118297-4">(</span><span·class="p"·data-group-id="8263118297-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="7762532005-4">(</span><span·class="p"·data-group-id="7762532005-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
151 ····</span><span·class="p"·data-group-id="8263118297-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="8263118297-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·724,·SHA:·656642cb07bb0645d0e60be0d753274ed03d41c01db85476d61074aefb8ddf0e·...·]-6">)</span><span·class="p">,</span><span·class="w">151 ····</span><span·class="p"·data-group-id="7762532005-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="7762532005-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·724,·SHA:·73d5a40397977d90704f1894ab3f54267ad848fc9098f791dad7205e2a975486·...·]-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="8263118297-10">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="8263118297-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="7762532005-10">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="7762532005-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="8263118297-11">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="8263118297-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="7762532005-11">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="7762532005-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="8263118297-12">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="8263118297-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="7762532005-12">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="7762532005-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="8263118297-13">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="8263118297-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="7762532005-13">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="7762532005-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="8263118297-14">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="8263118297-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="7762532005-14">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="7762532005-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="8263118297-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:·50f394f4738edf85bfc066fb838724eba9b454e729761cc9d1826e1501efb493·...·]-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="7762532005-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:·21dacc895ad3e64ac9e8fb40d4dcad5378e89fe8f28fce27bbd02d311d572330·...·]-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="8263118297-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:·b49d450ba4e9593ad3761cefecc85baa0fa78ae062dee43b08146bc3cc038418·...·]-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="7762532005-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:·28b82fb6f7e47dbb771f45861a6eb15ffc4586de71d3e07ee7252a15d18f69e0·...·]-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="8263118297-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:·abb9cd9e147eb437942b3903835659f3a0885e49bd9c03f2f1b3199b8dfe9083·...·]-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="7762532005-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:·3b574ddfb7d9c85042e6747109ed8be37a62235eaf54879c1d000293ee44d0e9·...·]-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="8263118297-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:·060d5d814e9d2a83f4753c637d2e7a7d0d906c2be00643cde59b713f7b5ce6f1·...·]-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="7762532005-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:·25cd7971172522fac6e45960ca83034a4869a2eee4d89d3412376432d18abcbc·...·]-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="8263118297-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:·e7759b032f847301e307579ad5b0eddc947e10e7b56ac89c90c4c61296082425·...·]-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="7762532005-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:·c249533179abe539e3ef5ef088c59bcdc75f7463cf8d5220066f6037d9e00ad6·...·]-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="8263118297-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:·6a7bfb45d7527020bb05ac7a0b40c9c7b13c0d7a400f8a8e35d9f815b3fa1bb3·...·]-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="7762532005-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:·c38f3584b0c553f927681633a9a10d0c66004865b4acbd0acd45ebe236aabc63·...·]-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="8263118297-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:·597a96329e4629e5f4fd7f569e61ed5dc6c965562d04914ae5dbe0ca856496d6·...·]-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="7762532005-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:·db99a366e76f0f78c3d454926ae2557294d7c3677c9de04ffef746bfb1546fc7·...·]-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="8263118297-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:·515c8b7ce60ea4791188be98a0ce181716a749e51c8a2a93fab14385231797cf·...·]-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="7762532005-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:·40d6ce556a239c1932408f3cf5ce18f71735f459d6f57ac11bac73a0674fb591·...·]-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="8263118297-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:·b62da5ce9e958603c6f14c41a05e28a02e63614441773a9f37ef961e9ea8ff17·...·]-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="7762532005-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:·1914025edc3a09540274e68ab8bb5dd9c890e0f3b968016fd8b4ec0a11557b33·...·]-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="8263118297-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:·dffbef9b5ca1c15ef3487970647cb6cfb0050b08261d3c83e6811ce90c507d38·...·]-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="7762532005-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:·83f112607cfe758140d2d0081a9b57099db19ce1657249366f21756bfa673830·...·]-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="8263118297-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:·26d9513fea6911fdb51582d25340cc44601e0d7055a1fbba0d618191dd4c0d8d·...·]-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="7762532005-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:·f2ce733ada31a8fdf018bbddde66f53868048fc72230db7b032960bd6b156cd4·...·]-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="8263118297-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:·1ad36d42b74739d35295fa25fe1360b7e9de467aca3b1aba95f8c1e427c207c7·...·]-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="7762532005-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:·5a65c3d21de556d35b5ea04b86328d5fb3a6b4a3d32e4bd13f8d3e832a53a5ed·...·]-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="8263118297-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:·85484db9658d7a22eebf80beac9a10ccced141249b29331fd68cea5e6efae53c·...·]-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="7762532005-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:·c80269efb07f91bd3de00992dc6c14db1cb1080300374077a95dcc87e83e0e14·...·]-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="2698252818-1">(</span><span·class="p"·data-group-id="2698252818-2">[</span><span·class="p"·data-group-id="2698252818-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:·8aef13a88e99a69bb5f700f1441b5d907cd1c8c24223202365b954ef779ff518·...·]-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="1104839902-1">(</span><span·class="p"·data-group-id="1104839902-2">[</span><span·class="p"·data-group-id="1104839902-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:·834ecb65da820e3f4b19837f72da23c73e1f7a2d3615bc687d19f6337595aedd·...·]-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="0995482077-1">(</span><span·class="ss">et_trace_demo</span><span·class="p"·data-group-id="0995482077-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="9316504461-1">(</span><span·class="ss">et_trace_demo</span><span·class="p"·data-group-id="9316504461-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="0995482077-2">(</span><span·class="p"·data-group-id="0995482077-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0995482077-3">]</span><span·class="p"·data-group-id="0995482077-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="9316504461-2">(</span><span·class="p"·data-group-id="9316504461-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9316504461-3">]</span><span·class="p"·data-group-id="9316504461-2">)</span><span·class="p">.</span><span·class="w">
  
261 </span><span·class="nf">test</span><span·class="p"·data-group-id="0995482077-4">(</span><span·class="p"·data-group-id="0995482077-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="9316504461-4">(</span><span·class="p"·data-group-id="9316504461-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="0995482077-5">(</span><span·class="p"·data-group-id="0995482077-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="9316504461-5">(</span><span·class="p"·data-group-id="9316504461-6">[</span><span·class="w">
263 ········</span><span·class="p"·data-group-id="0995482077-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="0995482077-7">}</span><span·class="p">,</span><span·class="w">263 ········</span><span·class="p"·data-group-id="9316504461-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="9316504461-7">}</span><span·class="p">,</span><span·class="w">
264 ········</span><span·class="p"·data-group-id="0995482077-8">{</span><span·class="ss">trace_global</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="0995482077-8">}</span><span·class="p">,</span><span·class="w">264 ········</span><span·class="p"·data-group-id="9316504461-8">{</span><span·class="ss">trace_global</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="9316504461-8">}</span><span·class="p">,</span><span·class="w">
265 ········</span><span·class="p"·data-group-id="0995482077-9">{</span><span·class="nb">trace_pattern</span><span·class="p">,</span><span·class="p"·data-group-id="0995482077-10">{</span><span·class="ss">et</span><span·class="p">,</span><span·class="ss">max</span><span·class="p"·data-group-id="0995482077-[·...·truncated·by·diffoscope;·len:·53,·SHA:·92a469a373f6a8d6e151c703c076a4c63beac78ce14d4a9f7b9b9259b7171abc·...·]-9">}</span><span·class="p">,</span><span·class="w">265 ········</span><span·class="p"·data-group-id="9316504461-9">{</span><span·class="nb">trace_pattern</span><span·class="p">,</span><span·class="p"·data-group-id="9316504461-10">{</span><span·class="ss">et</span><span·class="p">,</span><span·class="ss">max</span><span·class="p"·data-group-id="9316504461-[·...·truncated·by·diffoscope;·len:·53,·SHA:·1cd86ba77c302d4cf86f03cef9cbf82f455c5eb44b1c1c4e73f22780be586ac2·...·]-9">}</span><span·class="p">,</span><span·class="w">
266 ········</span><span·class="p"·data-group-id="0995482077-11">{</span><span·class="ss">max_actors</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="0995482077-11">}</span><span·class="w">266 ········</span><span·class="p"·data-group-id="9316504461-11">{</span><span·class="ss">max_actors</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="9316504461-11">}</span><span·class="w">
267 ······</span><span·class="p"·data-group-id="0995482077-6">]</span><span·class="p"·data-group-id="0995482077-5">)</span><span·class="p">,</span><span·class="w">267 ······</span><span·class="p"·data-group-id="9316504461-6">]</span><span·class="p"·data-group-id="9316504461-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="0995482077-12">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="0995482077-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="9316504461-12">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="9316504461-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="0995482077-13">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="0995482077-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="9316504461-13">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="9316504461-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="0995482077-14">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="0995482077-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="9316504461-14">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="9316504461-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="0995482077-15">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="0995482077-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="9316504461-15">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="9316504461-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="0995482077-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:·ad4e12ea54b933457f1f836770b45709584149979faa0e7c79910e977a2e924c·...·]-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="9316504461-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:·d5d566bd325b3fd95ed0c9367c5a33343759ce4b708b8c2f61428265ab258ccc·...·]-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="0995482077-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:·f76aaad81f3023df4cd233e7d891fa6b99f2acff417a10e50dea5929360d0cf5·...·]-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="9316504461-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:·6dd866efe6bf7423aa6339c89c40340afce2fe7632747071efa54b38dab3ef18·...·]-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="0995482077-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:·400f75c3d42a051f2e6f1b1cb692afd1ab4827c693d4947ca020e3eeb097253f·...·]-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="9316504461-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:·339acef659b1b0ba74bf192eb655a17ddd8f245988942cd0a4943af6bc61a6e8·...·]-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="0995482077-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:·f071e07285ad3cc25cca41b38c147c80ba0a2a55ab3a955be0f129f2d39952f9·...·]-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="9316504461-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:·2a13352971adee1d28d499667907bd0692c6053ed04c1fea970e17da686651f5·...·]-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="0995482077-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:·90e45043c6420dac9806b7017d022352ddb85e99b43011ded21954c017d5df18·...·]-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="9316504461-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:·7370894779788d9083825f63ad8cd97bcd7b8e502dde98fef291e7af3e31c134·...·]-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="0995482077-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:·e000ae99939c16c26e943881266405e66c26447a116be13ed786a62cb578098f·...·]-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="9316504461-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:·74ca0eabb922bebf5608288102c8ff5dc6867c11ef08950f269d77710ea87bb0·...·]-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="0995482077-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:·9ac4bfa6a996a37ab99ffd218d1baa73d5fd5deb1655243a4fae968a14f10f72·...·]-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="9316504461-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:·28b09a9026c8fb8eb8bc18df36e31e260b860de7e3ec3931b84675d9eafa9532·...·]-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="0995482077-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:·6ab01484198fbfa696b9ad40fb0b81aba81967e09b2cab3c2dd7862ab1b5bae4·...·]-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="9316504461-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:·2337388fea56fb4d544f65539e6ea8395ced0221d3ad5580b2da6f929d6a8d91·...·]-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="0995482077-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:·4ab69280e742ef8d54dce0a63e47b32978f3248f4c43c563f6cdf070d90d422a·...·]-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="9316504461-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:·9b5686b713d41b5133eddd9fce831baedf8850920e0535b067aee62c4e63d470·...·]-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="0995482077-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:·a9afb1bbaf43f0cf7fbe4f2906981ce7f35bfda73c1fbcc08d83b3f946d60cf5·...·]-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="9316504461-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:·352cbe74afe81ef84fdc882938d3c7ff1b2fed3b1c4d683a6eaf17336091febc·...·]-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="0995482077-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:·cd5daaac1f0683d7ffa35e9d23149e120c10de3438f8a92e306fa00550b40289·...·]-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="9316504461-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:·221f3373fbb2d2de724bd7bc16ed305539fc7e4318d0e3ce46c4c02298aa168d·...·]-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="0995482077-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:·e118357f357017ce33487a775c3e6bb8d29da38143e1ebdb17faa6c43d598e3f·...·]-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="9316504461-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:·786f990fdd51ca61a174e27ca200b40454e2586c213ac4adf1c84e86a051393d·...·]-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="0995482077-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:·3b20b5e778e4f1af5c8661833248a599d6b6666a2fa327f1b0ccc129ae72f397·...·]-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="9316504461-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:·eea111b43d7c546895ec2b18ae17cf6e9d7554dcd68ac3272df737b4fc31fb80·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>338 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>554 <p>Copyright·©·1996-2025·<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.1/doc/html/notes.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>551 <p>Copyright·©·1996-2025·<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;
734 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
609 B
./usr/share/doc/erlang-doc/html/lib/eunit-2.9.1/doc/html/.build
    
Offset 15, 14 lines modifiedOffset 15, 14 lines modified
15 dist/lato-latin-300-normal-YUMVEFOL.woff215 dist/lato-latin-300-normal-YUMVEFOL.woff2
16 dist/lato-latin-400-normal-W7754I4D.woff216 dist/lato-latin-400-normal-W7754I4D.woff2
17 dist/lato-latin-700-normal-2XVSBPG4.woff217 dist/lato-latin-700-normal-2XVSBPG4.woff2
18 dist/lato-latin-ext-300-normal-VPGGJKJL.woff218 dist/lato-latin-ext-300-normal-VPGGJKJL.woff2
19 dist/lato-latin-ext-400-normal-N27NCBWW.woff219 dist/lato-latin-ext-400-normal-N27NCBWW.woff2
20 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff220 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
21 dist/remixicon-NKANDIL5.woff221 dist/remixicon-NKANDIL5.woff2
22 dist/search_data-9EC16955.js22 dist/search_data-8A6DA255.js
23 dist/sidebar_items-3A2D003A.js23 dist/sidebar_items-3A2D003A.js
24 eunit.html24 eunit.html
25 eunit_surefire.html25 eunit_surefire.html
26 index.html26 index.html
27 notes.html27 notes.html
28 search.html28 search.html
1.46 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.9.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.9.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>196 <p>Copyright·©·1996-2025·<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.9.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>795 <p>Copyright·©·1996-2025·<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
42.8 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.9.1/doc/html/eunit.epub
2.11 KB
zipinfo {}
Max HTML report size reached
39.0 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·Jul·06·2026·03:09:02,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:58:00,·uncompressed·size·20,·method=store
1.2 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.9.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>343 <p>Copyright·©·1996-2025·<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.9.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>159 <p>Copyright·©·1996-2025·<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
1.66 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.9.1/doc/html/notes.html
    
Offset 769, 15 lines modifiedOffset 769, 15 lines modified
769 ······<p·class="built-using">769 ······<p·class="built-using">
770 ········Built·using770 ········Built·using
771 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the771 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
772 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>772 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
773 ······</p>773 ······</p>
774 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>774 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
775 ····</footer>775 ····</footer>
776 ··</div>776 ··</div>
777 </main>777 </main>
778 </div>778 </div>
779 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>779 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
780 ··<script>780 ··<script>
781 ··let·initialized·=·false;781 ··let·initialized·=·false;
865 B
html2text {}
Max HTML report size reached
1.75 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.9.1/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-9EC16955.js"></script>124 <script·src="dist/search_data-8A6DA255.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/ftp-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2025·<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
54.7 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.3/doc/html/ftp.epub
2.11 KB
zipinfo {}
Max HTML report size reached
39.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·Jul·06·2026·03:09:14,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:58:08,·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.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1845 <p>Copyright·©·1996-2025·<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.3/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="2054840801-1">(</span><span·class="p"·data-group-id="2054840801-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="3044707047-1">(</span><span·class="p"·data-group-id="3044707047-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="2054840801-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="2054840801-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·497,·SHA:·307cc6ff3e8b58be3068381917390a7ad0b6f7e3883d89edb20492a10a6e802d·...·]-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="3044707047-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="3044707047-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·497,·SHA:·09475bb787ffd298120c1e078581ecbd532a152c82796979982254327272a4a0·...·]-3">)</span><span·class="p">.</span><span·class="w">
129 ······</span><span·class="p"·data-group-id="2054840801-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="2054840801-6">}</span><span·class="w">129 ······</span><span·class="p"·data-group-id="3044707047-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="3044707047-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="2054840801-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:·876e1b8a7a1a21abab60fb731882f4748b65b076691285d637d002d5b6b53ec6·...·]-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="3044707047-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:·d38ddf5298772a4b669bcea1a26e1615a9d573003be868cda31ab9687e37246f·...·]-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="2054840801-8">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="2054840801-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="3044707047-8">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="3044707047-8">)</span><span·class="p">.</span><span·class="w">
133 ······</span><span·class="p"·data-group-id="2054840801-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="2054840801-9">}</span><span·class="w">133 ······</span><span·class="p"·data-group-id="3044707047-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="3044707047-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="2054840801-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="2054840801-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="3044707047-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="3044707047-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="2054840801-11">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="2054840801-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="3044707047-11">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="3044707047-11">)</span><span·class="p">.</span><span·class="w">
137 ······</span><span·class="p"·data-group-id="2054840801-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="2054840801-12">}</span><span·class="p">.</span><span·class="w">137 ······</span><span·class="p"·data-group-id="3044707047-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="3044707047-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="2054840801-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="2054840801-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="3044707047-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="3044707047-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="2054840801-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="2054840801-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="3044707047-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="3044707047-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="2054840801-15">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="2054840801-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="3044707047-15">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="3044707047-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="2054840801-16">(</span><span·class="p"·data-group-id="2054840801-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="3044707047-16">(</span><span·class="p"·data-group-id="3044707047-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>192 <p>Copyright·©·1996-2025·<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.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>182 <p>Copyright·©·1996-2025·<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.3/doc/html/notes.html
    
Offset 452, 15 lines modifiedOffset 452, 15 lines modified
452 ······<p·class="built-using">452 ······<p·class="built-using">
453 ········Built·using453 ········Built·using
454 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the454 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
455 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>455 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
456 ······</p>456 ······</p>
457 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>457 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
458 ····</footer>458 ····</footer>
459 ··</div>459 ··</div>
460 </main>460 </main>
461 </div>461 </div>
462 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>462 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
463 ··<script>463 ··<script>
464 ··let·initialized·=·false;464 ··let·initialized·=·false;
715 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.3.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>278 <p>Copyright·©·1996-2025·<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.3.2/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="0719916695-1">[</span><span·class="p"·data-group-id="0719916695-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0719916695-3">[</span><span·class="p"·data-group-id="0719916695-4">{</spa[·...·truncated·by·diffoscope;·len:·606,·SHA:·cf7f3f507b35c58e9d985c9f6e6ec5a9cc63544451dab25509a16be127a70320·...·]-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="5761649270-1">[</span><span·class="p"·data-group-id="5761649270-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5761649270-3">[</span><span·class="p"·data-group-id="5761649270-4">{</spa[·...·truncated·by·diffoscope;·len:·606,·SHA:·77c62cefa2c6e4b6f4f92f53f5e089be3847778da69b31d8c42660f9e5743cbf·...·]-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="6502177078-1">(</span><span·class="p"·data-group-id="6502177078-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="3696900839-1">(</span><span·class="p"·data-group-id="3696900839-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="1279863608-1">(</span><span·class="p"·data-group-id="1279863608-2">[</span><span·class="p"·data-group-id="1279863608-3">{</span><span·class="ss">proxy</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1279863608-4">{</spa[·...·truncated·by·diffoscope;·len:·230,·SHA:·53327e36660edc5fb2103fdaa4b223111fee759f452998304dc084cb33319a5e·...·]-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="7393156966-1">(</span><span·class="p"·data-group-id="7393156966-2">[</span><span·class="p"·data-group-id="7393156966-3">{</span><span·class="ss">proxy</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7393156966-4">{</spa[·...·truncated·by·diffoscope;·len:·230,·SHA:·0cc6c48d0a9a46e81f3280dbd19229e1e985ea6df7435386a48903e77f7ff5b9·...·]-5">}</span><span·class="p">,</span><span·class="w">
151 </span><span·class="p"·data-group-id="1279863608-6">[</span><span·class="s">&quot;localhost&quot;</span><span·class="p"·data-group-id="1279863608-6">]</span><span·class="p"·data-group-id="1279863608-4">}</span><span·class="p"·data-group-id="1279863608-3">}</span><span·class="p"·data-group-id="1279863608-2">]</span><span·class="p"·data-group-id="1279863608-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="7309419127-1">{</span><span·class="ss">ok</span><spa[·...·truncated·by·diffoscope;·len:·691,·SHA:·e2e25cf3b08450ce936b3b6d4a36b1c3a5d767792e4e5fadbb2f6a83e31a59fb·...·]</span><span·class="w">151 </span><span·class="p"·data-group-id="7393156966-6">[</span><span·class="s">&quot;localhost&quot;</span><span·class="p"·data-group-id="7393156966-6">]</span><span·class="p"·data-group-id="7393156966-4">}</span><span·class="p"·data-group-id="7393156966-3">}</span><span·class="[·...·truncated·by·diffoscope;·len:·110,·SHA:·29ec5a9942fa0487e6f53721f6b77b7236620bfa08b9027f0753dbb672b5c405·...·]</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="2612417827-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2612417827-2">{</span><span·class="p"·data-group-id="2612417827-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="2612417827-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="2612417827-2">}</span><span·class="p"·data-group-id="2612417827-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="7309419127-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7309419127-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:·504,·SHA:·b535655d44ec0f06254d3442f0470bc36c6710becc7cffc8a9c2defbcc99f520·...·]27-4">)</span><span·class="p">.</span></code></pre><p>With·all·the·default·values·presented,·a·get·request·can·also·be·written·as153 </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="2612417827-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2612417827-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:·504,·SHA:·cc4b26db35927303bbd1223b674b9da7c4946ce8d303b94597d3f4bbe60dff9d·...·]27-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="0570181954-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0570181954-2">{</span><span·class="p"·data-group-id="0570181954-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="0570181954-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="0570181954-2">}</span><span·class="p"·data-group-id="0570181954-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="0570181954-4">(</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p"·data-group-id="0570181954-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="9407632779-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9407632779-2">{</span><span·class="p"·data-group-id="9407632779-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="9407632779-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="9407632779-2">}</span><span·class="p"·data-group-id="9407632779-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="9407632779-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9407632779-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="9407632779-6">[</span><span·class="p"·data-group-id="9407632779-6">]</span><span·class="p"·data-group-id="9407632779-5">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9407632779-7">[</span><span·class="p"·data-group-id="9407632779-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="9407632779-9">(</span><span·class="ss">true</span><span·class="p"·data-group-id="9407632779-9">)</span><span·class="p"·data-group-id="9407632779-8">}</span><span·class="p"·data-group-id="9407632779-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9407632779-10">[</span><span·class="p"·data-group-id="9407632779-10">]</span><span·class="p"·data-group-id="9407632779-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="2042151798-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="2042151798-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="2042151798-2">(</span><span·class="nb">get</span><span·class="[·...·truncated·by·diffoscope;·len:·1144,·SHA:·4ce34cc99d3f98d8030f27cc3797c96adf8a4c410456c2ed71f61ef58e5befbd·...·]154 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="p"·data-group-id="1558464638-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·644,·SHA:·ea3d751f82768b3d65d57e94cbdf126666abd33ecf1c974389221ae08dbd32e1·...·]
 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="1558464638-4">(</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p"·data-group-id="1558464638-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="1263296140-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1263296140-2">{</span><span·class="p"·data-group-id="1263296140-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="1263296140-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="1263296140-2">}</span><span·class="p"·data-group-id="1263296140-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="1263296140-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1263296140-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="1263296140-6">[</span><span·class="p"·data-group-id="1263296140-6">]</span><span·class="p"·data-group-id="1263296140-5">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1263296140-7">[</span><span·class="p"·data-group-id="1263296140-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="1263296140-9">(</span><span·class="ss">true</span><span·class="p"·data-group-id="1263296140-9">)</span><span·class="p"·data-group-id="1263296140-8">}</span><span·class="p"·data-group-id="1263296140-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1263296140-10">[</span><span·class="p"·data-group-id="1263296140-10">]</span><span·class="p"·data-group-id="1263296140-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="3530534435-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="3530534435-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="3530534435-2">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3530534435-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="3530534435-4">[</span><span·class="p"·data-group-id="3530534435-4">]</span><span·class="p"·data-group-id="3530534435-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3530534435-5">[</span><span·class="p"·data-group-id="3530534435-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3530534435-6">[</span><span·class="p"·data-group-id="3530534435-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="3530534435-7">}</span><span·class="p"·data-group-id="3530534435-6">]</span><span·class="p"·data-group-id="3530534435-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="1895682437-1">{</span><span·class="ss">http</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1895682437-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:·52a5abfcf45b72fbd8194f835e81c2ef1504a72f99ff14ef99eb5fbbd8004f17·...·]-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="2792387985-1">{</span><span·class="ss">http</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2792387985-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:·1b1f9c411b8a062a84143db97619afcb46b50b619eec6634902b7057a567f7ec·...·]-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="1462855021-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1462855021-2">{</span><span·class="p"·data-group-id="1462855021-3">{</span><span·class="n">NewVersion</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">NewReasonPhrase</span><span·class="p"·data-group-id="1462855021-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NewHeaders</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NewBody</span><span·class="p"·data-group-id="1462855021-2">}</span><span·class="p"·data-group-id="1462855021-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="1462855021-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1462855021-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="1462855021-6">[</span><span·class="p"·data-group-id="1462855021-7">{</span><span·class="s">&quot;connection&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;close&quot;</span><span·class="p"·data-group-id="1462855021-7">}</span><span·class="p"·data-group-id="1462855021-6">]</span><span·class="p"·data-group-id="1462855021-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="1462855021-8">[</span><span·class="p"·data-group-id="1462855021-8">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1462855021-9[·...·truncated·by·diffoscope;·len:·1167,·SHA:·d5990b9af6fa60ecf089a9976fba66125058fee82f91b692ebd47a908243f228·...·]">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="4564314236-1">{</span><span·class="ss">ok</sp[·...·truncated·by·diffoscope;·len:·731,·SHA:·7e4f5fe1e7ec7d551a292d03bb1617ffade741f97e33dccb77fa47330e334a7f·...·]">
 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="4564314236-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4564314236-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="4564314236-6">[</span><span·class="p"·data-group-id="4564314236-7">{</span><span·class="s">&quot;connection&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;close&quot;</span><span·class="p"·data-group-id="4564314236-7">}</span><span·class="p"·data-group-id="4564314236-6">]</span><span·class="p"·data-group-id="4564314236-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="4564314236-8">[</span><span·class="p"·data-group-id="4564314236-8">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4564314236-9">[</span><span·class="p"·data-group-id="4564314236-9">]</span><span·class="p"·data-group-id="4564314236-4">)</span><span·class="p">.</span></code></pre><p>This·sends·an·HTTP·request·over·a·unix·domain·socket·(experimental):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">9&gt;·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">set_options</span><span·class="p"·data-group-id="8442756089-1">(</span><span·class="p"·data-group-id="8442756089-2">[</span><span·class="p"·data-group-id="8442756089-3">{</span><span·class="ss">ipfamily</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">local</span><span·class="p"·data-group-id="8442756089-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8442756089-4">{</span><span·class="ss">unix_socket</span><span·class="p">,</span><span·class="s">&quot;/tmp/unix_socket/consul_http.sock&quot;</span><span·class="p"·data-group-id="8442756089-4">}</span><span·class="p"·data-group-id="8442756089-2">]</span><span·class="p"·data-group-id="8442756089-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
162 10&gt;·</span><span·class="p"·data-group-id="3458230950-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3458230950-6">{</span><span·class="p"·data-group-id="3458230950-7">{</span><span·class="n">NewVersion</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·446,·SHA:·a477eae5cb959fc2df974ac87d523930f2cdac09bc1e1552f69c4390a4354037·...·]-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">162 10&gt;·</span><span·class="p"·data-group-id="8442756089-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8442756089-6">{</span><span·class="p"·data-group-id="8442756089-7">{</span><span·class="n">NewVersion</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·446,·SHA:·913b9034d69298a28523efaab279dd7f8e7c098633b28382f5273e22af72f666·...·]-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="3458230950-8">(</span><span·class="nb">put</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3458230950-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:·e5550c3dfa8c2a23bfba869648d0410e05b076fa7ff5034293e3f8d985dee99c·...·]-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="8442756089-8">(</span><span·class="nb">put</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8442756089-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:·f66fac11c64fe52c6241ff13eeb710e1c24599f43731f46e5d23ab6838b7abbe·...·]-2">)</span><span·class="p">.</span><span·class="w">
164 </span><span·class="p"·data-group-id="8573986149-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:·512,·SHA:·893709f81634ffcf63554724889815e6357b52715cd4646f3c013466495a824f·...·]-1">)</span><span·class="p">.</span><span·class="w">164 </span><span·class="p"·data-group-id="8041479674-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:·512,·SHA:·c8fbd9085f7d41beb2cd15b39d988dc9baf1a4f753c915a95e765b0d733a0d58·...·]-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="5707632299-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="5707632299-2">}</span></code></pre><p>Stop·the·HTTP·client·profile:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">12&gt;·</span><span·class="nc">inets</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="8931756363-1">(</span><span·class="ss">httpc</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p"·data-group-id="8931756363-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><s[·...·truncated·by·diffoscope;·len:·195,·SHA:·19acd8363ce79d678cf64c9e6897b21117035d2d6fafa84f677c404b600364f5·...·]-1">)</span><span·class="p">.</span><span·class="w">165 </span><span·class="p"·data-group-id="1533212700-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="1533212700-2">}</span></code></pre><p>Stop·the·HTTP·client·profile:</p><[·...·truncated·by·diffoscope;·len:·370,·SHA:·1e77d777eb185af0b2de22ff2fcbb7641942d12caae95e9ddd45eaa1283506f4·...·]-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="7444097531-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="7444097531-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>216 <p>Copyright·©·1996-2025·<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.7 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.3.2/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="5725566141-1">[</span><span·class="p"·data-group-id="5725566141-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5725566141-3">[</span><span·class="p"·data-group-id="5725566141-4">{</span><span·class="ss">services</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5725566141-5">[</span><span·class="p"·data-group-id="5725566141-6">{</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5725566141-7">[</span><span·class="p"·data-group-id="5725566141-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="5725566141-8">}</span><span·class="p"·data-group-id="5725566141-7">]</span><span·class="p"·data-group-id="5725566141-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="7991523619-1">[</span><span·class="p"·data-group-id="7991523619-2">{</span><span·class="ss">inets</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·528,·SHA:·32b120f06f3875364e797b61956814421bd2c7edc0a7cdca1281b5725989b5df·...·]</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="7991523619-8">}</span><span·class="p"·data-group-id="7991523619-7">]</span><span·class="p"·data-group-id="7991523619-6">}</span><span·class="p">,</span><span·class="w">
146 ··········</span><span·class="p"·data-group-id="5725566141-9">{</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5725566141-10">[</span><span·class="p"·data-group-id="5725566141-11">{</span><span·class="ss">proplist_file</span><span·class="p">,</span><span·class="w">146 ··········</span><span·class="p"·data-group-id="7991523619-9">{</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7991523619-10">[</span><span·class="p"·data-group-id="7991523619-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="5725566141-11">}</span><span·class="p"·data-group-id="5725566141-10">]</span><span·class="p"·data-group-id="5725566141-9">}</span><span·class="p"·data-group-id="5725566141-5">]</span><span·class="p"·data-group-id="5725566141-4">}</span><span·class="p"·data-group-id="5725566141-3">]</span><span·class="p"·data-group-id="5725566141-2">}</span><span·class="p"·data-group-id="5725566141-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="9709382742-1">(</span><span·class="p"·data-group-id="9709382742-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9709382742-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="9709382742-3">(</span><span·class="p"·data-group-id="9709382742-3">)</span><span·class="p"·data-group-id="9709382742-2">}</span><span·class="w"> 
149 </span><span·class="nf">httpd</span><span·class="p"·data-group-id="9709382742-4">(</span><span·class="p"·data-group-id="9709382742-4">)</span><span·class="w">·········</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9709382742-5">[</span><span·class="nf">httpd_config</span><span·class="p"·data-group-id="9709382742-6">(</span><span·class="p"·data-group-id="9709382742-6">)</span><span·class="p"·data-group-id="9709382742-5">]</span><span·class="w"> 
150 </span><span·class="nf">httpd_config</span><span·class="p"·data-group-id="9709382742-7">(</span><span·class="p"·data-group-id="9709382742-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:·c4ee0a9a4f48f5768c88e0549f773c8a28ba45d279a8f91432190b96194a50fa·...·]147 ···········</span><span·class="s">&quot;/var/tmp/server_root/conf/8080_props.conf&quot;</span><span·class="p"·data-group-id="7991523619-11">}</span><span·class="p"·data-group-id="7991523619-10">]</span><span·class="p"·data-group-id="7991523619-9">}</span><[·...·truncated·by·diffoscope;·len:·377,·SHA:·c347f73c6400ecdc328c5784f1cf83c26da05104e6fac0771607f068b0951a8b·...·]
 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="5522712579-1">(</span><span·class="p"·data-group-id="5522712579-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5522712579-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="5522712579-3">(</span><span·class="p"·data-group-id="5522712579-3">)</span><span·class="p"·data-group-id="5522712579-2">}</span><span·class="w">
 149 </span><span·class="nf">httpd</span><span·class="p"·data-group-id="5522712579-4">(</span><span·class="p"·data-group-id="5522712579-4">)</span><span·class="w">·········</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5522712579-5">[</span><span·class="nf">httpd_config</span><span·class="p"·data-group-id="5522712579-6">(</span><span·class="p"·data-group-id="5522712579-6">)</span><span·class="p"·data-group-id="5522712579-5">]</span><span·class="w">
 150 </span><span·class="nf">httpd_config</span><span·class="p"·data-group-id="5522712579-7">(</span><span·class="p"·data-group-id="5522712579-7">)</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5522712579-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="5522712579-9">(</span><span·class="p"·data-group-id="5522712579-9">)</span><span·class="p"·data-group-id="5522712579-8">}</span><span·class="w">
151 ···················</span><span·class="p"·data-group-id="9709382742-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="9709382742-11">(</span><span·class="p"·data-group-id="9709382742-11">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·18b5726d9c6e8c8711cd2b13a319461e5c804907739eaf73dad0aa03a495438a·...·]-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">151 ···················</span><span·class="p"·data-group-id="5522712579-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="5522712579-11">(</span><span·class="p"·data-group-id="5522712579-11">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·0d8850bc86ce687acb1c3034fe067d69d6d549bef378ad7cd03bd0eb64882aa3·...·]-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
152 ···················</span><span·class="p"·data-group-id="9709382742-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="9709382742-13">(</span><span·class="p"·data-group-id="9709382742-13">)</span><span·class="p"·data-group-id="9709382742-12">}</span><span·class="w"> 
153 </span><span·class="nf">debug</span><span·class="p"·data-group-id="9709382742-14">(</span><span·class="p"·data-group-id="9709382742-14">)</span><span·class="w">·········</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">disable</sp[·...·truncated·by·diffoscope;·len:·321,·SHA:·40528edc088ad610ab88ef23cac34032fae4cf67a73d425a563fb63e321f39e7·...·]</span><span·class="w">152 ···················</span><span·class="p"·data-group-id="5522712579-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="5522712579-13">(</span><span[·...·truncated·by·diffoscope;·len:·96,·SHA:·eb19ecfa6f919f86aa61eacfe138c243cae3d53ed6e806d6da05ebe3706ae3f0·...·]</span><span·class="w">
 153 </span><span·class="nf">debug</span><span·class="p"·data-group-id="5522712579-14">(</span><span·class="p"·data-group-id="5522712579-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="5522712579-15">[</span><span·class="nf">debug_options</span><span·class="p"·data-group-id="5522712579-16">(</span><span·class="p"·data-group-id="5522712579-16">)</span><span·class="p"·data-group-id="5522712579-15">]</span><span·class="w">
154 </span><span·class="nf">debug_options</span><span·class="p"·data-group-id="9709382742-17">(</span><span·class="p"·data-group-id="9709382742-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9709382742-18">{</span><span·class="ss">all_functions</span><span·class=[·...·truncated·by·diffoscope;·len:·216,·SHA:·b3c0082ca732f81e2bd9c4e42bcddc037362265dfd958f38f2f9c9b437a6cff4·...·]-18">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">154 </span><span·class="nf">debug_options</span><span·class="p"·data-group-id="5522712579-17">(</span><span·class="p"·data-group-id="5522712579-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5522712579-18">{</span><span·class="ss">all_functions</span><span·class=[·...·truncated·by·diffoscope;·len:·216,·SHA:·ba5992a64211279fdeb2b9f029d088c4a321750582d89f8d087113b9cc88317d·...·]-18">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
155 ···················</span><span·class="p"·data-group-id="9709382742-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="9709382742-21">(</span><span·class="p"·data-group-id="9709382742-21">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·c41b4e90e3c62c9da0494d4241f1dc02e4cc1af66f8a8e9803a7ed71e7519a7c·...·]-20">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">155 ···················</span><span·class="p"·data-group-id="5522712579-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="5522712579-21">(</span><span·class="p"·data-group-id="5522712579-21">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·41d52a123e272a63d305205015563def4717f32f19548f0e21b33da13299a560·...·]-20">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
156 ···················</span><span·class="p"·data-group-id="9709382742-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="9709382742-23">(</span><span·class="p"·data-group-id="9709382742-23">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·f617028447b19f3dba7d639b3b20f90abb668afe798fd301c12ace5f6a937646·...·]-22">}</span><span·class="w">156 ···················</span><span·class="p"·data-group-id="5522712579-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="5522712579-23">(</span><span·class="p"·data-group-id="5522712579-23">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·fa5aa24ece6fdc5e6a4af263dd32df40958ed9fa4ba3ed73f225c866665aa7cf·...·]-22">}</span><span·class="w">
157 </span><span·class="nf">modules</span><span·class="p"·data-group-id="9709382742-24">(</span><span·class="p"·data-group-id="9709382742-24">)</span><span·class="w">·······</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9709382742-25">[</span><span·class="nf">atom</span><span·class="p"[·...·truncated·by·diffoscope;·len:·134,·SHA:·1a126ff786c9953f634d4151d90c8e85967ba22c4e287624bdc873322dec44e4·...·]-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="5522712579-24">(</span><span·class="p"·data-group-id="5522712579-24">)</span><span·class="w">·······</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5522712579-25">[</span><span·class="nf">atom</span><span·class="p"[·...·truncated·by·diffoscope;·len:·134,·SHA:·0fa12a4f697045615fecbcf43b395e89932e2501ff44001e811d5c06cd458cfb·...·]-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="1046352524-1">(</span><span·class="p"·data-group-id="1046352524-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="7053598599-1">(</span><span·class="p"·data-group-id="7053598599-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="1350123283-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="1350123283-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·703,·SHA:·f650da437e506e5ae8ab2983b8e0b84b1518a9193f13a0b090330d043a4315b6·...·]-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="0919881067-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="0919881067-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·703,·SHA:·4d4621fe66aad94fbbf37797f833fab236abff9675bcd1dd2256c435cc775036·...·]-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="1350123283-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="1350123283-6">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·302,·SHA:·c7545ad55df40cbde044195b05aa14a15d105ddd6c00f149bc3dd6d4c2f3f219·...·]-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="0919881067-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="0919881067-6">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·302,·SHA:·96eccb4aa646da5b6670dc4113f01454194820de4923c9337977be508d56f06a·...·]-2">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="p"·data-group-id="1350123283-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="1350123283-8">}</span></code></pre><p>Call·<code·cla[·...·truncated·by·diffoscope;·len:·320,·SHA:·a143d58b47b2f1efd5f96c57866e4d8001d582f40e25779efa77abd412cee43a·...·]-1">)</span><span·class="p">.</span><span·class="w">171 </span><span·class="p"·data-group-id="0919881067-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="0919881067-8">}</span></code></pre><p>Call·<code·cla[·...·truncated·by·diffoscope;·len:·320,·SHA:·f706ef12bc4d5dc1fbb2c39b39bc294c9e9d8ab8cb1313a8c50f9d3efa453344·...·]-1">)</span><span·class="p">.</span><span·class="w">
172 </span><span·class="p"·data-group-id="5093095440-2">[</span><span·class="p"·data-group-id="5093095440-3">{</span><span·class="ss">mime_types</span><span·class="p">,</span><span·class="p"·data-group-id="5093095440-4">[</span><span·class="p"·data-group-id="5093095440-5">{</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·473,·SHA:·00f2648bf6ca134ead91bb2d08a70270f7cb76af8b6f90a629908b0ab982e79d·...·]-3">}</span><span·class="p">,</span><span·class="w">172 </span><span·class="p"·data-group-id="6002595807-2">[</span><span·class="p"·data-group-id="6002595807-3">{</span><span·class="ss">mime_types</span><span·class="p">,</span><span·class="p"·data-group-id="6002595807-4">[</span><span·class="p"·data-group-id="6002595807-5">{</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·473,·SHA:·96f6bfddf7970981f45477ad44058045a9cc6f3650d770797bd8c9316d9314a3·...·]-3">}</span><span·class="p">,</span><span·class="w">
173 ·</span><span·class="p"·data-group-id="5093095440-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="5093095440-7">}</span><span·class="p">,</span><span·class="w">173 ·</span><span·class="p"·data-group-id="6002595807-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="6002595807-7">}</span><span·class="p">,</span><span·class="w">
174 ·</span><span·class="p"·data-group-id="5093095440-8">{</span><span·class="ss">bind_address</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5093095440-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:·4e35f0029f76fcbde1494b69cae6af7a67739066cae3de60552929c4f4c5e672·...·]-8">}</span><span·class="p">,</span><span·class="w">174 ·</span><span·class="p"·data-group-id="6002595807-8">{</span><span·class="ss">bind_address</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6002595807-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:·8da74ed46e9121726fc8c25a93f14d777caff3c67966a9fb80c7d6475fef2371·...·]-8">}</span><span·class="p">,</span><span·class="w">
175 ·</span><span·class="p"·data-group-id="5093095440-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="5093095440-10">}</span><span·class="p">,</span><span·class="w">175 ·</span><span·class="p"·data-group-id="6002595807-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="6002595807-10">}</span><span·class="p">,</span><span·class="w">
176 ·</span><span·class="p"·data-group-id="5093095440-11">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="mi">59408</span><span·class="p"·data-group-id="5093095440-11">}</span><span·class="p">,</span><span·class="w">176 ·</span><span·class="p"·data-group-id="6002595807-11">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="mi">59408</span><span·class="p"·data-group-id="6002595807-11">}</span><span·class="p">,</span><span·class="w">
177 ·</span><span·class="p"·data-group-id="5093095440-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="5093095440-12">}</span><span·class="p">,</span><span·class="w">177 ·</span><span·class="p"·data-group-id="6002595807-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="6002595807-12">}</span><span·class="p">,</span><span·class="w">
178 ·</span><span·class="p"·data-group-id="5093095440-13">{</span><span·class="ss">ipfamily</span><span·class="p">,</span><span·class="ss">inet</span><span·class="p"·data-group-id="5093095440-13">}</span><span·class="p"·data-group-id="5093095440-2">]</span></code></pre><p>Reload·the·configuration·w[·...·truncated·by·diffoscope;·len:·519,·SHA:·e35f0e1eb12107cdcf0073e75714754308291697a383b11d77bdfa9f5a0cef98·...·]-3">}</span><span·class="p">,</span><span·class="w">178 ·</span><span·class="p"·data-group-id="6002595807-13">{</span><span·class="ss">ipfamily</span><span·class="p">,</span><span·class="ss">inet</span><span·class="p"·data-group-id="6002595807-13">}</span><span·class="p"·data-group-id="6002595807-2">]</span></code></pre><p>Reload·the·configuration·w[·...·truncated·by·diffoscope;·len:·519,·SHA:·51f5753f067f06b7e300561693ac81f608b992ca3d840a06a76ded26a2ccece0·...·]-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="0603052479-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="0603052479-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·184,·SHA:·76539ffc9fa567d7754470ba96de492bcf69e32d44e284e0064d08365431e5be·...·]-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="6475658938-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="6475658938-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·184,·SHA:·f6777fa71ceb7ab82d4bda816d6ffb85c2cc359fd4c6ff5b78c57e7c9894abdc·...·]-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="0603052479-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="0603052479-6">}</span><span·class="p"·data-group-id="0603052479-2">]</span>[·...·truncated·by·diffoscope;·len:·127,·SHA:·3731426e8b7c4237fa414fd71760ac05bf6d1d016aef361e15ac410de510fb95·...·]-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="6475658938-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="6475658938-6">}</span><span·class="p"·data-group-id="6475658938-2">]</span>[·...·truncated·by·diffoscope;·len:·127,·SHA:·4e9c241ce1f463ec6696cb6340794ee5a61165883ddc689b544a713a75daf248·...·]-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="7233229743-1">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7233229743-2">[</span><span·class="ss">server_root</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">documen[·...·truncated·by·diffoscope;·len:·107,·SHA:·9ad7dcb735e63ab0557c61c59c9bd50df605a9b8da7231d9d907e5338ac55104·...·]-1">)</span><span·class="p">.</span><span·class="w">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="0734316108-1">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0734316108-2">[</span><span·class="ss">server_root</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">documen[·...·truncated·by·diffoscope;·len:·107,·SHA:·bbb62582e813d3a01ddbe2028cb1c199e4a943fc25b9c392f39141bbe37e79fa·...·]-1">)</span><span·class="p">.</span><span·class="w">
183 </span><span·class="p"·data-group-id="7233229743-3">[</span><span·class="p"·data-group-id="7233229743-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="7233229743-4">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·1730,·SHA:·6e5f3cda16a6eda308a5e50bf242c6d4e7eb0a0a41a01bc224819abe71473aa5·...·]-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>183 </span><span·class="p"·data-group-id="0734316108-3">[</span><span·class="p"·data-group-id="0734316108-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="0734316108-4">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·1730,·SHA:·373efea72b099c32a0f8efa3104799f7def4c98a8f0e5fd269529c4d0f10ccfa·...·]-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="1084186955-1">(</span><span·class="ss">mnesia_test</span><span·class="p"·data-group-id="1084186955-1">)</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="1074242324-1">(</span><span·class="ss">mnesia_test</span><span·class="p"·data-group-id="1074242324-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="1084186955-2">(</span><span·class="p"·data-group-id="1084186955-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[·...·truncated·by·diffoscope;·len:·95,·SHA:·74abb4cfd735dced303fc92e0aa84cd9f328e5d79da0ea373a04e1e4f617d6cc·...·]-2">)</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="1074242324-2">(</span><span·class="p"·data-group-id="1074242324-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[·...·truncated·by·diffoscope;·len:·95,·SHA:·04111d61bfad9c5dc7d6de3562af032b02bb1bc7358ef02c097ca7e5a5f6e5ab·...·]-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="1084186955-4">(</span><span·class="s">&quot;mod_auth.hrl&quot;</span><span·class="p"·data-group-id="1084186955-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="1074242324-4">(</span><span·class="s">&quot;mod_auth.hrl&quot;</span><span·class="p"·data-group-id="1074242324-4">)</span><span·class="p">.</span><span·class="w">
  
311 </span><span·class="nf">first_start</span><span·class="p"·data-group-id="1084186955-5">(</span><span·class="p"·data-group-id="1084186955-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="1074242324-5">(</span><span·class="p"·data-group-id="1074242324-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="1084186955-6">(</span><span·class="p"·data-group-id="1084186955-7">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1084186955-8">(</span><span·class="p"·data-group-id="1084186955-8">)</span><span·class="p"·data-group-id="1084186955-7">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·5f0118c41f3eb56726f20bef86dafe464627140cde9fb98d7ef469a19bab5743·...·]-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="1074242324-6">(</span><span·class="p"·data-group-id="1074242324-7">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1074242324-8">(</span><span·class="p"·data-group-id="1074242324-8">)</span><span·class="p"·data-group-id="1074242324-7">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·93f3152585cebb8f1a82cec6b9b6e797e5b17756487a8cfd7d3f91c6f52caf2c·...·]-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="1084186955-9">(</span><span·class="p"·data-group-id="1084186955-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="1074242324-9">(</span><span·class="p"·data-group-id="1074242324-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="1084186955-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="1074242324-10">(</span><span·class="ss">httpd_user</span><span·class="p">,</span><span·class="w">
315 ························</span><span·class="p"·data-group-id="1084186955-11">[</span><span·class="p"·data-group-id="1084186955-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="1084186955-12">}</span><span·class="p">,</span><span·class="w">315 ························</span><span·class="p"·data-group-id="1074242324-11">[</span><span·class="p"·data-group-id="1074242324-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="1074242324-12">}</span><span·class="p">,</span><span·class="w">
316 ·························</span><span·class="p"·data-group-id="1084186955-13">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1084186955-14">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1084186955-15">(</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·133,·SHA:·521803327c76d6029e21bf6474f5cc40fef7565bf4c6ffa975e1012929fb6131·...·]-13">}</span><span·class="p">,</span><span·class="w">316 ·························</span><span·class="p"·data-group-id="1074242324-13">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1074242324-14">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1074242324-15">(</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·133,·SHA:·e6d248fe46da9ece824e0cf0945c390156deedb1adb8e3dcde3e786496f37be1·...·]-13">}</span><span·class="p">,</span><span·class="w">
317 ·························</span><span·class="p"·data-group-id="1084186955-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="1084186955-17">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">317 ·························</span><span·class="p"·data-group-id="1074242324-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="1074242324-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="1084186955-17">)</span><span·class="p"·data-group-id="1084186955-16">}</span><span·class="p"·data-group-id="1084186955-11">]</span><span·class="p"·data-group-id="1084186955-10">)</span><span·class="p">,</span><span·class="w">318 ··················································</span><span·class="ss">httpd_user</span><span·class="p"·data-group-id="1074242324-17">)</span><span·class="p"·data-group-id="1074242324-16">}</span><span·class="p"·data-group-id="1074242324-11">]</span><span·class="p"·data-group-id="1074242324-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="1084186955-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="1074242324-18">(</span><span·class="ss">httpd_group</span><span·class="p">,</span><span·class="w">
320 ························</span><span·class="p"·data-group-id="1084186955-19">[</span><span·class="p"·data-group-id="1084186955-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="1084186955-20">}</span><span·class="p">,</span><span·class="w">320 ························</span><span·class="p"·data-group-id="1074242324-19">[</span><span·class="p"·data-group-id="1074242324-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="1074242324-20">}</span><span·class="p">,</span><span·class="w">
321 ·························</span><span·class="p"·data-group-id="1084186955-21">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1084186955-22">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1084186955-23">(</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·133,·SHA:·b6a696b66d79f8b0898839d55ec6119cf70bd3a217461c637e4a1d7454aa8dd7·...·]-21">}</span><span·class="p">,</span><span·class="w">321 ·························</span><span·class="p"·data-group-id="1074242324-21">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1074242324-22">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1074242324-23">(</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·133,·SHA:·cca34866e5cea1a4ad88d0b6703479a893b3821634f63bd399f5a238b05dc26c·...·]-21">}</span><span·class="p">,</span><span·class="w">
322 ·························</span><span·class="p"·data-group-id="1084186955-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="1084186955-25">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">322 ·························</span><span·class="p"·data-group-id="1074242324-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="1074242324-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="1084186955-25">)</span><span·class="p"·data-group-id="1084186955-24">}</span><span·class="p"·data-group-id="1084186955-19">]</span><span·class="p"·data-group-id="1084186955-18">)</span><span·class="p">,</span><span·class="w">323 ··················································</span><span·class="ss">httpd_group</span><span·class="p"·data-group-id="1074242324-25">)</span><span·class="p"·data-group-id="1074242324-24">}</span><span·class="p"·data-group-id="1074242324-19">]</span><span·class="p"·data-group-id="1074242324-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="1084186955-26">(</span><span·class="p"·data-group-id="1084186955-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="1084186955-27">]</span><span·clas[·...·truncated·by·diffoscope;·len:·108,·SHA:·36661da5b4d67544d4a58f2da40b5791d7553ce47f25ea5a8236f82a12527c36·...·]-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="1074242324-26">(</span><span·class="p"·data-group-id="1074242324-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="1074242324-27">]</span><span·clas[·...·truncated·by·diffoscope;·len:·108,·SHA:·de7810582cd8c2813f7fedfcdf5e3b5c6639d9fef4c2b9f05886e063123e85a3·...·]-26">)</span><span·class="p">.</span><span·class="w">
  
325 </span><span·class="nf">start</span><span·class="p"·data-group-id="1084186955-28">(</span><span·class="p"·data-group-id="1084186955-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="1074242324-28">(</span><span·class="p"·data-group-id="1074242324-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="1084186955-29">(</span><span·class="p"·data-group-id="1084186955-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="1074242324-29">(</span><span·class="p"·data-group-id="1074242324-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="1084186955-30">(</span><span·class="p"·data-group-id="1084186955-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="1084186955-31">]</span><span·clas[·...·truncated·by·diffoscope;·len:·108,·SHA:·36661da5b4d67544d4a58f2da40b5791d7553ce47f25ea5a8236f82a12527c36·...·]-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="1074242324-30">(</span><span·class="p"·data-group-id="1074242324-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="1074242324-31">]</span><span·clas[·...·truncated·by·diffoscope;·len:·108,·SHA:·de7810582cd8c2813f7fedfcdf5e3b5c6639d9fef4c2b9f05886e063123e85a3·...·]-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.23.5/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.23.5/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.23.5/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.23.5/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>486 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>282 <p>Copyright·©·1996-2025·<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.93 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.3.2/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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="8859715804-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="8859715804-1">}</span><span·class="w">1044 <a·href="../../../../erts-15.2.7/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="7923329206-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="7923329206-1">}</span><span·class="w">
1045 ·</span><span·class="p"·data-group-id="8859715804-2">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8859715804-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:·f5b2d7eb17ef14860f056e6994db29fe18e8385adf294e8bb80c373c3c1c261a·...·]-2">}</span><span·class="w">1045 ·</span><span·class="p"·data-group-id="7923329206-2">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7923329206-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:·8ae445e88b87b02556715dcbdaa956c1e1bb1d068057362df12d8496ba4ce8b3·...·]-2">}</span><span·class="w">
1046 ·</span><span·class="p"·data-group-id="8859715804-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="8859715804-4">}</span><span·class="w">1046 ·</span><span·class="p"·data-group-id="7923329206-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="7923329206-4">}</span><span·class="w">
1047 ·</span><span·class="p"·data-group-id="8859715804-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="885971580[·...·truncated·by·diffoscope;·len:·1,·SHA:·4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a·...·]-5">}</span><span·class="w">1047 ·</span><span·class="p"·data-group-id="7923329206-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="792332920[·...·truncated·by·diffoscope;·len:·1,·SHA:·e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683·...·]-5">}</span><span·class="w">
1048 ·</span><span·class="p"·data-group-id="8859715804-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:·7c05e2afe52a1100679c22ec6080b230e654a453582494ce07a7fb25b80a7e0e·...·]-6">}</span><span·class="w">1048 ·</span><span·class="p"·data-group-id="7923329206-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:·55e7b5ab4109fe40ae82442e965896928ab3c4955746b229923651cb8f98a0c7·...·]-6">}</span><span·class="w">
1049 ·</span><span·class="p"·data-group-id="8859715804-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="8859715804-7">}</span><span·class="w">1049 ·</span><span·class="p"·data-group-id="7923329206-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="7923329206-7">}</span><span·class="w">
1050 ·</span><span·class="p"·data-group-id="8859715804-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="8859715804-8">}</span></code></pre><p>Default·is·the·<code·class="inline">pid</code>·of·the·process·calling·the·request·function·(<a·href="../../../../erts-15.2.7/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="7923329206-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="7923329206-8">}</span></code></pre><p>Default·is·the·<code·class="inline">pid</code>·of·the·process·calling·the·request·function·(<a·href="../../../../erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1566 <p>Copyright·©·1996-2025·<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.3.2/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="1206696077-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="9765204859-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="1206696077-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="1206696077-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">inets</sp[·...·truncated·by·diffoscope;·len:·330,·SHA:·03968616212c5e14f492bcabc131a4cccf864aeea31c49126ff8883789133a31·...·]-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="9765204859-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="9765204859-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">inets</sp[·...·truncated·by·diffoscope;·len:·330,·SHA:·27d76efc892d8184cb2ba0616794d4f6cabd4d405a55e111ae0a6f84aae67745·...·]-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="4893390305-1">[</span><span·class="p"·data-group-id="4893390305-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="7133869252-1">[</span><span·class="p"·data-group-id="7133869252-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
257 ·</span><span·class="p"·data-group-id="4893390305-3">[</span><span·class="p"·data-group-id="4893390305-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">257 ·</span><span·class="p"·data-group-id="7133869252-3">[</span><span·class="p"·data-group-id="7133869252-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
258 ··</span><span·class="p"·data-group-id="4893390305-5">[</span><span·class="p"·data-group-id="4893390305-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="7133869252-5">[</span><span·class="p"·data-group-id="7133869252-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="4893390305-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="4893390305-8">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·173,·SHA:·8f85b969af1a9dae112d0008888ae45e73549215ec7800a5190d49b707f3a904·...·]-8">}</span><span·class="p">,</span><span·class="w">259 ····</span><span·class="p"·data-group-id="7133869252-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="7133869252-8">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·173,·SHA:·961157324f2b2bc2a0111db48f7ac4278348d25cb62362eb521598b392a9fa88·...·]-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="4893390305-9">[</span><span·class="p"·data-group-id="4893390305-10">{</span><span·class="ss">inets_httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4893390305-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="7133869252-9">[</span><span·class="p"·data-group-id="7133869252-10">{</span><span·class="ss">inets_httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7133869252-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="4893390305-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="7133869252-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="4893390305-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><spa[·...·truncated·by·diffoscope;·len:·147,·SHA:·650919600efc2ad2938cefa67a051d00f30f71b72a2af8d904fa78e9698c078e·...·]-13">]</span><span·class="w">262 ··································</span><span·class="p"·data-group-id="7133869252-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><spa[·...·truncated·by·diffoscope;·len:·147,·SHA:·e76db76729f3f4e4e545824791294b3feca23459d44a1bc917b5f40918a4617c·...·]-13">]</span><span·class="w">
263 ·································</span><span·class="p"·data-group-id="4893390305-12">}</span><span·class="p"·data-group-id="4893390305-11">}</span><span·class="p"·data-group-id="4893390305-10">}</span><span·class="p"·data-group-id="4893390305-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="4893390305-7">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·611,·SHA:·b1c0f2a18ec8f5a4ea3f7056b6a3ac2519372501398ebc1117c0d700514d4cf8·...·]</span><span·class="p">,</span><span·class="w">263 ·································</span><span·class="p"·data-group-id="7133869252-12">}</span><span·class="p"·data-group-id="7133869252-11">}</span><span·class="p"·data-group-id="7133869252-10">}</span><span·class="p"·data-group-id="7133869252-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="7133869252-7">}</span><span·class="p"·data-group-id="7133869252-6">}</span><span·class="p"·data-group-id="7133869252-5">]</span><span·class="p"·data-group-id="7133869252-4">}</span><span·class="p"·data-group-id="7133869252-3">]</span><span·class="p"·data-group-id="7133869252-2">}</span><span·class="p"·data-group-id="7133869252-1">]</span><span·class="p">.</span></code></pre><p>or·if·you·want·to·add·it·to·the·default·logger·via·an·API:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler_filter</span><span·class="p"·data-group-id="8989933601-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="8428511032-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="8989933601-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="8428511032-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="8989933601-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="8428511032-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:·304,·SHA:·e2448048576d76ecc6e6c78ff39bac5bc8e68993f6c0510b4c3650583cedb570·...·]-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="8989933601-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:·304,·SHA:·0f14f5adc46326957b18b67b364e560fab893260894392fc7eca85df29138546·...·]-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="8555145504-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">·</s[·...·truncated·by·diffoscope;·len:·1379,·SHA:·8f30e0944a4688faee5ab65ec097edb769b0193df3b05e6d15e464a33c8d3e62·...·]-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="8526107980-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">·</s[·...·truncated·by·diffoscope;·len:·1379,·SHA:·b929e7ce883afcd55860ca2babadcc428ca32e913fd67603676756c74144dd1e·...·]-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="2241136198-1">{</span><span·class="ss">alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2241136198-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:·1efe9983c3fa17a342eae0072dae1c940cac08e6f18eb7c01ff6c876204adf50·...·]-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="0539893844-1">{</span><span·class="ss">alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0539893844-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:·597c8fa5d49c63d3f4e708063c5504f363d4c7866b9c18315fd705eca3e2c8be·...·]-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-6.2.2/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-6.2.2/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="3567857251-1">{</span><span·class="ss">re_write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3567857251-2">{</span><span·class="s">&quot;^/[~]([^/]+)(.*)$&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·147,·SHA:·8dc5b6eacf0ad08d41841c504f8618da0d6b729eea5ee7d9a01a65c4e33dcfc8·...·]-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="9955974848-1">{</span><span·class="ss">re_write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9955974848-2">{</span><span·class="s">&quot;^/[~]([^/]+)(.*)$&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·147,·SHA:·da7beb419a5ff777b1d1118b8086f646c26d6c47b7ad02d0d338f7c8c8c5ecc0·...·]-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="1495375274-1">{</span><span·class="ss">directory_index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1495375274-2">[</span><span·class="s">&quot;index.html&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·140,·SHA:·d66dc9167892bd2cfcb6baf27304960423404d9020e00375d1c955ceaf549d66·...·]-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="3367764946-1">{</span><span·class="ss">directory_index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3367764946-2">[</span><span·class="s">&quot;index.html&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·140,·SHA:·36676e842fd91210238db20128bca1fce8e7c84ed6c107580240c64772db3ea0·...·]-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="9405292858-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9405292858-2">{</span><span·class="s">&quot;PUT&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&q[·...·truncated·by·diffoscope;·len:·123,·SHA:·5fd066cc05b8f545c641ce2b03bacc3f395f250f06224dd13599b93c3e6f962b·...·]-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="9928248080-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9928248080-2">{</span><span·class="s">&quot;PUT&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&q[·...·truncated·by·diffoscope;·len:·123,·SHA:·c34d30f8b33804ccaf95b32e318dbfc19d6e01abc4c1fc7258bbf71eb6bfae34·...·]-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="4927019758-1">{</span><span·class="ss">erl_script_alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4927019758-2">{</span><span·class="s">&quot;/cgi-bin/example&quot;</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·242,·SHA:·7cb7362135cedb9d2a93f5aec5e156a42a78f8cc9a577aabf2b38c98594cf004·...·]-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="4183364842-1">{</span><span·class="ss">erl_script_alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4183364842-2">{</span><span·class="s">&quot;/cgi-bin/example&quot;</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·242,·SHA:·e9087ffeb24be2e8cceadfb985f9ace38c753b159d73df3dfc25c5814d329ebc·...·]-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="9954960177-1">{</span><span·class="ss">directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9954960177-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="9954960177-3">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·1510,·SHA:·2ee1012a8986dad571ea7e85adc3965900a8bc4772950df13e17281cef11c0a7·...·]-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="0073341098-1">{</span><span·class="ss">directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0073341098-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="0073341098-3">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·1510,·SHA:·f0ac15e8c08681d8eb4eee9a33a0a1cd5754f78fc2e64462bdb31f15fea2ab56·...·]-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="9225998336-1">{</span><span·class="ss">security_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9225998336-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="9225998336-3">(</span><span·class[·...·truncated·by·diffoscope;·len:·716,·SHA:·4a7e5f6f60726bf756da05da0c4c701fa60419de27392cd00ddc994690b5c2cd·...·]-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="9725797258-1">{</span><span·class="ss">security_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725797258-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="9725797258-3">(</span><span·class[·...·truncated·by·diffoscope;·len:·716,·SHA:·e16ca45f7f00885520ce408cbf410a9bd752d3aa6f9277579cdd5a63b3b044ac·...·]-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="8182084660-1">{</span><span·class="p"·data-group-id="8182084660-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="0307088212-1">{</span><span·class="p"·data-group-id="0307088212-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="8182084660-2">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8182084660-3">{</span><span·class="w">435 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0307088212-2">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0307088212-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="8182084660-4">[</span><span·class="p"·data-group-id="8182084660-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="0307088212-4">[</span><span·class="p"·data-group-id="0307088212-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">
Max diff block lines reached; 4616/50186 bytes (9.20%) of diff not shown.
681 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>314 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>316 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>954 <p>Copyright·©·1996-2025·<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
251 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.3.2/doc/html/inets.epub
3.91 KB
zipinfo {}
Max HTML report size reached
94.0 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·Jul·06·2026·03:07:06,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:56:48,·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.46 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>658 <p>Copyright·©·1996-2025·<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.3.2/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="0234259859-1">[</span><span·class="p"·data-group-id="0234259859-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0234259859-3">[</span><span·class="p"·data-group-id="0234259859-4">{</spa[·...·truncated·by·diffoscope;·len:·329,·SHA:·61417cbcc3d5c4eced82cbf6b7ec4df77ff1c773846faf001237e3c719de6cf3·...·]-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="1830150880-1">[</span><span·class="p"·data-group-id="1830150880-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1830150880-3">[</span><span·class="p"·data-group-id="1830150880-4">{</spa[·...·truncated·by·diffoscope;·len:·329,·SHA:·7f1ec9603a217e2ce796e27012fa43e4d37c84c6afcd9dedb80807771a30c519·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>194 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2025·<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.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>406 <p>Copyright·©·1996-2025·<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.6 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1630 <p>Copyright·©·1996-2025·<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.57 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.3.2/doc/html/mod_esi.html
    
Offset 393, 15 lines modifiedOffset 393, 15 lines modified
393 ······<p·class="built-using">393 ······<p·class="built-using">
394 ········Built·using394 ········Built·using
395 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the395 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
396 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>396 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
397 ······</p>397 ······</p>
398 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>398 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
399 ····</footer>399 ····</footer>
400 ··</div>400 ··</div>
401 </main>401 </main>
402 </div>402 </div>
403 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>403 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
404 ··<script>404 ··<script>
405 ··let·initialized·=·false;405 ··let·initialized·=·false;
769 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.3.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>772 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.3.2/doc/html/notes.html
    
Offset 2491, 15 lines modifiedOffset 2491, 15 lines modified
2491 ······<p·class="built-using">2491 ······<p·class="built-using">
2492 ········Built·using2492 ········Built·using
2493 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2493 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2494 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2494 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2495 ······</p>2495 ······</p>
2496 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2496 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2497 ····</footer>2497 ····</footer>
2498 ··</div>2498 ··</div>
2499 </main>2499 </main>
2500 </div>2500 </div>
2501 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2501 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2502 ··<script>2502 ··<script>
2503 ··let·initialized·=·false;2503 ··let·initialized·=·false;
656 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.3.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
637 B
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/doc/html/.build.gz
493 B
.build
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>132 <p>Copyright·©·1996-2025·<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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.16 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.28 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.31 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.31 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.31 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.33 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.34 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.31 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.34 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.31 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.31 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.28 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.28 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.31 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.28 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.28 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.35 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.33 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.16 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.1 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.14.1/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·Jul·06·03:08:01·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·20:57:05·GMT·2025·-->
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="2026-07-06">8 <meta·name="dc.created"·content="2025-06-02">
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.49 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>423 <p>Copyright·©·1996-2025·<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.14.1/doc/html/notes.html
    
Offset 830, 15 lines modifiedOffset 830, 15 lines modified
830 ······<p·class="built-using">830 ······<p·class="built-using">
831 ········Built·using831 ········Built·using
832 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the832 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
833 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>833 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
834 ······</p>834 ······</p>
835 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>835 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
836 ····</footer>836 ····</footer>
837 ··</div>837 ··</div>
838 </main>838 </main>
839 </div>839 </div>
840 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>840 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
841 ··<script>841 ··<script>
842 ··let·initialized·=·false;842 ··let·initialized·=·false;
650 B
html2text {}
Max HTML report size reached
1.72 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/doc/html/search.html
    
Offset 108, 15 lines modifiedOffset 108, 15 lines modified
108 <div·id="search">108 <div·id="search">
109 ··<h1>109 ··<h1>
110 ····<span></span>110 ····<span></span>
111 ··</h1>111 ··</h1>
  
112 ··<div·class="loading"><div></div><div></div><div></div><div></div></div>112 ··<div·class="loading"><div></div><div></div><div></div><div></div></div>
113 </div>113 </div>
114 <script·src="dist/search_data-D2E3D7BA.js"></script>114 <script·src="dist/search_data-A53AF012.js"></script>
115 ····<footer·class="footer">115 ····<footer·class="footer">
116 ······<p>116 ······<p>
  
117 ········<span·class="line">117 ········<span·class="line">
118 ··········<button·class="a-main·footer-button·display-quick-switch"·title="Search·HexDocs·packages">118 ··········<button·class="a-main·footer-button·display-quick-switch"·title="Search·HexDocs·packages">
119 ············Search·HexDocs119 ············Search·HexDocs
120 ··········</button>120 ··········</button>
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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>132 <p>Copyright·©·1996-2025·<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;
421 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.2.7/doc/html/api-reference.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>495 <p>Copyright·©·1996-2025·<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;
606 B
html2text {}
Max HTML report size reached
27.6 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="9122585054-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="7666816634-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="9122585054-2">[</span><span·class="p"·data-group-id="9122585054-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="9122585054-3">}</span><span·class="p">,</span><span·class="w">148 ··</span><span·class="p"·data-group-id="7666816634-2">[</span><span·class="p"·data-group-id="7666816634-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="7666816634-3">}</span><span·class="p">,</span><span·class="w">
149 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-4">}</span><span·class="p">,</span><span·class="w">149 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-4">}</span><span·class="p">,</span><span·class="w">
150 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-5">}</span><span·class="p">,</span><span·class="w">150 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-5">}</span><span·class="p">,</span><span·class="w">
151 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-6">}</span><span·class="p">,</span><span·class="w">151 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-6">}</span><span·class="p">,</span><span·class="w">
152 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-7">}</span><span·class="p">,</span><span·class="w">152 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-7">}</span><span·class="p">,</span><span·class="w">
153 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-8">}</span><span·class="p">,</span><span·class="w">153 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-8">}</span><span·class="p">,</span><span·class="w">
154 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-9">}</span><span·class="p">,</span><span·class="w">154 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-9">}</span><span·class="p">,</span><span·class="w">
155 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-10">}</span><span·class="p">,</span><span·class="w">155 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-10">}</span><span·class="p">,</span><span·class="w">
156 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-11">}</span><span·class="p">,</span><span·class="w">156 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-11">}</span><span·class="p">,</span><span·class="w">
157 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-12">}</span><span·class="p">,</span><span·class="w">157 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-12">}</span><span·class="p">,</span><span·class="w">
158 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-13">}</span><span·class="p">,</span><span·class="w">158 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-13">}</span><span·class="p">,</span><span·class="w">
159 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-14">}</span><span·class="p">,</span><span·class="w">159 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-14">}</span><span·class="p">,</span><span·class="w">
160 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-15">}</span><span·class="p">,</span><span·class="w">160 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-15">}</span><span·class="p">,</span><span·class="w">
161 ···</span><span·class="p"·data-group-id="9122585054-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="9122585054-16">}</span><span·class="p"·data-group-id="9122585054-2">]</span><span[·...·truncated·by·diffoscope;·len:·35,·SHA:·fe7b925f3a340107844bd69f21ecd4b2851230b4556fbba918b59c4aa95d8e02·...·]4-1">}</span><span·class="p">.</span><span·class="w">161 ···</span><span·class="p"·data-group-id="7666816634-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="7666816634-16">}</span><span·class="p"·data-group-id="7666816634-2">]</span><span[·...·truncated·by·diffoscope;·len:·35,·SHA:·9ce1acb0416a7be1194fba259ce9b5d2cc86f12254aae74a8e588e5ed4d1ed4f·...·]4-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="9122585054-17">(</span><span·class="p"·data-group-id="9122585054-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="7666816634-17">(</span><span·class="p"·data-group-id="7666816634-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="9122585054-18">(</span><span·class="p"·data-group-id="9122585054-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="7666816634-18">(</span><span·class="p"·data-group-id="7666816634-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="9122585054-19">(</span><span·class="p"·data-group-id="9122585054-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="7666816634-19">(</span><span·class="p"·data-group-id="7666816634-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="9122585054-20">(</span><span·class="p"·data-group-id="9122585054-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="7666816634-20">(</span><span·class="p"·data-group-id="7666816634-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="9122585054-21">[</span><span·class="n">Module</span><span·class="p"·data-group-id="9122585054-21">]</span><span·class="w">·············</span><span·class="p"·data-group-id="9122585054-22">[</span><span·class="p"·data-group-id="9122585054-22">]</span><span·class="w">168 </span><span·class="n">Modules</span><span·class="w">······</span><span·class="p"·data-group-id="7666816634-21">[</span><span·class="n">Module</span><span·class="p"·data-group-id="7666816634-21">]</span><span·class="w">·············</span><span·class="p"·data-group-id="7666816634-22">[</span><span·class="p"·data-group-id="7666816634-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="9122585054-23">(</span><span·class="p"·data-group-id="9122585054-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="7666816634-23">(</span><span·class="p"·data-group-id="7666816634-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="9122585054-24">(</span><span·class="p"·data-group-id="9122585054-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="7666816634-24">(</span><span·class="p"·data-group-id="7666816634-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="9122585054-25">[</span><span·class="n">Name</span><span·class="p"·data-group-id="9122585054-25">]</span><span·class="w">···············</span><span·class="p"·data-group-id="9122585054-26">[</span><span·class="p"·data-group-id="9122585054-26">]</span><span·class="w">171 </span><span·class="n">Names</span><span·class="w">········</span><span·class="p"·data-group-id="7666816634-25">[</span><span·class="n">Name</span><span·class="p"·data-group-id="7666816634-25">]</span><span·class="w">···············</span><span·class="p"·data-group-id="7666816634-26">[</span><span·class="p"·data-group-id="7666816634-26">]</span><span·class="w">
172 </span><span·class="n">Apps</span><span·class="w">·········</span><span·class="p"·data-group-id="9122585054-27">[</span><span·class="n">App</span><span·class="p"·data-group-id="9122585054-27">]</span><span·class="w">················</span><span·class="p"·data-group-id="9122585054-28">[</span><span·class="p"·data-group-id="9122585054-28">]</span><span·class="w">172 </span><span·class="n">Apps</span><span·class="w">·········</span><span·class="p"·data-group-id="7666816634-27">[</span><span·class="n">App</span><span·class="p"·data-group-id="7666816634-27">]</span><span·class="w">················</span><span·class="p"·data-group-id="7666816634-28">[</span><span·class="p"·data-group-id="7666816634-28">]</span><span·class="w">
173 </span><span·class="n">Env</span><span·class="w">··········</span><span·class="p"·data-group-id="9122585054-29">[</span><span·class="p"·data-group-id="9122585054-30">{</span><span·class="n">Par</span><span·class="p">,</span><span·class="n">Val</span><span·class="p"·data-group-id="9122585054-30">}</span><span·class="p"·data-group-id="9122585054-29">]</[·...·truncated·by·diffoscope;·len:·132,·SHA:·ad4404609de41e468e961b28b5bc2b0ec51a439c9f521ece0847f2bda3c8eded·...·]4-31">]</span><span·class="w">173 </span><span·class="n">Env</span><span·class="w">··········</span><span·class="p"·data-group-id="7666816634-29">[</span><span·class="p"·data-group-id="7666816634-30">{</span><span·class="n">Par</span><span·class="p">,</span><span·class="n">Val</span><span·class="p"·data-group-id="7666816634-30">}</span><span·class="p"·data-group-id="7666816634-29">]</[·...·truncated·by·diffoscope;·len:·132,·SHA:·8f10e767adcdaf64bffbaa8cff89aa8236152ffa4de0ef407180d6d2bc0c6a07·...·]4-31">]</span><span·class="w">
174 </span><span·class="n">Start</span><span·class="w">········</span><span·class="p"·data-group-id="9122585054-32">{</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">StartArgs</span><span·class="p"·data-group-id="9122585054-32">}</span><span·class="w">···</span><span·class="p"·data-group-id="9122585054-33">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·26,·SHA:·2fbfea82b6cda8904baee3a004650ec6f6331815b390a2df265eba377d7fcdee·...·]4-33">]</span><span·class="w">174 </span><span·class="n">Start</span><span·class="w">········</span><span·class="p"·data-group-id="7666816634-32">{</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">StartArgs</span><span·class="p"·data-group-id="7666816634-32">}</span><span·class="w">···</span><span·class="p"·data-group-id="7666816634-33">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·26,·SHA:·c6e550a2ae50824b8fde9591ecd2dd431b1ecb0665e2e45f075688fc61b28f1f·...·]4-33">]</span><span·class="w">
175 </span><span·class="n">Phases</span><span·class="w">·······</span><span·class="p"·data-group-id="9122585054-34">[</span><span·class="p"·data-group-id="9122585054-35">{</span><span·class="n">Phase</span><span·class="p">,</span><span·class="n">PhaseArgs</span><span·class="p"·data-group-id="9122585054-35">}</span><span·class="p"·data-group-id="9122585054-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="7666816634-34">[</span><span·class="p"·data-group-id="7666816634-35">{</span><span·class="n">Phase</span><span·class="p">,</span><span·class="n">PhaseArgs</span><span·class="p"·data-group-id="7666816634-35">}</span><span·class="p"·data-group-id="7666816634-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="9122585054-36">[</span><span·class="n">ApplicationVersion</span><span·class="p"·data-group-id="9122585054-36">]</span><span·class="w">·</span><span·class="p"·data-group-id="9122585054-37">[</span><span·class="p"·data-group-id="9122585054-37">]</span><span·class="w">176 </span><span·class="n">RTDeps</span><span·class="w">·······</span><span·class="p"·data-group-id="7666816634-36">[</span><span·class="n">ApplicationVersion</span><span·class="p"·data-group-id="7666816634-36">]</span><span·class="w">·</span><span·class="p"·data-group-id="7666816634-37">[</span><span·class="p"·data-group-id="7666816634-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="9122585054-38">(</span><span·class="p"·data-group-id="9122585054-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="7666816634-38">(</span><span·class="p"·data-group-id="7666816634-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="9122585054-39">(</span><span·class="p"·data-group-id="9122585054-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="7666816634-39">(</span><span·class="p"·data-group-id="7666816634-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="9122585054-40">(</span><span·class="p"·data-group-id="9122585054-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="7666816634-40">(</span><span·class="p"·data-group-id="7666816634-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="1682564592-1">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1682564592-2">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="16825645[·...·truncated·by·diffoscope;·len:·246,·SHA:·122b7028952b9689073f42efd8ddf00aec06ded6ed5b466879eddc433252f5c1·...·]-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="4232645255-1">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4232645255-2">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="42326452[·...·truncated·by·diffoscope;·len:·246,·SHA:·317cee65f9bf8d21cc1866016ef3871ef21465ca62b00b8a20b9ff59b6c008b1·...·]-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">OTP·Design·Principles</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">OTP·Design·Principles</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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>285 <p>Copyright·©·1996-2025·<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.08 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="8547242280-1">[</span><span·class="ss">cp1@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8547242280-2">{</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cp3@[·...·truncated·by·diffoscope;·len:·104,·SHA:·5477f59e9e82e6e9c9b35053978815124c8e4fcc5708ec55280ae5889fd48e59·...·]0-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="7484556950-1">[</span><span·class="ss">cp1@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7484556950-2">{</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cp3@[·...·truncated·by·diffoscope;·len:·104,·SHA:·ed0574b5cfb5258e4f8850dbc70c6ff4cdf5781cd969048c9eb11d9548846fe2·...·]0-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2182 <p>Copyright·©·1996-2025·<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.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>462 <p>Copyright·©·1996-2025·<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.2.7/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-15.2.7/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-15.2.7/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-6.2.2/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-6.2.2/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="4663188450-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="1121775595-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="4663188450-2">[</span><span·class="s">&quot;mnesia-4.4.7&quot;</span><span·class="p"·data-group-id="4663188450-2">]</span><span·class="p">,</span><span·class="w">197 »       </span><span·class="p"·data-group-id="1121775595-2">[</span><span·class="s">&quot;mnesia-4.4.7&quot;</span><span·class="p"·data-group-id="1121775595-2">]</span><span·class="p">,</span><span·class="w">
198 »       </span><span·class="p"·data-group-id="4663188450-3">[</span><span·class="p"·data-group-id="4663188450-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-gr[·...·truncated·by·diffoscope;·len:·124,·SHA:·b9d0e71c8456cbe1d18d0e6057cbd83bcb6ba45bb57cca9380ba8ebd4562fdf6·...·]-4">}</span><span·class="p">,</span><span·class="w">198 »       </span><span·class="p"·data-group-id="1121775595-3">[</span><span·class="p"·data-group-id="1121775595-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-gr[·...·truncated·by·diffoscope;·len:·124,·SHA:·df78ffdc8661367c9e77b17a38fd59bbea83ba78b2553667b12306072e7ec654·...·]-4">}</span><span·class="p">,</span><span·class="w">
199 »       ·</span><span·class="p"·data-group-id="4663188450-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="4663188450-6">}</span><span·class="p">,</span><span·class="w">199 »       ·</span><span·class="p"·data-group-id="1121775595-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="1121775595-6">}</span><span·class="p">,</span><span·class="w">
200 »       ·</span><span·class="p"·data-group-id="4663188450-7">{</span><span·class="ss">uncompress</span><span·class="p">,</span><span·class="p"·data-group-id="4663188450-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:·180,·SHA:·069146dc96cf2a875fcac4af7324b6624f4dfc2b2e399c0ec854ee07056a4478·...·]-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="1121775595-7">{</span><span·class="ss">uncompress</span><span·class="p">,</span><span·class="p"·data-group-id="1121775595-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:·180,·SHA:·342ec51b3b67a80191d609b6431f476609911689d3a838d224493d89bbb06985·...·]-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 1819, 18 lines modifiedOffset 1819, 18 lines modified
1819 none·of·the·modules·are·loaded·if·there·is·a·problem·with·any·of·the1819 none·of·the·modules·are·loaded·if·there·is·a·problem·with·any·of·the
1820 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·in1820 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
1821 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·an1821 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
1822 <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·of1822 <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
1823 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>1823 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>
1824 function·that·never·finished.</p></li></ul><p>If·it·is·important·to·minimize·the·time·that·an·application·is·inactive·while1824 function·that·never·finished.</p></li></ul><p>If·it·is·important·to·minimize·the·time·that·an·application·is·inactive·while
1825 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·of1825 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
1826 <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="9972608797-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Prepared</span><span·class="p"·data-group-id="9972608797-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span>[·...·truncated·by·diffoscope;·len:·187,·SHA:·9431f5b820945c5240d76849002c71b1a477350c9a6fe8082bf902cca45ee1c3·...·]-2">)</span><span·class="p">,</span><span·class="w">1826 <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="2866946936-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Prepared</span><span·class="p"·data-group-id="2866946936-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span>[·...·truncated·by·diffoscope;·len:·187,·SHA:·f377591e6da30b13a00083bf4569f31068540e43fca5b9a9c190bfe8bfdcf68b·...·]-2">)</span><span·class="p">,</span><span·class="w">
1827 </span><span·class="c1">%%·Put·the·application·into·an·inactive·state·or·do·any</span><span·class="w">1827 </span><span·class="c1">%%·Put·the·application·into·an·inactive·state·or·do·any</span><span·class="w">
1828 </span><span·class="c1">%%·other·preparation·needed·before·changing·the·code.</span><span·class="w">1828 </span><span·class="c1">%%·other·preparation·needed·before·changing·the·code.</span><span·class="w">
1829 </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="9972608797-3">(</span><span·class="n">Prepared</span><span·class="p"·data-group-id="9972608797-3">)</span><span·class="p">,</span><span·class="w">1829 </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="2866946936-3">(</span><span·class="n">Prepared</span><span·class="p"·data-group-id="2866946936-3">)</span><span·class="p">,</span><span·class="w">
1830 </span><span·class="c1">%%·Resume·the·application.</span></code></pre>1830 </span><span·class="c1">%%·Resume·the·application.</span></code></pre>
1831 ··</section>1831 ··</section>
1832 </section>1832 </section>
1833 <section·class="detail"·id="clash/0">1833 <section·class="detail"·id="clash/0">
  
1834 ··<div·class="detail-header">1834 ··<div·class="detail-header">
1835 ····<a·href="#clash/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1835 ····<a·href="#clash/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2343, 16 lines modifiedOffset 2343, 16 lines modified
2343 ······</div>2343 ······</div>
  
2344 <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,·otherwise2344 <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
2345 <code·class="inline">error</code>.·<code·class="inline">Binary</code>·is·a·binary·data·object,·which·contains·the·object2345 <code·class="inline">error</code>.·<code·class="inline">Binary</code>·is·a·binary·data·object,·which·contains·the·object
2346 code·for·the·module.·This·is·useful·if·code·is·to·be·loaded·on·a2346 code·for·the·module.·This·is·useful·if·code·is·to·be·loaded·on·a
2347 remote·node·in·a·distributed·system.·For·example,·loading·module2347 remote·node·in·a·distributed·system.·For·example,·loading·module
2348 <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">2348 <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">
2349 </span><span·class="p"·data-group-id="6241165881-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:·4fdbbc8502918432164fc4e6186e34312643f04c08a47c0053d632b8fb432d0c·...·]-2">)</span><span·class="p">,</span><span·class="w">2349 </span><span·class="p"·data-group-id="4723085782-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:·f7f80810f2a08fde6f17e181c3602357b50113ea36a87e2c1c045de4c80667c8·...·]-2">)</span><span·class="p">,</span><span·class="w">
2350 </span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="6241165881-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:·0b12c3a4bcbbe758046e5136ffb85674e67efe1570e0f1a5a2141b82c775a4b4·...·]-3">)</span><span·class="p">,</span><span·class="w">2350 </span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="4723085782-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:·5c13b9baea66ea3586667412660d76d1c00511cc391467812d46ee01768a1bcf·...·]-3">)</span><span·class="p">,</span><span·class="w">
2351 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>2351 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>
2352 ··</section>2352 ··</section>
2353 </section>2353 </section>
2354 <section·class="detail"·id="get_path/0">2354 <section·class="detail"·id="get_path/0">
  
2355 ··<div·class="detail-header">2355 ··<div·class="detail-header">
2356 ····<a·href="#get_path/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2356 ····<a·href="#get_path/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2455, 15 lines modifiedOffset 2455, 15 lines modified
2455 ······<div·class="specs">2455 ······<div·class="specs">
  
2456 ··········<pre·translate="no"><span·class="attribute">-spec</span>·lib_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>2456 ··········<pre·translate="no"><span·class="attribute">-spec</span>·lib_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>
  
2457 ······</div>2457 ······</div>
  
2458 <p>Returns·the·library·directory,·<code·class="inline">$OTPROOT/lib</code>,·where·<code·class="inline">$OTPROOT</code>·is·the·root2458 <p>Returns·the·library·directory,·<code·class="inline">$OTPROOT/lib</code>,·where·<code·class="inline">$OTPROOT</code>·is·the·root
2459 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="6430048193-1">(</span><span·class="p"·data-group-id="6430048193-1">)</span><span·class="p">.</span><span·class="w">2459 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="5824290795-1">(</span><span·class="p"·data-group-id="5824290795-1">)</span><span·class="p">.</span><span·class="w">
2460 </span><span·class="s">&quot;/usr/local/otp/lib&quot;</span></code></pre>2460 </span><span·class="s">&quot;/usr/local/otp/lib&quot;</span></code></pre>
2461 ··</section>2461 ··</section>
2462 </section>2462 </section>
2463 <section·class="detail"·id="lib_dir/1">2463 <section·class="detail"·id="lib_dir/1">
  
2464 ··<div·class="detail-header">2464 ··<div·class="detail-header">
2465 ····<a·href="#lib_dir/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2465 ····<a·href="#lib_dir/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2492, 15 lines modifiedOffset 2492, 15 lines modified
2492 an·<code·class="inline">ebin</code>·subdirectory,·the·path·to·this·directory·is·returned·(not·the·<code·class="inline">ebin</code>2492 an·<code·class="inline">ebin</code>·subdirectory,·the·path·to·this·directory·is·returned·(not·the·<code·class="inline">ebin</code>
2493 directory).</p><p>If·the·directory·refers·to·a·directory·in·an·archive,·the·archive·name·is2493 directory).</p><p>If·the·directory·refers·to·a·directory·in·an·archive,·the·archive·name·is
2494 stripped·away·before·the·path·is·returned.·For·example,·if·directory2494 stripped·away·before·the·path·is·returned.·For·example,·if·directory
2495 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2.ez/mnesia-4.2.2/ebin</code>·is·in·the·path,2495 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2.ez/mnesia-4.2.2/ebin</code>·is·in·the·path,
2496 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2/ebin</code>·is·returned.·This·means·that·the·library2496 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2/ebin</code>·is·returned.·This·means·that·the·library
2497 directory·for·an·application·is·the·same,·regardless·if·the·application·resides2497 directory·for·an·application·is·the·same,·regardless·if·the·application·resides
2498 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·or2498 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
2499 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="1478056619-1">(</span><span·class="ss">mnesia</span><span·class="p"·data-group-id="1478056619-1">)</span><span·class="p">.</span><span·class="w">2499 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="1594147522-1">(</span><span·class="ss">mnesia</span><span·class="p"·data-group-id="1594147522-1">)</span><span·class="p">.</span><span·class="w">
2500 </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·under2500 </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
2501 <code·class="inline">$OTPROOT/lib</code>·or·on·a·directory·referred·to·through·environment·variable2501 <code·class="inline">$OTPROOT/lib</code>·or·on·a·directory·referred·to·through·environment·variable
2502 <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·will2502 <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
2503 probably·change·in·a·future·release.</p></section>2503 probably·change·in·a·future·release.</p></section>
2504 ··</section>2504 ··</section>
2505 </section>2505 </section>
2506 <section·class="detail"·id="lib_dir/2">2506 <section·class="detail"·id="lib_dir/2">
Offset 2533, 15 lines modifiedOffset 2533, 15 lines modified
2533 <p>Returns·the·path·to·a·subdirectory·directly·under·the·top·directory·of·an2533 <p>Returns·the·path·to·a·subdirectory·directly·under·the·top·directory·of·an
2534 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·experimental2534 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
2535 feature·that·will·be·changed·or·removed·in·a·future·release.</p></section><p>Normally·the·subdirectories·reside·under·the·top·directory·for·the2535 feature·that·will·be·changed·or·removed·in·a·future·release.</p></section><p>Normally·the·subdirectories·reside·under·the·top·directory·for·the
2536 application,·but·when·applications·at·least·partly·reside·in·an·archive,·the2536 application,·but·when·applications·at·least·partly·reside·in·an·archive,·the
2537 situation·is·different.·Some·of·the·subdirectories·can·reside·as·regular2537 situation·is·different.·Some·of·the·subdirectories·can·reside·as·regular
2538 directories·while·others·reside·in·an·archive·file.·It·is·not·checked·whether2538 directories·while·others·reside·in·an·archive·file.·It·is·not·checked·whether
2539 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>2539 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>
2540 and·<a·href="../../../../lib/stdlib-6.2.2/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="8066928900-1">(</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="8066928900-2">(</span><span·class="ss">megaco</span><span·class="p"·data-group-id="8066928900-2">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·113,·SHA:·46f68acebaf0948e7895a6bc2c990857f212d29c8a68b4352a570cfdf71a914d·...·]-1">)</span><span·class="p">.</span><span·class="w">2540 and·<a·href="../../../../lib/stdlib-6.2.2/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="0144924174-1">(</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="0144924174-2">(</span><span·class="ss">megaco</span><span·class="p"·data-group-id="0144924174-2">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·113,·SHA:·8e51e327c41381dcf6bf2040dca4ce9a36c0f651eae0cdbbcd8f798a7dd5338f·...·]-1">)</span><span·class="p">.</span><span·class="w">
2541 </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>2541 </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>
2542 ··</section>2542 ··</section>
2543 </section>2543 </section>
2544 <section·class="detail"·id="load_abs/1">2544 <section·class="detail"·id="load_abs/1">
  
2545 ··<div·class="detail-header">2545 ··<div·class="detail-header">
2546 ····<a·href="#load_abs/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2546 ····<a·href="#load_abs/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2964, 15 lines modifiedOffset 2964, 15 lines modified
2964 ······<div·class="specs">2964 ······<div·class="specs">
  
2965 ··········<pre·translate="no"><span·class="attribute">-spec</span>·root_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>2965 ··········<pre·translate="no"><span·class="attribute">-spec</span>·root_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>
  
2966 ······</div>2966 ······</div>
  
2967 <p>Returns·the·root·directory·of·Erlang/OTP,·which·is·the·directory·where·it·is2967 <p>Returns·the·root·directory·of·Erlang/OTP,·which·is·the·directory·where·it·is
2968 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="6821810637-1">(</span><span·class="p"·data-group-id="6821810637-1">)</span><span·class="p">.</span><span·class="w">2968 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="0644317271-1">(</span><span·class="p"·data-group-id="0644317271-1">)</span><span·class="p">.</span><span·class="w">
2969 </span><span·class="s">&quot;/usr/local/otp&quot;</span></code></pre>2969 </span><span·class="s">&quot;/usr/local/otp&quot;</span></code></pre>
2970 ··</section>2970 ··</section>
2971 </section>2971 </section>
2972 <section·class="detail"·id="set_coverage_mode/1">2972 <section·class="detail"·id="set_coverage_mode/1">
  
2973 ··<div·class="detail-header">2973 ··<div·class="detail-header">
2974 ····<a·href="#set_coverage_mode/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2974 ····<a·href="#set_coverage_mode/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 3240, 15 lines modifiedOffset 3240, 15 lines modified
3240 ······<p·class="built-using">3240 ······<p·class="built-using">
3241 ········Built·using3241 ········Built·using
3242 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3242 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3243 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3243 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3244 ······</p>3244 ······</p>
Max diff block lines reached; 164/22229 bytes (0.74%) of diff not shown.
665 B
html2text {}
Max HTML report size reached
6.47 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/doc/html/config.html
    
Offset 148, 17 lines modifiedOffset 148, 17 lines modified
148 (see·<a·href="../../../../erts-15.2.7/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-15.2.7/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="9088936413-1">[</span><span·class="p"·data-group-id="9088936413-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9088936413-3">[</span><span·class="p"·data-group-id="9088936413-4">[·...·truncated·by·diffoscope;·len:·379,·SHA:·3d6cd9e13e8e90fd5cad8cca4c18c53b2e2264a9601c42b61c3378a045c9be7c·...·]-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="6041255238-1">[</span><span·class="p"·data-group-id="6041255238-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6041255238-3">[</span><span·class="p"·data-group-id="6041255238-4">[·...·truncated·by·diffoscope;·len:·379,·SHA:·993e10c073be1bbf63ea61a759419cdb56abba90122268b5a42671e74aeef19b·...·]-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="9088936413-5">{</span><span·class="n">ApplicationN</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9088936413-6">[</span><span·class="p"·data-group-id="9088936413-7">{</span><span·class="n">ParN1</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·379,·SHA:·0028e4660a940be05e672d927b828446d47a9eef3b485f6e9afa5f42f13ad72e·...·]-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="6041255238-5">{</span><span·class="n">ApplicationN</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6041255238-6">[</span><span·class="p"·data-group-id="6041255238-7">{</span><span·class="n">ParN1</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·379,·SHA:·3180541975d24398551c76497e46b85adabffeb59dd6406c534c4c2ab73eb692·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>258 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2955 <p>Copyright·©·1996-2025·<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.2.7/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-15.2.7/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-15.2.7/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="5830241987-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="7159508263-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="5830241987-2">(</span><span·class="p"·data-group-id="5830241987-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="7159508263-2">(</span><span·class="p"·data-group-id="7159508263-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="5830241987-3">(</span><span·class="p"·data-group-id="5830241987-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="7159508263-3">(</span><span·class="p"·data-group-id="7159508263-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="5830241987-4">(</span><span·class="p"·data-group-id="5830241987-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="7159508263-4">(</span><span·class="p"·data-group-id="7159508263-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="5830241987-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="5830241987-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="7159508263-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="7159508263-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="5830241987-6">(</span><span·class="p"·data-group-id="5830241987-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="7159508263-6">(</span><span·class="p"·data-group-id="7159508263-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="5830241987-7">[</span><span·class="p"·data-group-id="5830241987-8">{</span><span·class="p"·data-group-id="5830241987-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:·b896e4c455c9b28c1984200fef103118442d4e715e2b56bfce1d262e774c5e25·...·]-9">}</span><span·class="p">,</span><span·class="w">164 ···</span><span·class="p"·data-group-id="7159508263-7">[</span><span·class="p"·data-group-id="7159508263-8">{</span><span·class="p"·data-group-id="7159508263-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:·7e579c2dd63e77338be9f20729564b89a769e7f5e0bd67743fed41771bdfe189·...·]-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="5830241987-10">(</span><span·class="p"·data-group-id="5830241987-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="7159508263-10">(</span><span·class="p"·data-group-id="7159508263-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="5830241987-11">[</span><span·class="nf">binary</span><span·class="p"·data-group-id="5830241987-12">(</span><span·class="p"·data-group-id="5830241987-12">)</span><span·class="p"·data-group-id="5830241987-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="7159508263-11">[</span><span·class="nf">binary</span><span·class="p"·data-group-id="7159508263-12">(</span><span·class="p"·data-group-id="7159508263-12">)</span><span·class="p"·data-group-id="7159508263-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="5830241987-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="5830241987-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="7159508263-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="7159508263-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="5830241987-14">(</span><span·class="p"·data-group-id="5830241987-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="7159508263-14">(</span><span·class="p"·data-group-id="7159508263-14">)</span><span·class="w">
169 ····</span><span·class="p"·data-group-id="5830241987-8">}</span><span·class="p"·data-group-id="5830241987-7">]</span><span·class="p"·data-group-id="5830241987-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:·b60dc51307c0030ad51f9ee2f571bb5f8296d0ecf46c688b36bdf25b9249eaca·...·]-15">)</span><span·class="p">,</span><span·class="w">169 ····</span><span·class="p"·data-group-id="7159508263-8">}</span><span·class="p"·data-group-id="7159508263-7">]</span><span·class="p"·data-group-id="7159508263-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:·f40a7a21e2f342441931beeeaec94bdad09f194d6e1f770042b6efbe0a09f296·...·]-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="5830241987-16">(</span><span·class="p"·data-group-id="5830241987-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="5830241987-17">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·64c24625e8fc50fd2380b5821f328b18326d2bf32b5f58597d495849966d6b2c·...·]-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="7159508263-16">(</span><span·class="p"·data-group-id="7159508263-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="7159508263-17">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·0db1f39de2f451d22212be32efe0a82e650051e248d92674820e17022195d1cf·...·]-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-6.2.2/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-6.2.2/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.3.2/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.3.2/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 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>263 <p>Copyright·©·1996-2025·<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;
806 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>404 <p>Copyright·©·1996-2025·<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.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1316 <p>Copyright·©·1996-2025·<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
3.94 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="5931874004-1">(</span><span·class="ss">localhost</span><span·class="p"·data-group-id="5931874004-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="9965450924-1">(</span><span·class="ss">localhost</span><span·class="p"·data-group-id="9965450924-1">)</span><span·class="p">.</span><span·class="w">
357 </span><span·class="p"·data-group-id="5931874004-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5931874004-3">[</span><span·class="p"·data-group-id="5931874004-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·160,·SHA:·dfa215d1c1bcae7c12eaeab0c2fca2edba5ab73fcef7d79e0c69c02b7813be00·...·]4-2">}</span></code></pre>357 </span><span·class="p"·data-group-id="9965450924-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9965450924-3">[</span><span·class="p"·data-group-id="9965450924-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·160,·SHA:·5b7e1603e1b8b1e19e48f68d6d8dcae755a104c30f21a3adf0527666148ea2c8·...·]4-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>555 <p>Copyright·©·1996-2025·<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.6 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/doc/html/erpc.html
    
Offset 1183, 28 lines modifiedOffset 1183, 28 lines modified
1183 at·the·client·side.</li></ul><p>The·call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args)</code>·is·equivalent·to·the1183 at·the·client·side.</li></ul><p>The·call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args)</code>·is·equivalent·to·the
1184 call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args,·infinity)</code>.·These·calls·are1184 call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args,·infinity)</code>.·These·calls·are
1185 also·equivalent·to·calling·<code·class="inline">my_multicall(Nodes,·Module,·Function,·Args)</code>·below1185 also·equivalent·to·calling·<code·class="inline">my_multicall(Nodes,·Module,·Function,·Args)</code>·below
1186 if·one·disregard·performance·and·failure·behavior.·<code·class="inline">multicall()</code>·can·utilize·a1186 if·one·disregard·performance·and·failure·behavior.·<code·class="inline">multicall()</code>·can·utilize·a
1187 selective·receive·optimization·which·removes·the·need·to·scan·the·message·queue1187 selective·receive·optimization·which·removes·the·need·to·scan·the·message·queue
1188 from·the·beginning·in·order·to·find·a·matching·message.·The1188 from·the·beginning·in·order·to·find·a·matching·message.·The
1189 <code·class="inline">send_request()/receive_response()</code>·combination·can,·however,·not·utilize·this1189 <code·class="inline">send_request()/receive_response()</code>·combination·can,·however,·not·utilize·this
1190 optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_multicall</span><span·class="p"·data-group-id="7798707160-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:·65,·SHA:·9c8b8f7d6ffdff688bb6e158716bcec7a54dc2a57d867465ec4b032642d275c9·...·]0-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1190 optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_multicall</span><span·class="p"·data-group-id="5189377620-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:·65,·SHA:·177c66b050ef72ec8ede978585beb5d2fc73099a1b43087b226c55f607c6d6ff·...·]0-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1191 ··</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="7798707160-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="7798707160-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="7798707160-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1191 ··</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="5189377620-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5189377620-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="5189377620-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1192 ·······················</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="7798707160-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:·64,·SHA:·b14c9f1efcdca2afe8b29add3db97e6cde0744e78e117d41776bd72c3b80482c·...·]0-4">)</span><span·class="w">1192 ·······················</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="5189377620-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:·64,·SHA:·b87215d5feddb5d76f3e58f12268e7a8c947eb2679a36e85ee1a6a937dc509b7·...·]0-4">)</span><span·class="w">
1193 ·····················</span><span·class="k">end</span><span·class="p">,</span><span·class="w">1193 ·····················</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
1194 ·····················</span><span·class="n">Nodes</span><span·class="p"·data-group-id="7798707160-2">)</span><span·class="p">,</span><span·class="w">1194 ·····················</span><span·class="n">Nodes</span><span·class="p"·data-group-id="5189377620-2">)</span><span·class="p">,</span><span·class="w">
1195 ··</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="7798707160-5">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="7798707160-6">(</span><span·class="n">ReqId</span><span·class="p"·data-group-id="7798707160-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1195 ··</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="5189377620-5">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5189377620-6">(</span><span·class="n">ReqId</span><span·class="p"·data-group-id="5189377620-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1196 ··············</span><span·class="k">try</span><span·class="w">1196 ··············</span><span·class="k">try</span><span·class="w">
1197 ················</span><span·class="p"·data-group-id="7798707160-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="7798707160-8">(</span><span·class="n"[·...·truncated·by·diffoscope;·len:·186,·SHA:·3245c413287349705cd3c185b36bb504a36fa1efbc010c2a266df10f577b1ee1·...·]0-7">}</span><span·class="w">1197 ················</span><span·class="p"·data-group-id="5189377620-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="5189377620-8">(</span><span·class="n"[·...·truncated·by·diffoscope;·len:·186,·SHA:·4b2d704000b461707965c2309b65b88ca097cd534dac652f1fea95df020f20c9·...·]0-7">}</span><span·class="w">
1198 ··············</span><span·class="k">catch</span><span·class="w">1198 ··············</span><span·class="k">catch</span><span·class="w">
1199 ················</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">1199 ················</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">
1200 ··················</span><span·class="p"·data-group-id="7798707160-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="7798707160-9">}</span><span·class="w">1200 ··················</span><span·class="p"·data-group-id="5189377620-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="5189377620-9">}</span><span·class="w">
1201 ··············</span><span·class="k">end</span><span·class="w">1201 ··············</span><span·class="k">end</span><span·class="w">
1202 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">1202 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
1203 ············</span><span·class="n">ReqIds</span><span·class="p"·data-group-id="7798707160-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·be1203 ············</span><span·class="n">ReqIds</span><span·class="p"·data-group-id="5189377620-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
1204 applied·(that·is,·a·timeout,·connection·loss,·or·an·improper·<code·class="inline">Nodes</code>·list),·the1204 applied·(that·is,·a·timeout,·connection·loss,·or·an·improper·<code·class="inline">Nodes</code>·list),·the
1205 caller·will·not·receive·any·further·information·about·the·result·if/when·the1205 caller·will·not·receive·any·further·information·about·the·result·if/when·the
1206 applied·function·completes.·If·the·applied·function·communicates·with·the1206 applied·function·completes.·If·the·applied·function·communicates·with·the
1207 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>You·cannot·make·<em>any</em>·assumptions·about·the·process·that·will·perform·the1207 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>You·cannot·make·<em>any</em>·assumptions·about·the·process·that·will·perform·the
1208 <code·class="inline">apply()</code>.·It·may·be·the·calling·process·itself,·a·server,·or·a·freshly1208 <code·class="inline">apply()</code>.·It·may·be·the·calling·process·itself,·a·server,·or·a·freshly
1209 spawned·process.</p></section>1209 spawned·process.</p></section>
1210 ··</section>1210 ··</section>
Offset 1346, 17 lines modifiedOffset 1346, 17 lines modified
1346 exception·if/when·an·invalid·<code·class="inline">RequestId</code>·is·detected·or·if·an·invalid·<code·class="inline">Timeout</code>1346 exception·if/when·an·invalid·<code·class="inline">RequestId</code>·is·detected·or·if·an·invalid·<code·class="inline">Timeout</code>
1347 is·passed.</p><p>A·call·to·the·function·<code·class="inline">my_call(Node,·Module,·Function,·Args,·Timeout)</code>·below·is1347 is·passed.</p><p>A·call·to·the·function·<code·class="inline">my_call(Node,·Module,·Function,·Args,·Timeout)</code>·below·is
1348 equivalent·to·the·call1348 equivalent·to·the·call
1349 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards1349 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards
1350 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes1350 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes
1351 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a1351 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a
1352 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,1352 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,
1353 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="0038098149-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:·1ba0b4d3a3ca4fe81e311b50c92a8d1160c05406ff9e657f1ffbd1ae7d5dd30d·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1353 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="8991981486-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:·5cbd12ca466bdbfd0bd09241b0056b9567fe900a44e48e4d3eeaade97d0be4b8·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1354 ··</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="0038098149-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:·1f2ca4219a89a79c9e1a52d75b1344b3318d9f9ac3828b8e70b7ec72fd246265·...·]-2">)</span><span·class="p">,</span><span·class="w">1354 ··</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="8991981486-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:·e246c1cb11b1636c15a90955280e1388610da2fc2c6434c7753f14ef8425a5d0·...·]-2">)</span><span·class="p">,</span><span·class="w">
1355 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="0038098149-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="0038098149-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·be1355 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="8991981486-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="8991981486-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
1356 applied·(that·is,·a·timeout,·or·a·connection·loss),·the·caller·will·not·receive1356 applied·(that·is,·a·timeout,·or·a·connection·loss),·the·caller·will·not·receive
1357 any·further·information·about·the·result·if/when·the·applied·function·completes.1357 any·further·information·about·the·result·if/when·the·applied·function·completes.
1358 If·the·applied·function·explicitly·communicates·with·the·calling·process,·such1358 If·the·applied·function·explicitly·communicates·with·the·calling·process,·such
1359 communication·may,·of·course,·reach·the·calling·process.</p>1359 communication·may,·of·course,·reach·the·calling·process.</p>
1360 ··</section>1360 ··</section>
1361 </section>1361 </section>
1362 <section·class="detail"·id="receive_response/3">1362 <section·class="detail"·id="receive_response/3">
Offset 1637, 17 lines modifiedOffset 1637, 17 lines modified
1637 about·to·save·the·request·identifier·in·a·request·identifier·collection,·you·may1637 about·to·save·the·request·identifier·in·a·request·identifier·collection,·you·may
1638 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·is1638 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
1639 equivalent·to·the·call1639 equivalent·to·the·call
1640 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards1640 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards
1641 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes1641 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes
1642 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a1642 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a
1643 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,1643 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,
1644 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="1413187294-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:·5d7d1172622a7fa101191003e6482a61c93fc29b9d5f33e6d2adf2e5a0c016e0·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1644 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="4654441288-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:·f1c68193cd8d0b3af9704c212e8dd722bb7dc642710759352678e7855426aa1c·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1645 ··</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="1413187294-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:·00ffe8bada7c2e6014a08eb7fcad0fab54c2b44b8e0dda31afa01b71e88633c3·...·]-2">)</span><span·class="p">,</span><span·class="w">1645 ··</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="4654441288-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:·3df58675c6b0d3129685fe275c4a9d6e410eb7eaf53bdbf0fe33936d551c73a2·...·]-2">)</span><span·class="p">,</span><span·class="w">
1646 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="1413187294-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="1413187294-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·list1646 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="4654441288-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="4654441288-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
1647 at·the·client·side.</li></ul><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·the1647 at·the·client·side.</li></ul><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
1648 <code·class="inline">apply()</code>.·It·may·be·a·server,·or·a·freshly·spawned·process.</p></section><p>Equivalent·to1648 <code·class="inline">apply()</code>.·It·may·be·a·server,·or·a·freshly·spawned·process.</p></section><p>Equivalent·to
1649 <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><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·the1649 <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><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
1650 <code·class="inline">apply()</code>.·It·may·be·a·server,·or·a·freshly·spawned·process.</p></section>1650 <code·class="inline">apply()</code>.·It·may·be·a·server,·or·a·freshly·spawned·process.</p></section>
1651 ··</section>1651 ··</section>
1652 </section>1652 </section>
1653 <section·class="detail"·id="send_request/6">1653 <section·class="detail"·id="send_request/6">
Offset 1869, 15 lines modifiedOffset 1869, 15 lines modified
1869 ······<p·class="built-using">1869 ······<p·class="built-using">
1870 ········Built·using1870 ········Built·using
1871 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1871 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1872 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1872 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1873 ······</p>1873 ······</p>
1874 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1874 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1875 ····</footer>1875 ····</footer>
1876 ··</div>1876 ··</div>
1877 </main>1877 </main>
1878 </div>1878 </div>
1879 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1879 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1880 ··<script>1880 ··<script>
1881 ··let·initialized·=·false;1881 ··let·initialized·=·false;
730 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>330 <p>Copyright·©·1996-2025·<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.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1209 <p>Copyright·©·1996-2025·<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.7 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/doc/html/file.html
    
Offset 176, 39 lines modifiedOffset 176, 39 lines modified
176 running·its·file·server·as·slave·to·the·file·server·of·another·node,·and·the176 running·its·file·server·as·slave·to·the·file·server·of·another·node,·and·the
177 other·node·runs·on·some·other·host·machine,·they·can·have·different·file177 other·node·runs·on·some·other·host·machine,·they·can·have·different·file
178 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·on178 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
179 caching,·which·will·reduce·the·number·of·operating·system·calls·and·greatly179 caching,·which·will·reduce·the·number·of·operating·system·calls·and·greatly
180 improve·performance·for·small·reads·and·writes.·However,·the·overhead·won't180 improve·performance·for·small·reads·and·writes.·However,·the·overhead·won't
181 disappear·completely·and·it's·best·to·keep·the·number·of·file·operations·to·a181 disappear·completely·and·it's·best·to·keep·the·number·of·file·operations·to·a
182 minimum.·As·a·contrived·example,·the·following·function·writes·4MB·in·2.5182 minimum.·As·a·contrived·example,·the·following·function·writes·4MB·in·2.5
183 seconds·when·tested:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="5323022706-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="5323022706-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">183 seconds·when·tested:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="4464721347-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="4464721347-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
184 ····</span><span·class="p"·data-group-id="5323022706-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="5323022706-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·612,·SHA:·3b5fd0bdb9798309a2587eb0133065fe1c93ab56e6adf14fa0859b215f81a809·...·]-3">)</span><span·class="p">,</span><span·class="w">184 ····</span><span·class="p"·data-group-id="4464721347-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="4464721347-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·612,·SHA:·6b850a48fdd74d8d84129613713572aed8c92a9a5396038af68341fccad46d0f·...·]-3">)</span><span·class="p">,</span><span·class="w">
185 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="5323022706-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="5323[·...·truncated·by·diffoscope;·len:·6,·SHA:·47f404e5f4eb406fffb4c17407b02c7aa5765b9b254c7a5ca92a9812445eb219·...·]-5">)</span><span·class="p">,</span><span·class="w">185 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="4464721347-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="4464[·...·truncated·by·diffoscope;·len:·6,·SHA:·42cce19ae1b22bba205b1844f9564e2438041ae64aace066d98e6f7e281bc69f·...·]-5">)</span><span·class="p">,</span><span·class="w">
186 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="5323022706-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="5323022706-6">)</span><span·class="p">.</span><span·class="w">186 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="4464721347-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="4464721347-6">)</span><span·class="p">.</span><span·class="w">
  
187 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="5323022706-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="5323022706-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">187 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="4464721347-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="4464721347-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
188 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">188 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
189 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="5323022706-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="5323022706-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="4464721347-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="4464721347-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
190 ····</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="5323022706-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5323022706-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="5323022706-10">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·ca4bd3c2f8e9d1c8f1d7e95b9574704c96e17cd22b61b049bc74d766dd414ab0·...·]-9">)</span><span·class="p">,</span><span·class="w">190 ····</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="4464721347-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4464721347-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="4464721347-10">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·685d41aace2e2d7814e898ac748d6ff3655862ffcaeab154d4fa14c8b1c10794·...·]-9">)</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="5323022706-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="53230227[·...·truncated·by·diffoscope;·len:·2,·SHA:·aacd834b5cdc64a329e27649143406dd068306542988dfc250d6184745894849·...·]-11">)</span><span·class="p">.</span></code></pre><p>The·following·functionally·equivalent·code·writes·128·bytes·per·call·to191 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="4464721347-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="44647213[·...·truncated·by·diffoscope;·len:·2,·SHA:·31489056e0916d59fe3add79e63f095af3ffb81604691f21cad442a85c7be617·...·]-11">)</span><span·class="p">.</span></code></pre><p>The·following·functionally·equivalent·code·writes·128·bytes·per·call·to
192 <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·times192 <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
193 faster:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file</span><span·class="p"·data-group-id="3800360870-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="3800360870-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 faster:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file</span><span·class="p"·data-group-id="6921741262-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="6921741262-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ····</span><span·class="p"·data-group-id="3800360870-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="3800360870-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·612,·SHA:·72654d440a33b12657bcb94c0e6876715b35e2ecd09f585c59f74c5ab0479aff·...·]-3">)</span><span·class="p">,</span><span·class="w">194 ····</span><span·class="p"·data-group-id="6921741262-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="6921741262-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·612,·SHA:·e89355eab87304b2255f672b689b4dbec5a7e0e390744291addb9f49714532c4·...·]-3">)</span><span·class="p">,</span><span·class="w">
195 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="3800360870-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="3800[·...·truncated·by·diffoscope;·len:·6,·SHA:·4c15449432af72ac927475c3076dd7ca139688fad6588fb346c6e2eb89c1a0ef·...·]-5">)</span><span·class="p">,</span><span·class="w">195 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="6921741262-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="6921[·...·truncated·by·diffoscope;·len:·6,·SHA:·df70cb081b19c35c4e0b83e0579227b72afa06bb7c9d82973884c56ce73ec6bb·...·]-5">)</span><span·class="p">,</span><span·class="w">
196 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="3800360870-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="3800360870-6">)</span><span·class="p">,</span><span·class="w">196 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="6921741262-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="6921741262-6">)</span><span·class="p">,</span><span·class="w">
197 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">197 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
198 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="3800360870-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="3800360870-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">198 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="6921741262-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="6921741262-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">199 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
200 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="3800360870-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="3800360870-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="nf">create_file_1</span><span·class="p"·data-group-id="6921741262-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="6921741262-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">
201 ····</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="3800360870-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3800360870-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="3800360870-11">(</sp[·...·truncated·by·diffoscope;·len:·287,·SHA:·75afd874512cca61009c92c271c9fab92992f53445322fb94815a5ab50196139·...·]-9">)</span><span·class="p">,</span><span·class="w">201 ····</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="6921741262-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6921741262-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="6921741262-11">(</sp[·...·truncated·by·diffoscope;·len:·287,·SHA:·40fc64534b8bf150e0b0243502e7c1e8e5e5dccc6103e64d3994dca264b61a4c·...·]-9">)</span><span·class="p">,</span><span·class="w">
202 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="3800360870-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="380036[·...·truncated·by·diffoscope;·len:·4,·SHA:·9f3d747fc2ada531e8a1b7f1caf5763cdf355a6413b665d6a3a633186a676b12·...·]-12">)</span><span·class="p">;</span><span·class="w">202 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="6921741262-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="692174[·...·truncated·by·diffoscope;·len:·4,·SHA:·16e18ac98844452e0eba34f615bdeaad8ba8a53a7e59e232de17502a17cd57d3·...·]-12">)</span><span·class="p">;</span><span·class="w">
203 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="3800360870-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="3800360870-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">203 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="6921741262-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="6921741262-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
204 ····</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="3800360870-14">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3800360870-15">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="3800360870-16">(</s[·...·truncated·by·diffoscope;·len:·285,·SHA:·1b1ec4c83a77d5a6e0a237e1d19531d0c9bf185b083798255567e478a62ca005·...·]-14">)</span><span·class="p">,</span><span·class="w">204 ····</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="6921741262-14">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6921741262-15">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="6921741262-16">(</s[·...·truncated·by·diffoscope;·len:·285,·SHA:·0e586927afdca0c43482026ef6c938411e25b8c9a3aa11a445ff599dc211b95f·...·]-14">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="3800360870-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="38003608[·...·truncated·by·diffoscope;·len:·2,·SHA:·ff5a1ae012afa5d4c889c50ad427aaf545d31a4fac04ffc1c4d03d403ba4250a·...·]-17">)</span><span·class="p">.</span></code></pre><p>When·writing·data·it's·generally·more·efficient·to·write·a·list·of·binaries205 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="6921741262-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="69217412[·...·truncated·by·diffoscope;·len:·2,·SHA:·81b8a03f97e8787c53fe1a86bda042b6f0de9b0ec9c09357e107c99ba4d6948a·...·]-17">)</span><span·class="p">.</span></code></pre><p>When·writing·data·it's·generally·more·efficient·to·write·a·list·of·binaries
206 rather·than·a·list·of·integers.·It·is·not·needed·to·flatten·a·deep·list·before206 rather·than·a·list·of·integers.·It·is·not·needed·to·flatten·a·deep·list·before
207 writing.·On·Unix·hosts,·scatter·output,·which·writes·a·set·of·buffers·in·one207 writing.·On·Unix·hosts,·scatter·output,·which·writes·a·set·of·buffers·in·one
208 operation,·is·used·when·possible.·In·this·way208 operation,·is·used·when·possible.·In·this·way
209 <a·href="#write/2"><code·class="inline">write(FD,·[Bin1,·Bin2·|·Bin3])</code></a>·writes·the·contents·of·the209 <a·href="#write/2"><code·class="inline">write(FD,·[Bin1,·Bin2·|·Bin3])</code></a>·writes·the·contents·of·the
210 binaries·without·copying·the·data·at·all,·except·for·perhaps·deep·down·in·the210 binaries·without·copying·the·data·at·all,·except·for·perhaps·deep·down·in·the
211 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-6.2.2/doc/html/io.html"><code·class="inline">io</code></a>,·the·process211 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-6.2.2/doc/html/io.html"><code·class="inline">io</code></a>,·the·process
212 handling·the·file·exits.·The·dead·file·process·can·hang·if·a·process·tries·to212 handling·the·file·exits.·The·dead·file·process·can·hang·if·a·process·tries·to
Offset 1956, 16 lines modifiedOffset 1956, 16 lines modified
1956 ······</div>1956 ······</div>
  
1957 <p>Reads·Erlang·terms,·separated·by·<code·class="inline">.</code>,·from·<code·class="inline">Filename</code>.·Returns·one·of·the1957 <p>Reads·Erlang·terms,·separated·by·<code·class="inline">.</code>,·from·<code·class="inline">Filename</code>.·Returns·one·of·the
1958 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.1958 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.
1959 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·the1959 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
1960 Erlang·terms·in·the·file.·To·convert·the·three-element·tuple·to·an·English1960 Erlang·terms·in·the·file.·To·convert·the·three-element·tuple·to·an·English
1961 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}.1961 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}.
1962 ········{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="5299716463-1">(</span><span·class="s">&quot;f.txt&quot;</span><span·class="p"·data-group-id="5299716463-1">)</span><span·class="p">.</span><span·class="w">1962 ········{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="8123085556-1">(</span><span·class="s">&quot;f.txt&quot;</span><span·class="p"·data-group-id="8123085556-1">)</span><span·class="p">.</span><span·class="w">
1963 </span><span·class="p"·data-group-id="5299716463-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5299716463-3">[</span><span·class="p"·data-group-id="5299716463-4">{</span><span·class="ss">person</span><span·class="p">,</span><span·class="s">&quot;ka[·...·truncated·by·diffoscope;·len:·487,·SHA:·ea0b7428bd0284f96dec7f028a0ef97068cbf6acb6ad1cd273a70988d59b8be1·...·]-2">}</span></code></pre><p>The·encoding·of·<code·class="inline">Filename</code>·can·be·set·by·a·comment,·as·described·in1963 </span><span·class="p"·data-group-id="8123085556-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8123085556-3">[</span><span·class="p"·data-group-id="8123085556-4">{</span><span·class="ss">person</span><span·class="p">,</span><span·class="s">&quot;ka[·...·truncated·by·diffoscope;·len:·487,·SHA:·5aa5273575fc540cc7e15decd8ef727dab49072f4604682d2def97bfb1c512e4·...·]-2">}</span></code></pre><p>The·encoding·of·<code·class="inline">Filename</code>·can·be·set·by·a·comment,·as·described·in
1964 <a·href="../../../../lib/stdlib-6.2.2/doc/html/epp.html#encoding"><code·class="inline">epp</code></a>.</p>1964 <a·href="../../../../lib/stdlib-6.2.2/doc/html/epp.html#encoding"><code·class="inline">epp</code></a>.</p>
1965 ··</section>1965 ··</section>
1966 </section>1966 </section>
1967 <section·class="detail"·id="copy/2">1967 <section·class="detail"·id="copy/2">
  
1968 ··<div·class="detail-header">1968 ··<div·class="detail-header">
1969 ····<a·href="#copy/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1969 ····<a·href="#copy/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 3246, 15 lines modifiedOffset 3246, 15 lines modified
3246 ····························FileInfo·::·<a·href="#t:file_info/0">file_info</a>(),3246 ····························FileInfo·::·<a·href="#t:file_info/0">file_info</a>(),
3247 ····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>3247 ····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>
  
3248 ······</div>3248 ······</div>
  
3249 <p>Retrieves·information·about·a·file.·Returns·<code·class="inline">{ok,·FileInfo}</code>·if·successful,3249 <p>Retrieves·information·about·a·file.·Returns·<code·class="inline">{ok,·FileInfo}</code>·if·successful,
3250 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>.3250 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>.
3251 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="1175932538-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="1175932538-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·time3251 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="6122161203-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="6122161203-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
3252 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·is3252 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
3253 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·information3253 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
3254 about·local·files·is·returned.·Note·that·this·will·break·this·module's·atomicity3254 about·local·files·is·returned.·Note·that·this·will·break·this·module's·atomicity
3255 guarantees·as·it·can·race·with·a·concurrent·call·to3255 guarantees·as·it·can·race·with·a·concurrent·call·to
3256 <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·a3256 <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
3257 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·file3257 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
3258 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-15.2.7/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.·Can3258 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-15.2.7/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 3900, 15 lines modifiedOffset 3900, 15 lines modified
3900 ·····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>3900 ·····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>
  
3901 ······</div>3901 ······</div>
  
3902 <p>Changes·file·information.·Returns·<code·class="inline">ok</code>·if·successful,·otherwise3902 <p>Changes·file·information.·Returns·<code·class="inline">ok</code>·if·successful,·otherwise
3903 <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·Kernel3903 <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
3904 include·file·<code·class="inline">file.hrl</code>.·Include·the·following·directive·in·the·module·from3904 include·file·<code·class="inline">file.hrl</code>.·Include·the·following·directive·in·the·module·from
3905 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="9119433616-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="9119433616-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·set3905 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="0764810322-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="0764810322-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
3906 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·is3906 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
3907 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·information3907 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
3908 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-15.2.7/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·The·last·time·the·file·was3908 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-15.2.7/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
3909 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-15.2.7/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·The·last·time·the·file·was3909 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-15.2.7/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
3910 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-15.2.7/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·On·Unix,·any·value3910 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-15.2.7/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·On·Unix,·any·value
3911 specified·for·this·field·is·ignored·(the·&quot;ctime&quot;·for·the·file·is·set·to·the3911 specified·for·this·field·is·ignored·(the·&quot;ctime&quot;·for·the·file·is·set·to·the
3912 current·time).·On·Windows,·this·field·is·the·new·creation·time·to·set·for·the3912 current·time).·On·Windows,·this·field·is·the·new·creation·time·to·set·for·the
Offset 3942, 15 lines modifiedOffset 3942, 15 lines modified
3942 ······<p·class="built-using">3942 ······<p·class="built-using">
3943 ········Built·using3943 ········Built·using
3944 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3944 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3945 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3945 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3946 ······</p>3946 ······</p>
3947 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3947 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3948 ····</footer>3948 ····</footer>
3949 ··</div>3949 ··</div>
3950 </main>3950 </main>
3951 </div>3951 </div>
3952 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3952 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3953 ··<script>3953 ··<script>
3954 ··let·initialized·=·false;3954 ··let·initialized·=·false;
663 B
html2text {}
Max HTML report size reached
170 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/doc/html/gen_sctp.html
    
Offset 132, 15 lines modifiedOffset 132, 15 lines modified
132 The·implementation·assumes·that·the·OS·kernel·supports·SCTP132 The·implementation·assumes·that·the·OS·kernel·supports·SCTP
133 <a·href="http://www.rfc-archive.org/getrfc.php?rfc=2960">(RFC·2960)</a>133 <a·href="http://www.rfc-archive.org/getrfc.php?rfc=2960">(RFC·2960)</a>
134 through·the·user-level134 through·the·user-level
135 <a·href="http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13">Sockets·API·Extensions</a>.</p><p>During·development,·this·implementation·was·tested·on:</p><ul><li>Linux·Fedora·Core·5.0·(kernel·2.6.15-2054·or·later·is·needed)</li><li>Solaris·10,·11</li></ul><p>During·OTP·adaptation·it·was·tested·on:</p><ul><li>SUSE·Linux·Enterprise·Server·10·(x86_64)·kernel·2.6.16.27-0.6-smp,·with135 <a·href="http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13">Sockets·API·Extensions</a>.</p><p>During·development,·this·implementation·was·tested·on:</p><ul><li>Linux·Fedora·Core·5.0·(kernel·2.6.15-2054·or·later·is·needed)</li><li>Solaris·10,·11</li></ul><p>During·OTP·adaptation·it·was·tested·on:</p><ul><li>SUSE·Linux·Enterprise·Server·10·(x86_64)·kernel·2.6.16.27-0.6-smp,·with
136 lksctp-tools-1.0.6</li><li>Briefly·on·Solaris·10</li><li>SUSE·Linux·Enterprise·Server·10·Service·Pack·1·(x86_64)·kernel136 lksctp-tools-1.0.6</li><li>Briefly·on·Solaris·10</li><li>SUSE·Linux·Enterprise·Server·10·Service·Pack·1·(x86_64)·kernel
137 2.6.16.54-0.2.3-smp·with·lksctp-tools-1.0.7</li><li>FreeBSD·8.2</li></ul><p>This·module·was·written·for·one-to-many·style·sockets·(type·<code·class="inline">seqpacket</code>).137 2.6.16.54-0.2.3-smp·with·lksctp-tools-1.0.7</li><li>FreeBSD·8.2</li></ul><p>This·module·was·written·for·one-to-many·style·sockets·(type·<code·class="inline">seqpacket</code>).
138 With·the·addition·of·<a·href="#peeloff/2"><code·class="inline">peeloff/2</code></a>,·one-to-one·style·sockets·(type·<code·class="inline">stream</code>)138 With·the·addition·of·<a·href="#peeloff/2"><code·class="inline">peeloff/2</code></a>,·one-to-one·style·sockets·(type·<code·class="inline">stream</code>)
139 were·introduced.</p><p>Record·definitions·for·this·module·can·be·found·using:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2680542493-1">(</span><span·class="s">&quot;kernel/include/inet_sctp.hrl&quot;</span><span·class="p"·data-group-id="2680542493-1">)</span><span·class="p">.</span></code></pre><p>These·record·definitions·use·the·&quot;new&quot;·spelling·'adaptation',139 were·introduced.</p><p>Record·definitions·for·this·module·can·be·found·using:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="8179880784-1">(</span><span·class="s">&quot;kernel/include/inet_sctp.hrl&quot;</span><span·class="p"·data-group-id="8179880784-1">)</span><span·class="p">.</span></code></pre><p>These·record·definitions·use·the·&quot;new&quot;·spelling·'adaptation',
140 not·the·deprecated·'adaption',·regardless·of·which·spelling140 not·the·deprecated·'adaption',·regardless·of·which·spelling
141 the·underlying·C·API·uses.</p><h2·id="module-sctp-socket-options"·class="section-heading">141 the·underlying·C·API·uses.</p><h2·id="module-sctp-socket-options"·class="section-heading">
142 ··<a·href="#module-sctp-socket-options"·class="hover-link">142 ··<a·href="#module-sctp-socket-options"·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"><a·href=""·id="options"></a>·SCTP·Socket·Options</span>145 ··<span·class="text"><a·href=""·id="options"></a>·SCTP·Socket·Options</span>
146 </h2>146 </h2>
Offset 180, 39 lines modifiedOffset 180, 39 lines modified
180 the·driver·buffer·(see·<code·class="inline">buffer</code>·above).</p></li><li><p><strong><code·class="inline">{recbuf, integer()}</code></strong>·-·The·size,·in·bytes,·of·the·OS·kernel·receive180 the·driver·buffer·(see·<code·class="inline">buffer</code>·above).</p></li><li><p><strong><code·class="inline">{recbuf, integer()}</code></strong>·-·The·size,·in·bytes,·of·the·OS·kernel·receive
181 buffer·for·this·socket.·Sending·errors·would·occur·for·datagrams181 buffer·for·this·socket.·Sending·errors·would·occur·for·datagrams
182 larger·than·<code·class="inline">val(recbuf)</code>.·Setting·this·option·also·adjusts·the·size182 larger·than·<code·class="inline">val(recbuf)</code>.·Setting·this·option·also·adjusts·the·size
183 of·the·driver·buffer·(see·<code·class="inline">buffer</code>·above).</p></li></ul><h3·id="option_non_block_send"><a·href=""></a></h3><ul><li><p><strong><code·class="inline">{non_block_send, boolean()}</code></strong>·-·A·send·call·that·would·otherwise·block·(hang),183 of·the·driver·buffer·(see·<code·class="inline">buffer</code>·above).</p></li></ul><h3·id="option_non_block_send"><a·href=""></a></h3><ul><li><p><strong><code·class="inline">{non_block_send, boolean()}</code></strong>·-·A·send·call·that·would·otherwise·block·(hang),
184 will·instead·immediately·return·with·e.g.·<code·class="inline">{error,·eagain}</code>184 will·instead·immediately·return·with·e.g.·<code·class="inline">{error,·eagain}</code>
185 <em>if</em>·this·option·has·been·set·to·<code·class="inline">true</code>.185 <em>if</em>·this·option·has·been·set·to·<code·class="inline">true</code>.
186 Defaults·to·<code·class="inline">false</code>.</p></li><li><p><strong><code·class="inline">{sctp_module, module()}</code></strong>·-·Overrides·which·callback·module·is·used.186 Defaults·to·<code·class="inline">false</code>.</p></li><li><p><strong><code·class="inline">{sctp_module, module()}</code></strong>·-·Overrides·which·callback·module·is·used.
187 Defaults·to·<code·class="inline">inet_sctp</code>·for·IPv4·and·<code·class="inline">inet6_sctp</code>·for·IPv6.</p></li><li><p><strong><code·class="inline">{sctp_rtoinfo, #sctp_rtoinfo{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_rtoinfo</span><span·class="p"·data-group-id="0361038195-1">{</span><span·class="w">187 Defaults·to·<code·class="inline">inet_sctp</code>·for·IPv4·and·<code·class="inline">inet6_sctp</code>·for·IPv6.</p></li><li><p><strong><code·class="inline">{sctp_rtoinfo, #sctp_rtoinfo{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_rtoinfo</span><span·class="p"·data-group-id="8905533786-1">{</span><span·class="w">
188 ······</span><span·class="ss">assoc_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="0361038195-2">(</span><span·class="p"·data-group-id="0361038195-2">)</span><span·class="p">,</span><span·class="w">188 ······</span><span·class="ss">assoc_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="8905533786-2">(</span><span·class="p"·data-group-id="8905533786-2">)</span><span·class="p">,</span><span·class="w">
189 ······</span><span·class="ss">initial</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0361038195-3">(</span><span·class="p"·data-group-id="0361038195-3">)</span><span·class="p">,</span><span·class="w">189 ······</span><span·class="ss">initial</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8905533786-3">(</span><span·class="p"·data-group-id="8905533786-3">)</span><span·class="p">,</span><span·class="w">
190 ······</span><span·class="ss">max</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0361038195-4">(</span><span·class="p"·data-group-id="0361038195-4">)</span><span·class="p">,</span><span·class="w">190 ······</span><span·class="ss">max</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8905533786-4">(</span><span·class="p"·data-group-id="8905533786-4">)</span><span·class="p">,</span><span·class="w">
191 ······</span><span·class="ss">min</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0361038195-5">(</span><span·class="p"·data-group-id="0361038195-5">)</span><span·class="w">191 ······</span><span·class="ss">min</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8905533786-5">(</span><span·class="p"·data-group-id="8905533786-5">)</span><span·class="w">
192 </span><span·class="p"·data-group-id="0361038195-1">}</span></code></pre><p>Determines·retransmission·time-out·parameters,·in·milliseconds,·for·the192 </span><span·class="p"·data-group-id="8905533786-1">}</span></code></pre><p>Determines·retransmission·time-out·parameters,·in·milliseconds,·for·the
193 association(s)·specified·by·<code·class="inline">assoc_id</code>.</p><p><code·class="inline">assoc_id = 0</code>·(default)·indicates·the·whole·endpoint.·See193 association(s)·specified·by·<code·class="inline">assoc_id</code>.</p><p><code·class="inline">assoc_id = 0</code>·(default)·indicates·the·whole·endpoint.·See
194 <a·href="http://www.rfc-archive.org/getrfc.php?rfc=2960">RFC·2960</a>·and194 <a·href="http://www.rfc-archive.org/getrfc.php?rfc=2960">RFC·2960</a>·and
195 <a·href="http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13">Sockets·API·Extensions·for·SCTP</a>195 <a·href="http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13">Sockets·API·Extensions·for·SCTP</a>
196 for·the·exact·semantics·of·the·field·values.</p></li><li><p><strong><code·class="inline">{sctp_associnfo, #sctp_assocparams{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_assocparams</span><span·class="p"·data-group-id="9936859697-1">{</span><span·class="w">196 for·the·exact·semantics·of·the·field·values.</p></li><li><p><strong><code·class="inline">{sctp_associnfo, #sctp_assocparams{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_assocparams</span><span·class="p"·data-group-id="5162853267-1">{</span><span·class="w">
197 ······</span><span·class="ss">assoc_id</span><span·class="w">·················</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="9936859697-2">(</span><span·class="p"·data-group-id="9936859697-2">)</span><span·class="p">,</span><span·class="w">197 ······</span><span·class="ss">assoc_id</span><span·class="w">·················</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="5162853267-2">(</span><span·class="p"·data-group-id="5162853267-2">)</span><span·class="p">,</span><span·class="w">
198 ······</span><span·class="ss">asocmaxrxt</span><span·class="w">···············</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9936859697-3">(</span><span·class="p"·data-group-id="9936859697-3">)</span><span·class="p">,</span><span·class="w">198 ······</span><span·class="ss">asocmaxrxt</span><span·class="w">···············</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5162853267-3">(</span><span·class="p"·data-group-id="5162853267-3">)</span><span·class="p">,</span><span·class="w">
199 ······</span><span·class="ss">number_peer_destinations</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9936859697-4">(</span><span·class="p"·data-group-id="9936859697-4">)</span><span·class="p">,</span><span·class="w">199 ······</span><span·class="ss">number_peer_destinations</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5162853267-4">(</span><span·class="p"·data-group-id="5162853267-4">)</span><span·class="p">,</span><span·class="w">
200 ······</span><span·class="ss">peer_rwnd</span><span·class="w">················</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9936859697-5">(</span><span·class="p"·data-group-id="9936859697-5">)</span><span·class="p">,</span><span·class="w">200 ······</span><span·class="ss">peer_rwnd</span><span·class="w">················</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5162853267-5">(</span><span·class="p"·data-group-id="5162853267-5">)</span><span·class="p">,</span><span·class="w">
201 ······</span><span·class="ss">local_rwnd</span><span·class="w">···············</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9936859697-6">(</span><span·class="p"·data-group-id="9936859697-6">)</span><span·class="p">,</span><span·class="w">201 ······</span><span·class="ss">local_rwnd</span><span·class="w">···············</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5162853267-6">(</span><span·class="p"·data-group-id="5162853267-6">)</span><span·class="p">,</span><span·class="w">
202 ······</span><span·class="ss">cookie_life</span><span·class="w">··············</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9936859697-7">(</span><span·class="p"·data-group-id="9936859697-7">)</span><span·class="w">202 ······</span><span·class="ss">cookie_life</span><span·class="w">··············</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5162853267-7">(</span><span·class="p"·data-group-id="5162853267-7">)</span><span·class="w">
203 </span><span·class="p"·data-group-id="9936859697-1">}</span></code></pre><p>Determines·association·parameters·for·the·association(s)·specified·by203 </span><span·class="p"·data-group-id="5162853267-1">}</span></code></pre><p>Determines·association·parameters·for·the·association(s)·specified·by
204 <code·class="inline">assoc_id</code>.</p><p><code·class="inline">assoc_id = 0</code>·(default)·indicates·the·whole·endpoint.·See204 <code·class="inline">assoc_id</code>.</p><p><code·class="inline">assoc_id = 0</code>·(default)·indicates·the·whole·endpoint.·See
205 <a·href="http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13">Sockets·API·Extensions·for·SCTP</a>205 <a·href="http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13">Sockets·API·Extensions·for·SCTP</a>
206 for·the·discussion·of·their·semantics.·Rarely·used.</p></li><li><p><strong><code·class="inline">{sctp_initmsg, #sctp_initmsg{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_initmsg</span><span·class="p"·data-group-id="8471794240-1">{</span><span·class="w">206 for·the·discussion·of·their·semantics.·Rarely·used.</p></li><li><p><strong><code·class="inline">{sctp_initmsg, #sctp_initmsg{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_initmsg</span><span·class="p"·data-group-id="0151781464-1">{</span><span·class="w">
207 ·····</span><span·class="ss">num_ostreams</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8471794240-2">(</span><span·class="p"·data-group-id="8471794240-2">)</span><span·class="p">,</span><span·class="w">207 ·····</span><span·class="ss">num_ostreams</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0151781464-2">(</span><span·class="p"·data-group-id="0151781464-2">)</span><span·class="p">,</span><span·class="w">
208 ·····</span><span·class="ss">max_instreams</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8471794240-3">(</span><span·class="p"·data-group-id="8471794240-3">)</span><span·class="p">,</span><span·class="w">208 ·····</span><span·class="ss">max_instreams</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0151781464-3">(</span><span·class="p"·data-group-id="0151781464-3">)</span><span·class="p">,</span><span·class="w">
209 ·····</span><span·class="ss">max_attempts</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8471794240-4">(</span><span·class="p"·data-group-id="8471794240-4">)</span><span·class="p">,</span><span·class="w">209 ·····</span><span·class="ss">max_attempts</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0151781464-4">(</span><span·class="p"·data-group-id="0151781464-4">)</span><span·class="p">,</span><span·class="w">
210 ·····</span><span·class="ss">max_init_timeo</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8471794240-5">(</span><span·class="p"·data-group-id="8471794240-5">)</span><span·class="w">210 ·····</span><span·class="ss">max_init_timeo</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0151781464-5">(</span><span·class="p"·data-group-id="0151781464-5">)</span><span·class="w">
211 </span><span·class="p"·data-group-id="8471794240-1">}</span></code></pre><p>Determines·the·default·parameters·that·this·socket·tries·to·negotiate211 </span><span·class="p"·data-group-id="0151781464-1">}</span></code></pre><p>Determines·the·default·parameters·that·this·socket·tries·to·negotiate
212 with·its·peer·while·establishing·an·association·with·it.·Is·to·be·set·after212 with·its·peer·while·establishing·an·association·with·it.·Is·to·be·set·after
213 <a·href="#open/1"><code·class="inline">open/*</code></a>·but·before·the·first·<a·href="#connect/4"><code·class="inline">connect/*</code></a>.213 <a·href="#open/1"><code·class="inline">open/*</code></a>·but·before·the·first·<a·href="#connect/4"><code·class="inline">connect/*</code></a>.
214 <code·class="inline">#sctp_initmsg{}</code>·can·also·be·used·as·ancillary·data·with·the·first·call·of214 <code·class="inline">#sctp_initmsg{}</code>·can·also·be·used·as·ancillary·data·with·the·first·call·of
215 <a·href="#send/3"><code·class="inline">send/*</code></a>·to·a·new·peer·(when·a·new·association·is·created).</p><ul><li><p><strong><code·class="inline">num_ostreams</code></strong>·-·Number·of·outbound·streams</p></li><li><p><strong><code·class="inline">max_instreams</code></strong>·-·Maximum·number·of·inbound·streams</p></li><li><p><strong><code·class="inline">max_attempts</code></strong>·-·Maximum·retransmissions·while·establishing·an215 <a·href="#send/3"><code·class="inline">send/*</code></a>·to·a·new·peer·(when·a·new·association·is·created).</p><ul><li><p><strong><code·class="inline">num_ostreams</code></strong>·-·Number·of·outbound·streams</p></li><li><p><strong><code·class="inline">max_instreams</code></strong>·-·Maximum·number·of·inbound·streams</p></li><li><p><strong><code·class="inline">max_attempts</code></strong>·-·Maximum·retransmissions·while·establishing·an
216 association</p></li><li><p><strong><code·class="inline">max_init_timeo</code></strong>·-·Time-out,·in·milliseconds,·for·establishing·an216 association</p></li><li><p><strong><code·class="inline">max_init_timeo</code></strong>·-·Time-out,·in·milliseconds,·for·establishing·an
217 association</p></li></ul></li><li><p><strong><code·class="inline">{sctp_autoclose, integer()·&gt;=·0}</code></strong>·-·Determines·the·time,·in·seconds,217 association</p></li></ul></li><li><p><strong><code·class="inline">{sctp_autoclose, integer()·&gt;=·0}</code></strong>·-·Determines·the·time,·in·seconds,
218 after·which·an·idle·association·is·automatically·closed.·<code·class="inline">0</code>·means·that·the218 after·which·an·idle·association·is·automatically·closed.·<code·class="inline">0</code>·means·that·the
Offset 221, 239 lines modifiedOffset 221, 239 lines modified
221 expense·of·latency.</p></li><li><p><strong><code·class="inline">{sctp_disable_fragments,·true|false}</code></strong>·-·If·<code·class="inline">true</code>,·induces·an·error·on·an221 expense·of·latency.</p></li><li><p><strong><code·class="inline">{sctp_disable_fragments,·true|false}</code></strong>·-·If·<code·class="inline">true</code>,·induces·an·error·on·an
222 attempt·to·send·a·message·larger·than·the·current·PMTU·size·(which·would222 attempt·to·send·a·message·larger·than·the·current·PMTU·size·(which·would
223 require·fragmentation/reassembling).·Notice·that·message·fragmentation·does223 require·fragmentation/reassembling).·Notice·that·message·fragmentation·does
224 not·affect·the·logical·atomicity·of·its·delivery;·this·option·is·provided·for224 not·affect·the·logical·atomicity·of·its·delivery;·this·option·is·provided·for
225 performance·reasons·only.</p></li><li><p><strong><code·class="inline">{sctp_i_want_mapped_v4_addr, true|false}</code></strong>·-·Turns·on|off·automatic225 performance·reasons·only.</p></li><li><p><strong><code·class="inline">{sctp_i_want_mapped_v4_addr, true|false}</code></strong>·-·Turns·on|off·automatic
226 mapping·of·IPv4·addresses·into·IPv6·ones·(if·the·socket·address·family·is226 mapping·of·IPv4·addresses·into·IPv6·ones·(if·the·socket·address·family·is
227 <code·class="inline">AF_INET6</code>).</p></li><li><p><strong><code·class="inline">{sctp_maxseg, integer()}</code></strong>·-·Determines·the·maximum·chunk·size·if·message227 <code·class="inline">AF_INET6</code>).</p></li><li><p><strong><code·class="inline">{sctp_maxseg, integer()}</code></strong>·-·Determines·the·maximum·chunk·size·if·message
228 fragmentation·is·used.·If·<code·class="inline">0</code>,·the·chunk·size·is·limited·by·the·Path·MTU·only.</p></li><li><p><strong><code·class="inline">{sctp_primary_addr, #sctp_prim{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_prim</span><span·class="p"·data-group-id="7713606009-1">{</span><span·class="w">228 fragmentation·is·used.·If·<code·class="inline">0</code>,·the·chunk·size·is·limited·by·the·Path·MTU·only.</p></li><li><p><strong><code·class="inline">{sctp_primary_addr, #sctp_prim{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_prim</span><span·class="p"·data-group-id="8347101973-1">{</span><span·class="w">
229 ······</span><span·class="ss">assoc_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="7713606009-2">(</span><span·class="p"·data-group-id="7713606009-2">)</span><span·class="p">,</span><span·class="w">229 ······</span><span·class="ss">assoc_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="8347101973-2">(</span><span·class="p"·data-group-id="8347101973-2">)</span><span·class="p">,</span><span·class="w">
230 ······</span><span·class="ss">addr</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7713606009-3">{</span><span·class="n">IP</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="7713606009-3">}</span><span·class="w">230 ······</span><span·class="ss">addr</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8347101973-3">{</span><span·class="n">IP</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="8347101973-3">}</span><span·class="w">
231 </span><span·class="p"·data-group-id="7713606009-1">}</span><span·class="w">231 </span><span·class="p"·data-group-id="8347101973-1">}</span><span·class="w">
232 ·</span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">ip_address</span><span·class="p"·data-group-id="7713606009-4">(</span><span·class="p"·data-group-id="7713606009-4">)</span><span·class="w">232 ·</span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">ip_address</span><span·class="p"·data-group-id="8347101973-4">(</span><span·class="p"·data-group-id="8347101973-4">)</span><span·class="w">
233 ·</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">port_number</span><span·class="p"·data-group-id="7713606009-5">(</span><span·class="p"·data-group-id="7713606009-5">)</span></code></pre><p>For·the·association·specified·by·<code·class="inline">assoc_id</code>,·<code·class="inline">{IP,Port}</code>·must·be·one·of·the233 ·</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">port_number</span><span·class="p"·data-group-id="8347101973-5">(</span><span·class="p"·data-group-id="8347101973-5">)</span></code></pre><p>For·the·association·specified·by·<code·class="inline">assoc_id</code>,·<code·class="inline">{IP,Port}</code>·must·be·one·of·the
234 peer·addresses.·This·option·determines·that·the·specified·address·is·treated234 peer·addresses.·This·option·determines·that·the·specified·address·is·treated
235 by·the·local·SCTP·stack·as·the·primary·address·of·the·peer.</p></li><li><p><strong><code·class="inline">{sctp_set_peer_primary_addr, #sctp_setpeerprim{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_setpeerprim</span><span·class="p"·data-group-id="8025499449-1">{</span><span·class="w">235 by·the·local·SCTP·stack·as·the·primary·address·of·the·peer.</p></li><li><p><strong><code·class="inline">{sctp_set_peer_primary_addr, #sctp_setpeerprim{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_setpeerprim</span><span·class="p"·data-group-id="2332291718-1">{</span><span·class="w">
236 ······</span><span·class="ss">assoc_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="8025499449-2">(</span><span·class="p"·data-group-id="8025499449-2">)</span><span·class="p">,</span><span·class="w">236 ······</span><span·class="ss">assoc_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="2332291718-2">(</span><span·class="p"·data-group-id="2332291718-2">)</span><span·class="p">,</span><span·class="w">
237 ······</span><span·class="ss">addr</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8025499449-3">{</span><span·class="n">IP</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="8025499449-3">}</span><span·class="w">237 ······</span><span·class="ss">addr</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2332291718-3">{</span><span·class="n">IP</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="2332291718-3">}</span><span·class="w">
238 </span><span·class="p"·data-group-id="8025499449-1">}</span><span·class="w">238 </span><span·class="p"·data-group-id="2332291718-1">}</span><span·class="w">
239 ·</span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">ip_address</span><span·class="p"·data-group-id="8025499449-4">(</span><span·class="p"·data-group-id="8025499449-4">)</span><span·class="w">239 ·</span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">ip_address</span><span·class="p"·data-group-id="2332291718-4">(</span><span·class="p"·data-group-id="2332291718-4">)</span><span·class="w">
240 ·</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">port_number</span><span·class="p"·data-group-id="8025499449-5">(</span><span·class="p"·data-group-id="8025499449-5">)</span></code></pre><p>When·set,·informs·the·peer·to·use·<code·class="inline">{IP, Port}</code>·as·the·primary·address·of·the240 ·</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">port_number</span><span·class="p"·data-group-id="2332291718-5">(</span><span·class="p"·data-group-id="2332291718-5">)</span></code></pre><p>When·set,·informs·the·peer·to·use·<code·class="inline">{IP, Port}</code>·as·the·primary·address·of·the
241 local·endpoint·for·the·association·specified·by·<code·class="inline">assoc_id</code>.</p></li><li><p><strong><code·class="inline">{sctp_adaptation_layer, #sctp_setadaptation{}}</code></strong>·<a·href=""·id="option-sctp_adaptation_layer"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_setadaptation</span><span·class="p"·data-group-id="5930093985-1">{</span><span·class="w">241 local·endpoint·for·the·association·specified·by·<code·class="inline">assoc_id</code>.</p></li><li><p><strong><code·class="inline">{sctp_adaptation_layer, #sctp_setadaptation{}}</code></strong>·<a·href=""·id="option-sctp_adaptation_layer"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_setadaptation</span><span·class="p"·data-group-id="6750776732-1">{</span><span·class="w">
242 ······</span><span·class="ss">adaptation_ind</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5930093985-2">(</span><span·class="p"·data-group-id="5930093985-2">)</span><span·class="w">242 ······</span><span·class="ss">adaptation_ind</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6750776732-2">(</span><span·class="p"·data-group-id="6750776732-2">)</span><span·class="w">
243 </span><span·class="p"·data-group-id="5930093985-1">}</span></code></pre><p>When·set,·requests·that·the·local·endpoint·uses·the·value·specified·by243 </span><span·class="p"·data-group-id="6750776732-1">}</span></code></pre><p>When·set,·requests·that·the·local·endpoint·uses·the·value·specified·by
244 <code·class="inline">adaptation_ind</code>·as·the·Adaptation·Indication·parameter·for·establishing244 <code·class="inline">adaptation_ind</code>·as·the·Adaptation·Indication·parameter·for·establishing
245 new·associations.·For·details,·see245 new·associations.·For·details,·see
246 <a·href="http://www.rfc-archive.org/getrfc.php?rfc=2960">RFC·2960</a>·and246 <a·href="http://www.rfc-archive.org/getrfc.php?rfc=2960">RFC·2960</a>·and
247 <a·href="http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13">Sockets·API·Extensions·for·SCTP</a>.</p></li><li><p><strong><code·class="inline">{sctp_peer_addr_params, #sctp_paddrparams{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_paddrparams</span><span·class="p"·data-group-id="6270536821-1">{</span><span·class="w">247 <a·href="http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13">Sockets·API·Extensions·for·SCTP</a>.</p></li><li><p><strong><code·class="inline">{sctp_peer_addr_params, #sctp_paddrparams{}}</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_paddrparams</span><span·class="p"·data-group-id="1793399103-1">{</span><span·class="w">
248 ······</span><span·class="ss">assoc_id</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="6270536821-2">(</span><span·class="p"·data-group-id="6270536821-2">)</span><span·class="p">,</span><span·class="w">248 ······</span><span·class="ss">assoc_id</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="1793399103-2">(</span><span·class="p"·data-group-id="1793399103-2">)</span><span·class="p">,</span><span·class="w">
249 ······</span><span·class="ss">address</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6270536821-3">{</span><span·class="n">IP</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="6270536821-3">}</span><span·class="p">,</span><span·class="w">249 ······</span><span·class="ss">address</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1793399103-3">{</span><span·class="n">IP</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="1793399103-3">}</span><span·class="p">,</span><span·class="w">
250 ······</span><span·class="ss">hbinterval</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6270536821-4">(</span><span·class="p"·data-group-id="6270536821-4">)</span><span·class="p">,</span><span·class="w">250 ······</span><span·class="ss">hbinterval</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1793399103-4">(</span><span·class="p"·data-group-id="1793399103-4">)</span><span·class="p">,</span><span·class="w">
251 ······</span><span·class="ss">pathmaxrxt</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6270536821-5">(</span><span·class="p"·data-group-id="6270536821-5">)</span><span·class="p">,</span><span·class="w">251 ······</span><span·class="ss">pathmaxrxt</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1793399103-5">(</span><span·class="p"·data-group-id="1793399103-5">)</span><span·class="p">,</span><span·class="w">
252 ······</span><span·class="ss">pathmtu</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6270536821-6">(</span><span·class="p"·data-group-id="6270536821-6">)</span><span·class="p">,</span><span·class="w">252 ······</span><span·class="ss">pathmtu</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1793399103-6">(</span><span·class="p"·data-group-id="1793399103-6">)</span><span·class="p">,</span><span·class="w">
253 ······</span><span·class="ss">sackdelay</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6270536821-7">(</span><span·class="p"·data-group-id="6270536821-7">)</span><span·class="p">,</span><span·class="w">253 ······</span><span·class="ss">sackdelay</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1793399103-7">(</span><span·class="p"·data-group-id="1793399103-7">)</span><span·class="p">,</span><span·class="w">
254 ······</span><span·class="ss">flags</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">list</span><span·class="p"·data-group-id="6270536821-8">(</span><span·class="p"·data-group-id="6270536821-8">)</span><span·class="w">254 ······</span><span·class="ss">flags</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">list</span><span·class="p"·data-group-id="1793399103-8">(</span><span·class="p"·data-group-id="1793399103-8">)</span><span·class="w">
255 </span><span·class="p"·data-group-id="6270536821-1">}</span><span·class="w">255 </span><span·class="p"·data-group-id="1793399103-1">}</span><span·class="w">
256 </span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">ip_address</span><span·class="p"·data-group-id="6270536821-9">(</span><span·class="p"·data-group-id="6270536821-9">)</span><span·class="w">256 </span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">ip_address</span><span·class="p"·data-group-id="1793399103-9">(</span><span·class="p"·data-group-id="1793399103-9">)</span><span·class="w">
257 </span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">port_number</span><span·class="p"·data-group-id="6270536821-10">(</span><span·class="p"·data-group-id="6270536821-10">)</span></code></pre><p>Determines·various·per-address·parameters·for·the·association·specified·by257 </span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">port_number</span><span·class="p"·data-group-id="1793399103-10">(</span><span·class="p"·data-group-id="1793399103-10">)</span></code></pre><p>Determines·various·per-address·parameters·for·the·association·specified·by
258 <code·class="inline">assoc_id</code>·and·the·peer·address·<code·class="inline">address</code>·(the·SCTP·protocol·supports258 <code·class="inline">assoc_id</code>·and·the·peer·address·<code·class="inline">address</code>·(the·SCTP·protocol·supports
259 multi-homing,·so·more·than·one·address·can·correspond·to·a·specified259 multi-homing,·so·more·than·one·address·can·correspond·to·a·specified
260 association).</p><ul><li><p><strong><code·class="inline">hbinterval</code></strong>·-·Heartbeat·interval,·in·milliseconds</p></li><li><p><strong><code·class="inline">pathmaxrxt</code></strong>·-·Maximum·number·of·retransmissions·before·this·address·is260 association).</p><ul><li><p><strong><code·class="inline">hbinterval</code></strong>·-·Heartbeat·interval,·in·milliseconds</p></li><li><p><strong><code·class="inline">pathmaxrxt</code></strong>·-·Maximum·number·of·retransmissions·before·this·address·is
261 considered·unreachable·(and·an·alternative·address·is·selected)</p></li><li><p><strong><code·class="inline">pathmtu</code></strong>·-·Fixed·Path·MTU,·if·automatic·discovery·is·disabled·(see261 considered·unreachable·(and·an·alternative·address·is·selected)</p></li><li><p><strong><code·class="inline">pathmtu</code></strong>·-·Fixed·Path·MTU,·if·automatic·discovery·is·disabled·(see
262 <code·class="inline">flags</code>·below)</p></li><li><p><strong><code·class="inline">sackdelay</code></strong>·-·Delay,·in·milliseconds,·for·SAC·messages·(if·the·delay·is262 <code·class="inline">flags</code>·below)</p></li><li><p><strong><code·class="inline">sackdelay</code></strong>·-·Delay,·in·milliseconds,·for·SAC·messages·(if·the·delay·is
263 enabled,·see·<code·class="inline">flags</code>·below)</p></li><li><p><strong><code·class="inline">flags</code></strong>·-·The·following·flags·are·available:</p><ul><li><p><strong><code·class="inline">hb_enable</code></strong>·-·Enables·heartbeat</p></li><li><p><strong><code·class="inline">hb_disable</code></strong>·-·Disables·heartbeat</p></li><li><p><strong><code·class="inline">hb_demand</code></strong>·-·Initiates·heartbeat·immediately</p></li><li><p><strong><code·class="inline">pmtud_enable</code></strong>·-·Enables·automatic·Path·MTU·discovery</p></li><li><p><strong><code·class="inline">pmtud_disable</code></strong>·-·Disables·automatic·Path·MTU·discovery</p></li><li><p><strong><code·class="inline">sackdelay_enable</code></strong>·-·Enables·SAC·delay</p></li><li><p><strong><code·class="inline">sackdelay_disable</code></strong>·-·Disables·SAC·delay</p></li></ul></li></ul></li><li><p><strong><code·class="inline">{sctp_default_send_param, #sctp_sndrcvinfo{}}</code></strong></p><p><a·href=""·id="record-sctp_sndrcvinfo"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_sndrcvinfo</span><span·class="p"·data-group-id="1684557587-1">{</span><span·class="w">263 enabled,·see·<code·class="inline">flags</code>·below)</p></li><li><p><strong><code·class="inline">flags</code></strong>·-·The·following·flags·are·available:</p><ul><li><p><strong><code·class="inline">hb_enable</code></strong>·-·Enables·heartbeat</p></li><li><p><strong><code·class="inline">hb_disable</code></strong>·-·Disables·heartbeat</p></li><li><p><strong><code·class="inline">hb_demand</code></strong>·-·Initiates·heartbeat·immediately</p></li><li><p><strong><code·class="inline">pmtud_enable</code></strong>·-·Enables·automatic·Path·MTU·discovery</p></li><li><p><strong><code·class="inline">pmtud_disable</code></strong>·-·Disables·automatic·Path·MTU·discovery</p></li><li><p><strong><code·class="inline">sackdelay_enable</code></strong>·-·Enables·SAC·delay</p></li><li><p><strong><code·class="inline">sackdelay_disable</code></strong>·-·Disables·SAC·delay</p></li></ul></li></ul></li><li><p><strong><code·class="inline">{sctp_default_send_param, #sctp_sndrcvinfo{}}</code></strong></p><p><a·href=""·id="record-sctp_sndrcvinfo"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_sndrcvinfo</span><span·class="p"·data-group-id="2437349996-1">{</span><span·class="w">
264 ······</span><span·class="ss">stream</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1684557587-2">(</span><span·class="p"·data-group-id="1684557587-2">)</span><span·class="p">,</span><span·class="w">264 ······</span><span·class="ss">stream</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2437349996-2">(</span><span·class="p"·data-group-id="2437349996-2">)</span><span·class="p">,</span><span·class="w">
265 ······</span><span·class="ss">ssn</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1684557587-3">(</span><span·class="p"·data-group-id="1684557587-3">)</span><span·class="p">,</span><span·class="w">265 ······</span><span·class="ss">ssn</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2437349996-3">(</span><span·class="p"·data-group-id="2437349996-3">)</span><span·class="p">,</span><span·class="w">
266 ······</span><span·class="ss">flags</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">list</span><span·class="p"·data-group-id="1684557587-4">(</span><span·class="p"·data-group-id="1684557587-4">)</span><span·class="p">,</span><span·class="w">266 ······</span><span·class="ss">flags</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">list</span><span·class="p"·data-group-id="2437349996-4">(</span><span·class="p"·data-group-id="2437349996-4">)</span><span·class="p">,</span><span·class="w">
267 ······</span><span·class="ss">ppid</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1684557587-5">(</span><span·class="p"·data-group-id="1684557587-5">)</span><span·class="p">,</span><span·class="w">267 ······</span><span·class="ss">ppid</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2437349996-5">(</span><span·class="p"·data-group-id="2437349996-5">)</span><span·class="p">,</span><span·class="w">
268 ······</span><span·class="ss">context</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1684557587-6">(</span><span·class="p"·data-group-id="1684557587-6">)</span><span·class="p">,</span><span·class="w">268 ······</span><span·class="ss">context</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2437349996-6">(</span><span·class="p"·data-group-id="2437349996-6">)</span><span·class="p">,</span><span·class="w">
269 ······</span><span·class="ss">timetolive</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1684557587-7">(</span><span·class="p"·data-group-id="1684557587-7">)</span><span·class="p">,</span><span·class="w">269 ······</span><span·class="ss">timetolive</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2437349996-7">(</span><span·class="p"·data-group-id="2437349996-7">)</span><span·class="p">,</span><span·class="w">
270 ······</span><span·class="ss">tsn</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1684557587-8">(</span><span·class="p"·data-group-id="1684557587-8">)</span><span·class="p">,</span><span·class="w">270 ······</span><span·class="ss">tsn</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2437349996-8">(</span><span·class="p"·data-group-id="2437349996-8">)</span><span·class="p">,</span><span·class="w">
271 ······</span><span·class="ss">cumtsn</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1684557587-9">(</span><span·class="p"·data-group-id="1684557587-9">)</span><span·class="p">,</span><span·class="w">271 ······</span><span·class="ss">cumtsn</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2437349996-9">(</span><span·class="p"·data-group-id="2437349996-9">)</span><span·class="p">,</span><span·class="w">
272 ······</span><span·class="ss">assoc_id</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="1684557587-10">(</span><span·class="p"·data-group-id="1684557587-10">)</span><span·class="w">272 ······</span><span·class="ss">assoc_id</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">assoc_id</span><span·class="p"·data-group-id="2437349996-10">(</span><span·class="p"·data-group-id="2437349996-10">)</span><span·class="w">
273 </span><span·class="p"·data-group-id="1684557587-1">}</span></code></pre><p><code·class="inline">#sctp_sndrcvinfo{}</code>·is·used·both·in·this·socket·option,·and·as273 </span><span·class="p"·data-group-id="2437349996-1">}</span></code></pre><p><code·class="inline">#sctp_sndrcvinfo{}</code>·is·used·both·in·this·socket·option,·and·as
274 ancillary·data·while·sending·or·receiving·SCTP·messages.·When·set274 ancillary·data·while·sending·or·receiving·SCTP·messages.·When·set
275 as·an·option,·it·provides·default·values·for·subsequent275 as·an·option,·it·provides·default·values·for·subsequent
276 <a·href="#send/3"><code·class="inline">send</code></a>·calls·on·the·association·specified·by·<code·class="inline">assoc_id</code>.</p><p><code·class="inline">assoc_id = 0</code>·(default)·indicates·the·whole·endpoint.</p><p>The·following·fields·typically·must·be·specified·by·the·sender:</p><ul><li><p><strong><code·class="inline">sinfo_stream</code></strong>·-·Stream·number·(0-base)·within·the·association·to·send276 <a·href="#send/3"><code·class="inline">send</code></a>·calls·on·the·association·specified·by·<code·class="inline">assoc_id</code>.</p><p><code·class="inline">assoc_id = 0</code>·(default)·indicates·the·whole·endpoint.</p><p>The·following·fields·typically·must·be·specified·by·the·sender:</p><ul><li><p><strong><code·class="inline">sinfo_stream</code></strong>·-·Stream·number·(0-base)·within·the·association·to·send
277 the·messages·through;</p></li><li><p><strong><code·class="inline">sinfo_flags</code></strong>·-·The·following·flags·are·recognised:</p><ul><li><p><strong><code·class="inline">unordered</code></strong>·-·The·message·is·to·be·sent·unordered</p></li><li><p><strong><code·class="inline">addr_over</code></strong>·-·The·address·specified·in·<a·href="#send/3"><code·class="inline">send</code></a>·overwrites277 the·messages·through;</p></li><li><p><strong><code·class="inline">sinfo_flags</code></strong>·-·The·following·flags·are·recognised:</p><ul><li><p><strong><code·class="inline">unordered</code></strong>·-·The·message·is·to·be·sent·unordered</p></li><li><p><strong><code·class="inline">addr_over</code></strong>·-·The·address·specified·in·<a·href="#send/3"><code·class="inline">send</code></a>·overwrites
278 the·primary·peer·address</p></li><li><p><strong><code·class="inline">abort</code></strong>·-·Aborts·the·current·association·without·flushing·any·unsent278 the·primary·peer·address</p></li><li><p><strong><code·class="inline">abort</code></strong>·-·Aborts·the·current·association·without·flushing·any·unsent
279 data</p></li><li><p><strong><code·class="inline">eof</code></strong>·-·Gracefully·shuts·down·the·current·association,·with·flushing279 data</p></li><li><p><strong><code·class="inline">eof</code></strong>·-·Gracefully·shuts·down·the·current·association,·with·flushing
280 of·unsent·data</p></li></ul><p>Other·fields·are·rarely·used.·For·complete·information,·see280 of·unsent·data</p></li></ul><p>Other·fields·are·rarely·used.·For·complete·information,·see
281 <a·href="http://www.rfc-archive.org/getrfc.php?rfc=2960">RFC·2960</a>·and281 <a·href="http://www.rfc-archive.org/getrfc.php?rfc=2960">RFC·2960</a>·and
282 <a·href="http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13">Sockets·API·Extensions·for·SCTP</a>.</p></li></ul></li><li><p><strong><code·class="inline">{sctp_events, #sctp_event_subscribe{}}</code></strong>·<a·href=""·id="option-sctp_events"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_event_subscribe</span><span·class="p"·data-group-id="1542422631-1">{</span><span·class="w">282 <a·href="http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13">Sockets·API·Extensions·for·SCTP</a>.</p></li></ul></li><li><p><strong><code·class="inline">{sctp_events, #sctp_event_subscribe{}}</code></strong>·<a·href=""·id="option-sctp_events"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">sctp_event_subscribe</span><span·class="p"·data-group-id="9192351970-1">{</span><span·class="w">
283 ········</span><span·class="ss">data_io_event</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><span·class="p">,</span><span·class="w">283 ········</span><span·class="ss">data_io_event</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><span·class="p">,</span><span·class="w">
284 ········</span><span·class="ss">association_event</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><span·class="p">,</span><span·class="w">284 ········</span><span·class="ss">association_event</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><span·class="p">,</span><span·class="w">
285 ········</span><span·class="ss">address_event</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><span·class="p">,</span><span·class="w">285 ········</span><span·class="ss">address_event</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><span·class="p">,</span><span·class="w">
286 ········</span><span·class="ss">send_failure_event</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><span·class="p">,</span><span·class="w">286 ········</span><span·class="ss">send_failure_event</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><span·class="p">,</span><span·class="w">
287 ········</span><span·class="ss">peer_error_event</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><span·class="p">,</span><span·class="w">287 ········</span><span·class="ss">peer_error_event</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><span·class="p">,</span><span·class="w">
288 ········</span><span·class="ss">shutdown_event</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><span·class="p">,</span><span·class="w">288 ········</span><span·class="ss">shutdown_event</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><span·class="p">,</span><span·class="w">
289 ········</span><span·class="ss">partial_delivery_event</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><span·class="p">,</span><span·class="w">289 ········</span><span·class="ss">partial_delivery_event</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><span·class="p">,</span><span·class="w">
290 ········</span><span·class="ss">adaptation_layer_event</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><span·class="w">290 ········</span><span·class="ss">adaptation_layer_event</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><span·class="w">
291 </span><span·class="p"·data-group-id="1542422631-1">}</span></code></pre><p>This·option·determines·which·<a·href="#sctp-events">SCTP Events</a>·that·are·to·be291 </span><span·class="p"·data-group-id="9192351970-1">}</span></code></pre><p>This·option·determines·which·<a·href="#sctp-events">SCTP Events</a>·that·are·to·be
Max diff block lines reached; 126915/173477 bytes (73.16%) of diff not shown.
765 B
html2text {}
Max HTML report size reached
61.0 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="7945136923-1">(</span><span·class="p"·data-group-id="7945136923-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="5626843057-1">(</span><span·class="p"·data-group-id="5626843057-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="7945136923-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="7945136923-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·91cca9a62b93a16ababf3fb8cfc244fc4c8acbb5023383826edb40a94650ca0b·...·]-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="5626843057-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="5626843057-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·a083b0ea97af6cdf34769fe1dc8d100d871deaa8d1d47b986ca393d39327aa20·...·]-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="7945136923-4">[</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7945136923-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:·d8b61411fbd1f4536c515366249f4b7ec8552d6aa89b74b349a417ba7295f034·...·]-3">)</span><span·class="p">,</span><span·class="w">133 ·································</span><span·class="p"·data-group-id="5626843057-4">[</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5626843057-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:·b13b9e972c79e515f13be4073affb2e8b991a6bdef32972b5a2b9fcf8c6da158·...·]-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="7945136923-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="7945136923-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="5626843057-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="5626843057-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="7945136923-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="7945136923-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="5626843057-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="5626843057-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="8730368688-1">(</span><span·class="p"·data-group-id="8730368688-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="3405205388-1">(</span><span·class="p"·data-group-id="3405205388-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
137 ····</span><span·class="p"·data-group-id="8730368688-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="8730368688-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·533,·SHA:·4515244c6af6e418dd17fec66e8cc570148b909fee5a681c869bc3b67bb19f0e·...·]88-5">}</span><span·class="p">,</span><span·class="w">137 ····</span><span·class="p"·data-group-id="3405205388-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="3405205388-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·533,·SHA:·52b0faf84246b4b85e67c929a3cfd32a3cebfe2b52aa04469946a3838cc36d0b·...·]88-5">}</span><span·class="p">,</span><span·class="w">
138 ········································</span><span·class="p"·data-group-id="8730368688-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="8730368688-6">}</span><span·class="p"·data-group-id="8730368688-4">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·18,·SHA:·cc46a2748c341aca96cd5f59da4d066f8fcc77bf6721853f68d3f195190f33a1·...·]88-3">)</span><span·class="p">,</span><span·class="w">138 ········································</span><span·class="p"·data-group-id="3405205388-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="3405205388-6">}</span><span·class="p"·data-group-id="3405205388-4">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·18,·SHA:·29574b030fcf74d81006361130dcfcf006326c3ab42377edf72125249dd85fdf·...·]88-3">)</span><span·class="p">,</span><span·class="w">
139 ····</span><span·class="p"·data-group-id="8730368688-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="8730368688-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·197,·SHA:·18fb25a5e0e928a2b0cb27f476a457f19493ace8adc49cdbb1cabcbf07468430·...·]88-8">)</span><span·class="p">,</span><span·class="w">139 ····</span><span·class="p"·data-group-id="3405205388-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="3405205388-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·197,·SHA:·9a99df9dbdeeb236c332d453ba615f0d50a800fb876da806ed5b35b575819785·...·]88-8">)</span><span·class="p">,</span><span·class="w">
140 ····</span><span·class="p"·data-group-id="8730368688-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="8730368688-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·298,·SHA:·1c6f12bdca575986fb48154f11f91b094e5b2cab03b5de399b0d407522a0a43f·...·]88-10">)</span><span·class="p">,</span><span·class="w">140 ····</span><span·class="p"·data-group-id="3405205388-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="3405205388-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·298,·SHA:·797ad88f540b1304ec355ae9f8759a86e2afc27bedff9abbb70a89efa1ae130a·...·]88-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="8730368688-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="8730368688-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="3405205388-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="3405205388-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="8730368688-13">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="8730368688-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="3405205388-13">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="3405205388-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="8730368688-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="8730368688-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="3405205388-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="3405205388-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="8730368688-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="8730368688-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="3405205388-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="3405205388-15">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
146 ········</span><span·class="p"·data-group-id="8730368688-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="8730368688-16">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">146 ········</span><span·class="p"·data-group-id="3405205388-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="3405205388-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="8730368688-17">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8730368688-18">[</span><span·class="n">Bs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·c[·...·truncated·by·diffoscope;·len:·86,·SHA:·75bf1ba6ea223f49d45c6c50967ea3259eafeaadf04e041a9235610eb44de7d1·...·]88-17">)</span><span·class="p">;</span><span·class="w">147 ············</span><span·class="nf">do_recv</span><span·class="p"·data-group-id="3405205388-17">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3405205388-18">[</span><span·class="n">Bs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·c[·...·truncated·by·diffoscope;·len:·86,·SHA:·c5702edd7a3379dd971a32a640c98c3472e25fed8ed96c7d63f6c20279edd56e·...·]88-17">)</span><span·class="p">;</span><span·class="w">
148 ········</span><span·class="p"·data-group-id="8730368688-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="8730368688-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">148 ········</span><span·class="p"·data-group-id="3405205388-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="3405205388-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
149 ············</span><span·class="p"·data-group-id="8730368688-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="8730368688-21">(</span><span·class="n">Bs</span><span·class="p"·data-group-id="8730368688-[·...·truncated·by·diffoscope;·len:·51,·SHA:·1af0a6c025664d684ff38cdf1d4125ad00c285c432da7c4a9c980ecf953101ea·...·]88-20">}</span><span·class="w">149 ············</span><span·class="p"·data-group-id="3405205388-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="3405205388-21">(</span><span·class="n">Bs</span><span·class="p"·data-group-id="3405205388-[·...·truncated·by·diffoscope;·len:·51,·SHA:·4b8cdc889f139ce4346d5dcec7bb3c18dac151b54fc922168ae5d1291b80eb04·...·]88-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="9773897947-1">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LPort</span><span·class="p"·data-group-id="9773897947-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="6856993737-1">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LPort</span><span·class="p"·data-group-id="6856993737-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="9773897947-2">(</span><span·class="n">LPort</span><span·class="p">,</span><span·class="p"·data-group-id="9773897947-3">[</span><span·class="p"·data-group-id="9773897947-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·386,·SHA:·4cd46fea179f50410e42a4063f8a43792ad564b51b4bbdc40211a49242026405·...·]7-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="6856993737-2">(</span><span·class="n">LPort</span><span·class="p">,</span><span·class="p"·data-group-id="6856993737-3">[</span><span·class="p"·data-group-id="6856993737-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·386,·SHA:·813bb048097497361f123cda67700afec3fc97a8a77c86f87da1088b1662308f·...·]7-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
194 ········</span><span·class="p"·data-group-id="9773897947-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="9773897947-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">194 ········</span><span·class="p"·data-group-id="6856993737-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="6856993737-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="9773897947-7">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">ListenSock</span><span·class="p"·data-group-id="9773897947-7">)</span><span·class="p">,</span><span·class="w">195 ············</span><span·class="nf">start_servers</span><span·class="p"·data-group-id="6856993737-7">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">ListenSock</span><span·class="p"·data-group-id="6856993737-7">)</span><span·class="p">,</span><span·class="w">
196 ············</span><span·class="p"·data-group-id="9773897947-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="9773897947-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·198,·SHA:·9f593146ecd4192139aa631ca602533a105a18b95013e32552f0554d6c434569·...·]7-9">)</span><span·class="p">,</span><span·class="w">196 ············</span><span·class="p"·data-group-id="6856993737-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="6856993737-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·198,·SHA:·ab29f1fd05b99e71d3c7d39d91815d0592575aa8f5244974fa6959ba5c82f456·...·]7-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="9773897947-10">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="9773897947-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">198 ········</span><span·class="p"·data-group-id="6856993737-10">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="6856993737-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ············</span><span·class="p"·data-group-id="9773897947-11">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="9773897947-11">}</span><span·class="w">199 ············</span><span·class="p"·data-group-id="6856993737-11">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="6856993737-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="9773897947-12">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="9773897947-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="6856993737-12">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="6856993737-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="9773897947-13">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LS</span><span·class="p"·data-group-id="9773897947-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="6856993737-13">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LS</span><span·class="p"·data-group-id="6856993737-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="9773897947-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="9773897947-15">[</span><span·class="n">LS</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·71,·SHA:·11254ec20bafcae2f9ccf7e5d6f31687f7cb44b6f06f66c5509f63745b03a82b·...·]7-14">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="6856993737-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="6856993737-15">[</span><span·class="n">LS</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·71,·SHA:·d4b208d7fa140c99e2fbbfea0cb7fbf2502033c3cff901bfcecd1721d6989ac0·...·]7-14">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nf">start_servers</span><span·class="p"·data-group-id="9773897947-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="9773897947-16">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">start_servers</span><span·class="p"·data-group-id="6856993737-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="6856993737-16">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">server</span><span·class="p"·data-group-id="9773897947-17">(</span><span·class="n">LS</span><span·class="p"·data-group-id="9773897947-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="6856993737-17">(</span><span·class="n">LS</span><span·class="p"·data-group-id="6856993737-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="9773897947-18">(</span><span·class="n">LS</span><span·class="p"·data-group-id="9773897947-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="6856993737-18">(</span><span·class="n">LS</span><span·class="p"·data-group-id="6856993737-18">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
208 ········</span><span·class="p"·data-group-id="9773897947-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="9773897947-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ········</span><span·class="p"·data-group-id="6856993737-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="6856993737-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="9773897947-20">(</span><span·class="n">S</span><span·class="p"·data-group-id="9773897947-20">)</span><span·class="p">,</span><span·class="w">209 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="6856993737-20">(</span><span·class="n">S</span><span·class="p"·data-group-id="6856993737-20">)</span><span·class="p">,</span><span·class="w">
210 ············</span><span·class="nf">server</span><span·class="p"·data-group-id="9773897947-21">(</span><span·class="n">LS</span><span·class="p"·data-group-id="9773897947-21">)</span><span·class="p">;</span><span·class="w">210 ············</span><span·class="nf">server</span><span·class="p"·data-group-id="6856993737-21">(</span><span·class="n">LS</span><span·class="p"·data-group-id="6856993737-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="9773897947-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="9773897947-23">[</[·...·truncated·by·diffoscope;·len:·127,·SHA:·a84fb1341fd3a7d0f438b015b3e0135833d7f7386b91e4a58655952a9bb9bb41·...·]7-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="6856993737-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="6856993737-23">[</[·...·truncated·by·diffoscope;·len:·127,·SHA:·eaed2e761d4755d4660e53f1648eb7538882433c46d1105ab1c3577cf9bc0914·...·]7-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="9773897947-24">(</span><span·class="n">S</span><span·class="p"·data-group-id="9773897947-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="6856993737-24">(</span><span·class="n">S</span><span·class="p"·data-group-id="6856993737-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="9773897947-25">(</span><span·class="n">S</span><span·class="p">,</span><span·class="p"·data-group-id="9773897947-26">[</span><span·class="p"·data-group-id="9773897947-27">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">once</[·...·truncated·by·diffoscope;·len:·153,·SHA:·268b31e489afd937dbe5cd02f8c673900ad3e38130ef3f24bcb086e1aad7b2a6·...·]7-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="6856993737-25">(</span><span·class="n">S</span><span·class="p">,</span><span·class="p"·data-group-id="6856993737-26">[</span><span·class="p"·data-group-id="6856993737-27">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">once</[·...·truncated·by·diffoscope;·len:·153,·SHA:·b34b60295159b2821614db49a586449f159b32a3fef6bd25a57dad6ffc8a0394·...·]7-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="9773897947-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="9773897947-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">218 ········</span><span·class="p"·data-group-id="6856993737-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="6856993737-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="9773897947-29">(</span><span·class="n">Data</span><span·class="p"·data-group-id="9773897947-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="6856993737-29">(</span><span·class="n">Data</span><span·class="p"·data-group-id="6856993737-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="9773897947-30">(</span><span·class="n">S</span><span·class="p">,</span><span·class="n">Answer</span><span·class="p"·data-group-id="9773897947-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="6856993737-30">(</span><span·class="n">S</span><span·class="p">,</span><span·class="n">Answer</span><span·class="p"·data-group-id="6856993737-30">)</span><span·class="p">,</span><span·class="w">
221 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="9773897947-31">(</span><span·class="n">S</span><span·class="p"·data-group-id="9773897947-31">)</span><span·class="p">;</span><span·class="w">221 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="6856993737-31">(</span><span·class="n">S</span><span·class="p"·data-group-id="6856993737-31">)</span><span·class="p">;</span><span·class="w">
222 ········</span><span·class="p"·data-group-id="9773897947-32">{</span><span·class="ss">tcp_closed</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="9773897947-32">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 ········</span><span·class="p"·data-group-id="6856993737-32">{</span><span·class="ss">tcp_closed</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="6856993737-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="9773897947-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:·322,·SHA:·410bacfc499ef21f4670471fdbb0954e220fa8cffed48c51dde9e507add70d79·...·]7-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="6856993737-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:·322,·SHA:·d754928999ba35c9e5a479273f138c233df7fb08e63d9eba899996ac7fb0cb21·...·]7-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="6097903220-1">(</span><span·class="n">PortNo</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="6097903220-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="6395959783-1">(</span><span·class="n">PortNo</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="6395959783-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
226 ····</span><span·class="p"·data-group-id="6097903220-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="6097903220-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><s[·...·truncated·by·diffoscope;·len:·457,·SHA:·1cfae1c7d0d6f89af3f2da6634f279cf7c276bb2c3715567b263315a3b2b3bf3·...·]-5">}</span><span·class="p">,</span><span·class="w">226 ····</span><span·class="p"·data-group-id="6395959783-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="6395959783-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><s[·...·truncated·by·diffoscope;·len:·457,·SHA:·40fed39b91901c416cfdda781d36a142c96db0aff4128bdf0c31e1936eccbbda·...·]-5">}</span><span·class="p">,</span><span·class="w">
227 ····················································</span><span·class="p"·data-group-id="6097903220-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6097903220-6">}</span><span·class="p"·data-group-id="6097903220-4">]</span><span·class="p"·data-group-id="6097903220-3">)</span><span·class="p">,</span><span·class="w">227 ····················································</span><span·class="p"·data-group-id="6395959783-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6395959783-6">}</span><span·class="p"·data-group-id="6395959783-4">]</span><span·class="p"·data-group-id="6395959783-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="6097903220-7">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="6097903220-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="6395959783-7">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="6395959783-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="6097903220-8">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="6097903220-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="6395959783-8">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="6395959783-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="6097903220-9">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="6097903220-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="6395959783-9">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="6395959783-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="3656061357-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="3656061357-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:·beaa50009aa79045b6ee9b65fdf70957109fcd037357b63180e9cc5bbe520215·...·]-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="6184288002-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="6184288002-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:·3376879432b4f26982744656ce3b550091d1daf6dd826322a4157b3645e0d62b·...·]-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="3656061357-3">[</span><span·class="p"·data-group-id="3656061357-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="3656061357-4">}</span><span·class="p">,</span><span·class="w">241 ····························</span><span·class="p"·data-group-id="6184288002-3">[</span><span·class="p"·data-group-id="6184288002-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="6184288002-4">}</span><span·class="p">,</span><span·class="w">
242 ·····························</span><span·class="p"·data-group-id="3656061357-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="3656061357-5">}</span><span·class="p">,</span><span·class="w">242 ·····························</span><span·class="p"·data-group-id="6184288002-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="6184288002-5">}</span><span·class="p">,</span><span·class="w">
243 ·····························</span><span·class="p"·data-group-id="3656061357-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3656061357-6">}</span><span·class="p"·data-group-id="3656061357-3">]</span><span·class="p"·data-group-id="3656061357-2">)</span><span·class="p">,</span><span·class="w">243 ·····························</span><span·class="p"·data-group-id="6184288002-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6184288002-6">}</span><span·class="p"·data-group-id="6184288002-3">]</span><span·class="p"·data-group-id="6184288002-2">)</span><span·class="p">,</span><span·class="w">
244 ················</span><span·class="nf">loop</span><span·class="p"·data-group-id="3656061357-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="3656061357-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="6184288002-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="6184288002-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="4883323803-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="4883323803-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="0715157898-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="0715157898-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="4883323803-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="4883323803-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">247 ········</span><span·class="p"·data-group-id="0715157898-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="0715157898-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="4883323803-3">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="p"·data-group-id="4883323803-4">[</span><span·class="n">Binary</span><span·class="p"·data-group-id="4883323803-4">]</span><span·class="p"·data-group-id="4883323803-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="0715157898-3">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="p"·data-group-id="0715157898-4">[</span><span·class="n">Binary</span><span·class="p"·data-group-id="0715157898-4">]</span><span·class="p"·data-group-id="0715157898-3">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
249 ················</span><span·class="p"·data-group-id="4883323803-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="4883323803-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">249 ················</span><span·class="p"·data-group-id="0715157898-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="0715157898-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="4883323803-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="0715157898-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="4883323803-7">[</span><span·class="p"·data-group-id="4883323803-7">]</span><span·class="p"·data-group-id="4883323803-6">)</span><span·class="p">,</span><span·class="w">251 ······························</span><span·class="p"·data-group-id="0715157898-7">[</span><span·class="p"·data-group-id="0715157898-7">]</span><span·class="p"·data-group-id="0715157898-6">)</span><span·class="p">,</span><span·class="w">
252 ····················</span><span·class="nf">handle_send_timeout</span><span·class="p"·data-group-id="4883323803-8">(</span><span·class="p"·data-group-id="4883323803-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Not·implemented·here</span><span·class="w">252 ····················</span><span·class="nf">handle_send_timeout</span><span·class="p"·data-group-id="0715157898-8">(</span><span·class="p"·data-group-id="0715157898-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="4883323803-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4883323803-10">(</span><span·class="p"·data-group-id="4883323803-10">)</span><span·class="p">,</span><span·class="p"·data-group-id="4883323803-11">{</span><span·class="ss">err[·...·truncated·by·diffoscope;·len:·191,·SHA:·360f84b21fef4cd938e2cf42ccc987a4660d4441dc9bb019cb0bb7df9c4a00e3·...·]-9">}</span><span·class="p">,</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="0715157898-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="0715157898-10">(</span><span·class="p"·data-group-id="0715157898-10">)</span><span·class="p">,</span><span·class="p"·data-group-id="0715157898-11">{</span><span·class="ss">err[·...·truncated·by·diffoscope;·len:·191,·SHA:·b61bdf1b4b0a72287d2a7d88368aa07489dceaa649b413ef36cdeecbefd102fd·...·]-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="4883323803-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="4883323803-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="0715157898-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="0715157898-12">)</span><span·class="p">;</span><span·class="w">
258 ················</span><span·class="p"·data-group-id="4883323803-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="4883323803-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 ················</span><span·class="p"·data-group-id="0715157898-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="0715157898-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="4883323803-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="0715157898-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="4883323803-15">[</span><span·class="n">OtherSendError</span><span·class="p"·data-group-id="4883323803-15">]</span><span·class="p"·data-group-id="4883323803-14">)</span><span·class="p">,</span><span·class="w">260 ······························</span><span·class="p"·data-group-id="0715157898-15">[</span><span·class="n">OtherSendError</span><span·class="p"·data-group-id="0715157898-15">]</span><span·class="p"·data-group-id="0715157898-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="4883323803-16">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4883323803-17">(</span><span·class="p"·data-group-id="4883323803-17">)</span><span·class="p">,</span><span·class="p"·data-group-id="4883323803-18">{</span><span·class="ss">er[·...·truncated·by·diffoscope;·len:·198,·SHA:·9e2adaecd7f24229ab9394ef7dee80a7588810e3eb8655a8d50ccfc34963e705·...·]-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="0715157898-16">{</span><span·class="nf">self</span><span·class="p"·data-group-id="0715157898-17">(</span><span·class="p"·data-group-id="0715157898-17">)</span><span·class="p">,</span><span·class="p"·data-group-id="0715157898-18">{</span><span·class="ss">er[·...·truncated·by·diffoscope;·len:·198,·SHA:·a9a4408490d065575b388d78c2aa20baff424557922d056aea9ff697bd10a9b1·...·]-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="4883323803-19">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="4883323803-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="0715157898-19">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="0715157898-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="4883323803-20">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4883323803-21">(</span><span·class="p"·data-group-id="4883323803-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:·a3e2617291ccf9234b54537dadd9288e4f9bc80e6c3ae6e3fc241ce8a3237f64·...·]-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="0715157898-20">{</span><span·class="nf">self</span><span·class="p"·data-group-id="0715157898-21">(</span><span·class="p"·data-group-id="0715157898-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:·9b7ac0597a3148a5b3dda923e536f6374ad4f0aae69046f6356dacb953d1fc09·...·]-20">}</span><span·class="p">,</span><span·class="w">
265 ····················</span><span·class="nf">loop</span><span·class="p"·data-group-id="4883323803-22">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="4883323803-22">)</span><span·class="w">265 ····················</span><span·class="nf">loop</span><span·class="p"·data-group-id="0715157898-22">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="0715157898-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>
270 ····</section>270 ····</section>
  
271 </div>271 </div>
Max diff block lines reached; 677/61586 bytes (1.10%) of diff not shown.
738 B
html2text {}
Max HTML report size reached
8.92 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="2563533471-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:·803c937383e9e622c15e100eaeadfa7cc27fa0b8cf3924353f70fa7a4a830f3f·...·]-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="4474496992-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:·d7e335805eeec99b232c5af2d4527817c9b83795828cfbd6bc6c1dccbfcc8949·...·]-1">}</span><span·class="w">·</span><span·class="c1">%·Without·ancillary·data</span><span·class="w">
932 </span><span·class="p"·data-group-id="2563533471-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:·e276436d8644a8c1d14a93085852609b77d6cf6882796f350cfefb275981a86f·...·]-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="4474496992-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:·d18740b6077514b8bca851acddeca33666228e4cd0b79e52b78ce80162b0b68d·...·]-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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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="0953277864-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="0953277864-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="1981260637-1">{</span><span·class="ss">udp_error</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</s[·...·truncated·by·diffoscope;·len:·354,·SHA:·3adbb5a4e6f6727d2a8b8b337451d40999edbc6873fc7b5fa458c7d5ca3685e1·...·]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="2973551300-1">{</span><span·class="ss">udp_passive</span><span·class="p">,</span><span·class="err"> </span><spa[·...·truncated·by·diffoscope;·len:·165,·SHA:·8b9f4d053704f3a410a83fa39efcf7435d9b4aa19916cfe223e4b3442b239c1b·...·]
 941 message·is·sent·to·the·controlling·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1395541168-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="1395541168-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, 8192}</code>.</p>944 can·be·truncated·without·warning.</p><p>The·default·value·for·the·receive·buffer·option·is·<code·class="inline">{recbuf, 8192}</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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1230 <p>Copyright·©·1996-2025·<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.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1249 <p>Copyright·©·1996-2025·<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.35 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="0812221639-1">{</span><span·class="ss">global_groups</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0812221639-2">[</span><span·class="n">GroupTuple</span><span·class="w">·</span><span·class="p">:</span><span·class="p"[·...·truncated·by·diffoscope;·len:·268,·SHA:·19450c13355a35c720ed9288ca2cf4551864e665a694db303c0d803e3002eaba·...·]-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="1886231010-1">{</span><span·class="ss">global_groups</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1886231010-2">[</span><span·class="n">GroupTuple</span><span·class="w">·</span><span·class="p">:</span><span·class="p"[·...·truncated·by·diffoscope;·len:·268,·SHA:·c995c4bd29b497e25e4b257e3d742505b2da5c473b9815d6ee7eb7aea19348e7·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>906 <p>Copyright·©·1996-2025·<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.48 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>594 <p>Copyright·©·1996-2025·<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.2.7/doc/html/inet.html
    
Offset 147, 27 lines modifiedOffset 147, 27 lines modified
147 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,147 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,
148 for·internal·implementation·reasons.</p><p>Addresses·as·inputs·to·functions·can·be·either·a·string·or·a·tuple.148 for·internal·implementation·reasons.</p><p>Addresses·as·inputs·to·functions·can·be·either·a·string·or·a·tuple.
149 For·example,·the·IP·address·150.236.20.73·can·be·passed·to149 For·example,·the·IP·address·150.236.20.73·can·be·passed·to
150 <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>150 <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>
151 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()151 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()
152 -------··········------------152 -------··········------------
153 127.0.0.1········{127,0,0,1}153 127.0.0.1········{127,0,0,1}
154 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="5193735218-1">(</span><span·class="p"·data-group-id="5193735218-1">)</span><span·class="w">154 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="4341883183-1">(</span><span·class="p"·data-group-id="4341883183-1">)</span><span·class="w">
155 </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">155 </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">
156 </span><span·class="p">:</span><span·class="p">:</span><span·class="mi">1</span><span·class="w">·············</span><span·class="p"·data-group-id="5193735218-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:·73e867604088fd2fe3e4c3e202259cddcc4f4f8b0f250c343a2e336cf0bcaed7·...·]-2">}</span><span·class="w">156 </span><span·class="p">:</span><span·class="p">:</span><span·class="mi">1</span><span·class="w">·············</span><span·class="p"·data-group-id="4341883183-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:·adef26e538d6548992d546e56300d1b5cb5692fb728c1695e9f07e7b5e9b8860·...·]-2">}</span><span·class="w">
157 </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="5193735218-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:·a77c5c4e90384cbdef23a4ac8d547fc97b0569c512f666d39a961d544d1f2912·...·]-3">}</span><span·class="w">157 </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="4341883183-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:·62fa3fa136ca04353221fc6b87fe84aea60fb9b204771acc7dc80f4f67ac0120·...·]-3">}</span><span·class="w">
158 </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">158 </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">
159 ················</span><span·class="p"·data-group-id="5193735218-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:·bbce26e17cc2f0427bc42af4777548360501aca78dc00c8b4e4a3f21611bae57·...·]-6">}</span><span·class="w">159 ················</span><span·class="p"·data-group-id="4341883183-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:·35b4671b82b960cc8650b3e80b1b9d770c220a5961445ca429085e689f69d138·...·]-6">}</span><span·class="w">
160 </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">160 </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">
161 ················</span><span·class="p"·data-group-id="5193735218-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:·84ae4cd938b59bf95eeadf3417ec730394ef6051b2935aba02c9a90232a8488e·...·]-9">}</span><span·class="w">161 ················</span><span·class="p"·data-group-id="4341883183-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:·3a166750ac011b201480714d56abb89e591c365e65c3ea680049ec3050822809·...·]-9">}</span><span·class="w">
162 </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">162 </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">
163 ················</span><span·class="p"·data-group-id="5193735218-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:·605a10dfee2cd8996dc73d1c234e9a6778c9cddc71cdd40df9b16c1ca17e2edc·...·]-1">)</span><span·class="p">.</span><span·class="w">163 ················</span><span·class="p"·data-group-id="4341883183-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:·f45e9adf4f097014a0234ada8f8dd787ffc506b9c806058c17df011fc312995f·...·]-1">)</span><span·class="p">.</span><span·class="w">
164 </span><span·class="p"·data-group-id="1389432545-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1389432545-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><spa[·...·truncated·by·diffoscope;·len:·139,·SHA:·ec3fa89d79458e775ccb0f3bad5844f918ca22c45101785b4a5aa0b19622e588·...·]-2">}</span><span·class="gp·unselectable">164 </span><span·class="p"·data-group-id="1712170168-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1712170168-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><spa[·...·truncated·by·diffoscope;·len:·139,·SHA:·b6b6c29562579e7548c48b3aaf0696d23b333c48da240a695fa5ff32ca2c4b56·...·]-2">}</span><span·class="gp·unselectable">
165 2&gt;·</span><span·class="nc">inet</span><span·class="p">:</span><span·class="nf">parse_address</span><span·class="p"·data-group-id="1389432545-4">(</span><span·class="s">&quot;::FFFF:192.168.42.2&quot;</span><span·class="p"·data-group-id="1389432545-4">)</span><span·class="p">.</span><span·class="w">165 2&gt;·</span><span·class="nc">inet</span><span·class="p">:</span><span·class="nf">parse_address</span><span·class="p"·data-group-id="1712170168-4">(</span><span·class="s">&quot;::FFFF:192.168.42.2&quot;</span><span·class="p"·data-group-id="1712170168-4">)</span><span·class="p">.</span><span·class="w">
166 </span><span·class="p"·data-group-id="1389432545-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1389432545-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·cla[·...·truncated·by·diffoscope;·len:·342,·SHA:·86a7851bbfc771a5f1e28e4695478fda135bf13a82fe9e7cb2332659f02b0153·...·]-5">}</span></code></pre><h2·id="module-posix-error-codes"·class="section-heading">166 </span><span·class="p"·data-group-id="1712170168-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1712170168-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·cla[·...·truncated·by·diffoscope;·len:·342,·SHA:·e582521bf6efe626d34340b22ca636d5007ccd11b5f6216ba25ef7ce99e628ce·...·]-5">}</span></code></pre><h2·id="module-posix-error-codes"·class="section-heading">
167 ··<a·href="#module-posix-error-codes"·class="hover-link">167 ··<a·href="#module-posix-error-codes"·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"><a·href=""·id="posix-error-codes"></a>·POSIX·Error·Codes</span>170 ··<span·class="text"><a·href=""·id="posix-error-codes"></a>·POSIX·Error·Codes</span>
171 </h2>171 </h2>
172 <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>172 <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>
173 ····</section>173 ····</section>
Offset 953, 15 lines modifiedOffset 953, 15 lines modified
953 ···················h_addrtype·::·inet·|·inet6,953 ···················h_addrtype·::·inet·|·inet6,
954 ···················h_length·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),954 ···················h_length·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
955 ···················h_addr_list·::·[<a·href="inet.html#t:ip_address/0">inet:ip_address</a>()]}.</pre>955 ···················h_addr_list·::·[<a·href="inet.html#t:ip_address/0">inet:ip_address</a>()]}.</pre>
  
956 ······</div>956 ······</div>
  
957 <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·example957 <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
958 <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="8289239928-1">(</span><span·class="s">&quot;kernel/include/inet.hrl&quot;</span><span·class="p"·data-group-id="8289239928-1">)</span><span·class="p">.</span></code></pre>958 <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="8656682355-1">(</span><span·class="s">&quot;kernel/include/inet.hrl&quot;</span><span·class="p"·data-group-id="8656682355-1">)</span><span·class="p">.</span></code></pre>
959 ··</section>959 ··</section>
960 </section>960 </section>
961 <section·class="detail"·id="t:hostname/0">961 <section·class="detail"·id="t:hostname/0">
  
962 ··<div·class="detail-header">962 ··<div·class="detail-header">
963 ····<a·href="#t:hostname/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">963 ····<a·href="#t:hostname/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">
964 ······<i·class="ri-link-m"·aria-hidden="true"></i>964 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2050, 17 lines modifiedOffset 2050, 17 lines modified
2050 coded·in·native·endianness.</p><p>Asking·for·and·inspecting·raw·socket·options·require·low-level·information·about2050 coded·in·native·endianness.</p><p>Asking·for·and·inspecting·raw·socket·options·require·low-level·information·about
2051 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·TCP2051 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
2052 statistics·for·a·socket.·Assume·you·are·interested·in·field·<code·class="inline">tcpi_sacked</code>·of2052 statistics·for·a·socket.·Assume·you·are·interested·in·field·<code·class="inline">tcpi_sacked</code>·of
2053 <code·class="inline">struct·tcp_info</code>·filled·in·when·asking·for·<code·class="inline">TCP_INFO</code>.·To·be·able·to·access2053 <code·class="inline">struct·tcp_info</code>·filled·in·when·asking·for·<code·class="inline">TCP_INFO</code>.·To·be·able·to·access
2054 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·that2054 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
2055 <code·class="inline">IPPROTO_TCP</code>·is·6,·<code·class="inline">TCP_INFO</code>·is·11,·the·structure·size·is·92·(bytes),·the2055 <code·class="inline">IPPROTO_TCP</code>·is·6,·<code·class="inline">TCP_INFO</code>·is·11,·the·structure·size·is·92·(bytes),·the
2056 offset·of·<code·class="inline">tcpi_sacked</code>·is·28·bytes,·and·the·value·is·a·32-bit·integer.·The2056 offset·of·<code·class="inline">tcpi_sacked</code>·is·28·bytes,·and·the·value·is·a·32-bit·integer.·The
2057 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="8009316666-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="8009316666-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2057 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="0785609539-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="0785609539-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2058 ····</span><span·class="p"·data-group-id="8009316666-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8009316666-3">[</span><span·class="p"·data-group-id="8009316666-4">{</span><span·class="ss">raw</span><span·class="p">,</span><span·class="p">_</span><sp[·...·truncated·by·diffoscope;·len:·943,·SHA:·57de000f58afa3df1005a26091aa0103eed8b1b6ee6aef92ec4d18610167c0ac·...·]-5">)</span><span·class="p">,</span><span·class="w">2058 ····</span><span·class="p"·data-group-id="0785609539-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0785609539-3">[</span><span·class="p"·data-group-id="0785609539-4">{</span><span·class="ss">raw</span><span·class="p">,</span><span·class="p">_</span><sp[·...·truncated·by·diffoscope;·len:·943,·SHA:·2e762ed43a5f1a7529c959bfda881d1824d5441a3dd134304b72ed5c5b8e7f8c·...·]-5">)</span><span·class="p">,</span><span·class="w">
2059 ····</span><span·class="p"·data-group-id="8009316666-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:·24a39cbeb6b7cbdeae402939072e2ad24165db06aa849215858723e9bebd958b·...·]-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">2059 ····</span><span·class="p"·data-group-id="0785609539-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:·56a7396074e9319d0b29567dcaca27d4bbe86a68d693a69957dfb8470aaa724f·...·]-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">
2060 ····</span><span·class="n">TcpiSacked</span><span·class="p">.</span></code></pre><p>Preferably,·you·would·check·the·machine·type,·the·operating·system,·and·the2060 ····</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
2061 Kernel·version·before·executing·anything·similar·to·this·code.</p>2061 Kernel·version·before·executing·anything·similar·to·this·code.</p>
2062 ··</section>2062 ··</section>
2063 </section>2063 </section>
2064 <section·class="detail"·id="getstat/1">2064 <section·class="detail"·id="getstat/1">
  
2065 ··<div·class="detail-header">2065 ··<div·class="detail-header">
Offset 2381, 15 lines modifiedOffset 2381, 15 lines modified
2381 ······<div·class="specs">2381 ······<div·class="specs">
  
2382 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:reference/0">reference</a>()·when·Socket·::·<a·href="#t:socket/0">socket</a>().</pre>2382 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:reference/0">reference</a>()·when·Socket·::·<a·href="#t:socket/0">socket</a>().</pre>
  
2383 ······</div>2383 ······</div>
  
2384 <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,2384 <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,
2385 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="0712521784-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:·f54d388169f8dc6f1d5e6334214968e7209f1b153f1a4effe4c5e7d8953de412·...·]-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·following2385 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="1008825151-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:·134de340fbb913eaff9951b170d38bf97a2b9e654360afd6f03915480ab9cc7e·...·]-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
2386 <a·href="../../../../erts-15.2.7/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>2386 <a·href="../../../../erts-15.2.7/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>
2387 (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>2387 (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>
2388 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·as2388 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
2389 an·API·call,·remote·end·close,·closed·by·signal·when·owner·exits,·...</p>2389 an·API·call,·remote·end·close,·closed·by·signal·when·owner·exits,·...</p>
2390 ··</section>2390 ··</section>
2391 </section>2391 </section>
2392 <section·class="detail"·id="ntoa/1">2392 <section·class="detail"·id="ntoa/1">
Offset 3220, 15 lines modifiedOffset 3220, 15 lines modified
3220 ······<p·class="built-using">3220 ······<p·class="built-using">
3221 ········Built·using3221 ········Built·using
3222 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3222 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3223 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3223 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3224 ······</p>3224 ······</p>
3225 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3225 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3226 ····</footer>3226 ····</footer>
3227 ··</div>3227 ··</div>
3228 </main>3228 </main>
3229 </div>3229 </div>
3230 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3230 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3231 ··<script>3231 ··<script>
3232 ··let·initialized·=·false;3232 ··let·initialized·=·false;
755 B
html2text {}
Max HTML report size reached
50.9 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="7256369218-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="7256369218-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="7502760186-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="7502760186-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="7256369218-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="7256369218-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="7502760186-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="7502760186-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
184 ········</span><span·class="p"·data-group-id="7256369218-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Msg</span><span·class="p"·data-group-id="7256369218-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">184 ········</span><span·class="p"·data-group-id="7502760186-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Msg</span><span·class="p"·data-group-id="7502760186-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
185 ············</span><span·class="p"·data-group-id="7256369218-4">[</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="7256369218-5">(</span><span·class="n">RR</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">data</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·88110291409b0af753c37e4bb8f145ac1c68a8343c00141b58034e034a7e88fb·...·]-5">)</span><span·class="w">185 ············</span><span·class="p"·data-group-id="7502760186-4">[</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="7502760186-5">(</span><span·class="n">RR</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">data</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·d6314b5f699c013f2eeeaeee9e18fc92db6aa67f2f79d54d681f4df2800ea120·...·]-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="7256369218-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="7256369218-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="7502760186-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="7502760186-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="7256369218-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="7256369218-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="7502760186-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="7502760186-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="7256369218-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="7256369218-8">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·63,·SHA:·60ba1c4247646d817ae8253b01a79af787bbd3f12b001db3c55b7cd3276c619b·...·]-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="7502760186-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="7502760186-8">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·63,·SHA:·7a4ed4e8259fb633dda8a11c7a9de5a71588bc436f7f635ef44d56b6bbae611e·...·]-4">]</span><span·class="p">;</span><span·class="w">
189 ········</span><span·class="p"·data-group-id="7256369218-9">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="7256369218-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 ········</span><span·class="p"·data-group-id="7502760186-9">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="7502760186-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
190 ············</span><span·class="p"·data-group-id="7256369218-10">[</span><span·class="p"·data-group-id="7256369218-10">]</span><span·class="w">190 ············</span><span·class="p"·data-group-id="7502760186-10">[</span><span·class="p"·data-group-id="7502760186-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-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>584 ··········<pre·translate="no"><span·class="attribute">-type</span>·dns_msg()·::·<a·href="../../../../erts-15.2.7/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="7876555663-1">(</span><span·class="p"·data-group-id="7876555663-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="2364020767-1">(</span><span·class="p"·data-group-id="2364020767-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="7876555663-2">(</span><span·class="n">DnsMsg</span><span·class="p"·data-group-id="7876555663-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="2364020767-2">(</span><span·class="n">DnsMsg</span><span·class="p"·data-group-id="2364020767-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
591 ········</span><span·class="p"·data-group-id="7876555663-3">[</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-5">[·...·truncated·by·diffoscope;·len:·102,·SHA:·bf75780251e97076bd86e5444feb1634d3bb368c451de24f1c81c289314d05d6·...·]-4">}</span><span·class="w">591 ········</span><span·class="p"·data-group-id="2364020767-3">[</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-5">[·...·truncated·by·diffoscope;·len:·102,·SHA:·02e7921a732f3e405786c33a2672e593f7bd5c20c744f30064cb2f6e3b1e163e·...·]-4">}</span><span·class="w">
592 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-7">(</span><span·class="p"·data-group-id="7876555663-7">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·81f7ca7f57dd4e5c67e83ff70c2f61dcd2094a0a3b434f818dbd1f21709eeaa4·...·]-6">}</span><span·class="w">592 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-7">(</span><span·class="p"·data-group-id="2364020767-7">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·a64dc0c8d9144fb2febd77fb4946ecc2ec297b796a9d8249995485268d30feea·...·]-6">}</span><span·class="w">
593 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-9">(</span><span·class="p"·data-group-id="7876555663-9">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·cb3dd99f15e31e31b98589b074eb1fc94b3afbc58f903f3aa125fb6663fcc77f·...·]-8">}</span><span·class="w">593 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-9">(</span><span·class="p"·data-group-id="2364020767-9">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·19f6ce2e4a143ea21bf559397e59d3ed57f26c4648276f5391cd84e2a8957adb·...·]-8">}</span><span·class="w">
594 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-11">(</span><span·class="p"·data-group-id="7876555663-11">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·81f7ca7f57dd4e5c67e83ff70c2f61dcd2094a0a3b434f818dbd1f21709eeaa4·...·]-10">}</span><span·class="w">594 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-11">(</span><span·class="p"·data-group-id="2364020767-11">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·a64dc0c8d9144fb2febd77fb4946ecc2ec297b796a9d8249995485268d30feea·...·]-10">}</span><span·class="w">
595 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-13">(</span><span·class="p"·data-group-id="7876555663-13">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·102,·SHA:·812917e2e52f55c3e5acb3ec2aa6afda0adbecc801d3d23002a3de0406c08c98·...·]-3">]</span><span·class="w">595 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-13">(</span><span·class="p"·data-group-id="2364020767-13">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·102,·SHA:·1c4373ac9c0350c413646d082ebb6d115526a5792bc9d54d2ccf0407109fc999·...·]-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="7876555663-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="7876555663-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·133,·SHA:·86a0de8f12213e211fe76349e7e9146de02f81a1a4981fa094e4a06c9d343a24·...·]-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="2364020767-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="2364020767-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·133,·SHA:·12603c57e92a8def68be93b9a16e6b10b6a7a268de2f61d7e95c85bbda49a744·...·]-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="7876555663-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="7876555663-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="2364020767-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="2364020767-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="7876555663-17">(</span><span·class="p"·data-group-id="7876555663-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="2364020767-17">(</span><span·class="p"·data-group-id="2364020767-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="7876555663-18">(</span><span·class="n">DnsHeader</span><span·class="p"·data-group-id="7876555663-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="2364020767-18">(</span><span·class="n">DnsHeader</span><span·class="p"·data-group-id="2364020767-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
600 ········</span><span·class="p"·data-group-id="7876555663-19">[</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-21">(</s[·...·truncated·by·diffoscope;·len:·99,·SHA:·da556b00533e410e3cafe6692e51579297b983d305f3f6e88f094f9f7b45ea10·...·]-20">}</span><span·class="w">600 ········</span><span·class="p"·data-group-id="2364020767-19">[</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-21">(</s[·...·truncated·by·diffoscope;·len:·99,·SHA:·4ff01a021ef51b40584359058d972e414efe88d24190b63624e5b636ffa8336c·...·]-20">}</span><span·class="w">
601 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-23">(</span><span·class="p"·data-group-id="7876555663-23">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·cb3dd99f15e31e31b98589b074eb1fc94b3afbc58f903f3aa125fb6663fcc77f·...·]-22">}</span><span·class="w">601 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-23">(</span><span·class="p"·data-group-id="2364020767-23">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·19f6ce2e4a143ea21bf559397e59d3ed57f26c4648276f5391cd84e2a8957adb·...·]-22">}</span><span·class="w">
602 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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:·329,·SHA:·0dbdb658ccb2e60fd95b1ac3c1fc3f9b9a5d1ca18d60dfeffa0ff58c5ef08f24·...·]-24">}</span><span·class="w">602 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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:·329,·SHA:·391f5c1bf136d1cbbeab041d81b8c76fdd6669c6962349f1d4f0fa5c14a14896·...·]-24">}</span><span·class="w">
603 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-27">(</span><span·class="p"·data-group-id="7876555663-27">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·cb3dd99f15e31e31b98589b074eb1fc94b3afbc58f903f3aa125fb6663fcc77f·...·]-26">}</span><span·class="w">603 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-27">(</span><span·class="p"·data-group-id="2364020767-27">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·19f6ce2e4a143ea21bf559397e59d3ed57f26c4648276f5391cd84e2a8957adb·...·]-26">}</span><span·class="w">
604 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-29">(</span><span·class="p"·data-group-id="7876555663-29">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·cb3dd99f15e31e31b98589b074eb1fc94b3afbc58f903f3aa125fb6663fcc77f·...·]-28">}</span><span·class="w">604 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-29">(</span><span·class="p"·data-group-id="2364020767-29">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·19f6ce2e4a143ea21bf559397e59d3ed57f26c4648276f5391cd84e2a8957adb·...·]-28">}</span><span·class="w">
605 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-31">(</span><span·class="p"·data-group-id="7876555663-31">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·cb3dd99f15e31e31b98589b074eb1fc94b3afbc58f903f3aa125fb6663fcc77f·...·]-30">}</span><span·class="w">605 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-31">(</span><span·class="p"·data-group-id="2364020767-31">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·19f6ce2e4a143ea21bf559397e59d3ed57f26c4648276f5391cd84e2a8957adb·...·]-30">}</span><span·class="w">
606 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-33">(</span><span·class="p"·data-group-id="7876555663-33">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·cb3dd99f15e31e31b98589b074eb1fc94b3afbc58f903f3aa125fb6663fcc77f·...·]-32">}</span><span·class="w">606 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-33">(</span><span·class="p"·data-group-id="2364020767-33">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·19f6ce2e4a143ea21bf559397e59d3ed57f26c4648276f5391cd84e2a8957adb·...·]-32">}</span><span·class="w">
607 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-35">(</span><span·class="p"·data-group-id="7876555663-35">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·cb3dd99f15e31e31b98589b074eb1fc94b3afbc58f903f3aa125fb6663fcc77f·...·]-34">}</span><span·class="w">607 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-35">(</span><span·class="p"·data-group-id="2364020767-35">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·19f6ce2e4a143ea21bf559397e59d3ed57f26c4648276f5391cd84e2a8957adb·...·]-34">}</span><span·class="w">
608 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-37">(</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</spa[·...·truncated·by·diffoscope;·len:·201,·SHA:·f1298f7024d22900ae5090d5f944adf60ea6828d3e0b88b5e500bdac70ff37c8·...·]-19">]</span><span·class="w">608 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-37">(</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</spa[·...·truncated·by·diffoscope;·len:·201,·SHA:·8ac8135ceae613d225c15d7ed7393774eab7ad075129d17ff7d487c3edfabdc1·...·]-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="7876555663-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="7876555663-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="2364020767-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="2364020767-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="7876555663-39">(</span><span·class="p"·data-group-id="7876555663-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:·424,·SHA:·fabb08fab5bd0a75b12610de4df1dbc62ed2176cd69936c85e3f7204317bc64d·...·]-40">)</span><span·class="w">610 </span><span·class="nf">query_type</span><span·class="p"·data-group-id="2364020767-39">(</span><span·class="p"·data-group-id="2364020767-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:·424,·SHA:·0c2436743a57613b0d0f885db722ee7d31502554f66829114d5789e2506c9717·...·]-40">)</span><span·class="w">
  
611 </span><span·class="nf">dns_query</span><span·class="p"·data-group-id="7876555663-41">(</span><span·class="p"·data-group-id="7876555663-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="2364020767-41">(</span><span·class="p"·data-group-id="2364020767-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="7876555663-42">(</span><span·class="n">DnsQuery</span><span·class="p"·data-group-id="7876555663-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="2364020767-42">(</span><span·class="n">DnsQuery</span><span·class="p"·data-group-id="2364020767-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
613 ········</span><span·class="p"·data-group-id="7876555663-43">[</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-45"[·...·truncated·by·diffoscope;·len:·104,·SHA:·957e025536d4eb7d0144308c7e82292f6c0c4c9426fdf03eb9612f4ccfdf5865·...·]-44">}</span><span·class="w">613 ········</span><span·class="p"·data-group-id="2364020767-43">[</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-45"[·...·truncated·by·diffoscope;·len:·104,·SHA:·d980f7a3989ef503edf0d92fe00a489f27fd3185490a1d02b562fc1f37e5fc73·...·]-44">}</span><span·class="w">
614 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-47">(</span><span·class="p"·data-group-id="7876555663-47">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·a2064cec98abcd4a10ff0d33d67362e7ad0ccf9c300d3f1cb96a908b10002c76·...·]-46">}</span><span·class="w">614 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-47">(</span><span·class="p"·data-group-id="2364020767-47">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·c7a8709a264a53e564809ae26faf8d5e7d8c522e8c5b11aaadbac885fbc7cb19·...·]-46">}</span><span·class="w">
615 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-49">(</span><span·class="p"·data-group-id="7876555663-49">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·104,·SHA:·bddbd7f4143bf5c27ccbe195e423d20146b9a1b0f2a8492c206fc154a125c818·...·]-43">]</span><span·class="w">615 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-49">(</span><span·class="p"·data-group-id="2364020767-49">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·104,·SHA:·90dba8ef515f43a8f7317a0ebfc78f31d076e4041e20c5cf69a60b808e319a6d·...·]-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="7876555663-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="7876555663-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="2364020767-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="2364020767-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="7876555663-51">(</span><span·class="p"·data-group-id="7876555663-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="2364020767-51">(</span><span·class="p"·data-group-id="2364020767-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="7876555663-52">(</span><span·class="n">DnsRr</span><span·class="p"·data-group-id="7876555663-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="2364020767-52">(</span><span·class="n">DnsRr</span><span·class="p"·data-group-id="2364020767-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="7876555663-53">[</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-55"[·...·truncated·by·diffoscope;·len:·104,·SHA:·fed1ea10324324f221e41e67814998a6583eb31723aa467c501a10403c64a954·...·]-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="2364020767-53">[</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-55"[·...·truncated·by·diffoscope;·len:·104,·SHA:·c4f469278964bb0c3c93ba1c6271b725406131c1934616327e341fdd984e369f·...·]-54">}</span><span·class="w">
620 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-57">(</span><span·class="p"·data-group-id="7876555663-57">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·afdf8d040c1159efa45274698089570c541cece7d530c0c5b2438166e25d4821·...·]-56">}</span><span·class="w">620 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-57">(</span><span·class="p"·data-group-id="2364020767-57">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·2e0961724540ff1866e0c38b914425072f82e91899c9d56a2536a951e49c9886·...·]-56">}</span><span·class="w">
621 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-59">(</span><span·class="p"·data-group-id="7876555663-59">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·a2064cec98abcd4a10ff0d33d67362e7ad0ccf9c300d3f1cb96a908b10002c76·...·]-58">}</span><span·class="w">621 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-59">(</span><span·class="p"·data-group-id="2364020767-59">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·c7a8709a264a53e564809ae26faf8d5e7d8c522e8c5b11aaadbac885fbc7cb19·...·]-58">}</span><span·class="w">
622 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-61">(</span><span·class="p"·data-group-id="7876555663-61">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·0bd91a26e8d240c68f4e9f01c9350b12869d6b1c04ad11ab0a3d46f0dda0a7bc·...·]-60">}</span><span·class="w">622 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-61">(</span><span·class="p"·data-group-id="2364020767-61">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·92d8eab8dbadb51a789a620349c797c1d83fe3ad043ea8e255a6304c95df90ed·...·]-60">}</span><span·class="w">
623 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-63">(</span><span·class="p"·data-group-id="7876555663-63">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·102,·SHA:·8c48ad493332ace7a59421b35f7bb878f12250f3262ab47e2584ff7e8a8a4250·...·]-53">]</span><span·class="w">623 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-63">(</span><span·class="p"·data-group-id="2364020767-63">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·102,·SHA:·80be6b29be6542ba674e5130de25a94ce60f83c8ac2112aad3d065dd34808813·...·]-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="7876555663-64">[</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-66"[·...·truncated·by·diffoscope;·len:·104,·SHA:·243499543fd9caea5e853aa7f34a9900ccb028590e692f609a1a47f62789437d·...·]-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="2364020767-64">[</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-66"[·...·truncated·by·diffoscope;·len:·104,·SHA:·c897b2c5bd5c42589a2327a320c3738ae70d3109af0f8fa78e88359feac207b2·...·]-65">}</span><span·class="w">
625 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-67">}</span><span·class="w">625 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-67">}</span><span·class="w">
626 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-69">(</span><span·class="p"·data-group-id="7876555663-69">)</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·dafc5191225b27434c2a8f31ba4c697557b7ffa6e73fefaa4cdcec91bac0e6ce·...·]-68">}</span><span·class="w">626 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-69">(</span><span·class="p"·data-group-id="2364020767-69">)</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·777384c8cbe8ce66491bae1c207dbd5aca6567d37f9f4c11b03e5a15fa8af26a·...·]-68">}</span><span·class="w">
627 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-71">(</span><span·class="p"·data-group-id="7876555663-71">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·ae7f1948cfcb1a1f46d04bc6dfdba90cb2e5d643a5fb54489bfcf5513daa86c0·...·]-70">}</span><span·class="w">627 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-71">(</span><span·class="p"·data-group-id="2364020767-71">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·e807594df648fa87ed2dcb2657d6be71430cc912472706287035777bdea0417d·...·]-70">}</span><span·class="w">
628 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-73">(</span><span·class="p"·data-group-id="7876555663-73">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·a2064cec98abcd4a10ff0d33d67362e7ad0ccf9c300d3f1cb96a908b10002c76·...·]-72">}</span><span·class="w">628 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-73">(</span><span·class="p"·data-group-id="2364020767-73">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·c7a8709a264a53e564809ae26faf8d5e7d8c522e8c5b11aaadbac885fbc7cb19·...·]-72">}</span><span·class="w">
629 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-75">(</span><span·class="p"·data-group-id="7876555663-75">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·8f93d2d31ada782f1adf79b166a6d2b2181bc11642077241637daf87a6bbd4bf·...·]-74">}</span><span·class="w">629 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-75">(</span><span·class="p"·data-group-id="2364020767-75">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·35d8e50bb982743d329973a19a5e347aecc49bb7308e1b3809dc6aa759daa40d·...·]-74">}</span><span·class="w">
630 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7876555663-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="7876555663-77">(</span><span·class="p"·data-group-id="7876555663-77">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·102,·SHA:·7117f693eeb9a43c909f67a03c1e0ede74db0144b3bfe58598f85d92afdd33e3·...·]-64">]</span><span·class="w">630 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2364020767-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="2364020767-77">(</span><span·class="p"·data-group-id="2364020767-77">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·102,·SHA:·4431880035b70203514b6783abd565ce6d20436856d6ec3cfaac89dbd70b9ed4·...·]-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="7876555663-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="7876555663-78">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·472,·SHA:·b6683ed946a0e43006714aa219e86f40990bd392f01cd222f8c8586ff9f99b9f·...·]-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="2364020767-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="2364020767-78">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·472,·SHA:·c6989f8870106f129d1ae4e77fb1be5363cabf60afb3ae6425b6949c968de750·...·]-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="3952693748-3">(</span><span·class="nf">dns_header</span><span·class="p"·data-group-id="3952693748-4">(</span><span·class="p"·data-group-id="3952693748-4">)</span><span·class="p"·data-group-id="3952693748-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="4646362462-3">(</span><span·class="nf">dns_header</span><span·class="p"·data-group-id="4646362462-4">(</span><span·class="p"·data-group-id="4646362462-4">)</span><span·class="p"·data-group-id="4646362462-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="3952693748-5">(</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="3952693748-6">(</span><span·class="p"·data-group-id="3952693748-6">)</span><span·class="p"·data-group-id="3952693748-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="4646362462-5">(</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="4646362462-6">(</span><span·class="p"·data-group-id="4646362462-6">)</span><span·class="p"·data-group-id="4646362462-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="3952693748-7">(</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="3952693748-8">(</span><span·class="p"·data-group-id="3952693748-8">)</span><span·class="p"·data-group-id="3952693748-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="4646362462-7">(</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="4646362462-8">(</span><span·class="p"·data-group-id="4646362462-8">)</span><span·class="p"·data-group-id="4646362462-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="3952693748-9">(</span><span·class="p">_</span><span·class="p"·data-group-id="3952693748-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="4646362462-9">(</span><span·class="p">_</span><span·class="p"·data-group-id="4646362462-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1461 <p>Copyright·©·1996-2025·<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.54 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>192 <p>Copyright·©·1996-2025·<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.38 MB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/doc/html/kernel.epub
8.16 KB
zipinfo {}
Max HTML report size reached
311 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
179 KB
OEBPS/socket_usage.xhtml
Max HTML report size reached
41.3 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
22.9 KB
OEBPS/os.xhtml
Max HTML report size reached
7.09 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
101 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
18.1 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.24 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.2.7/doc/html/kernel_app.html
    
Offset 436, 15 lines modifiedOffset 436, 15 lines modified
436 ······<p·class="built-using">436 ······<p·class="built-using">
437 ········Built·using437 ········Built·using
438 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the438 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
439 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>439 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
440 ······</p>440 ······</p>
441 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>441 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
442 ····</footer>442 ····</footer>
443 ··</div>443 ··</div>
444 </main>444 </main>
445 </div>445 </div>
446 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>446 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
447 ··<script>447 ··<script>
448 ··let·initialized·=·false;448 ··let·initialized·=·false;
827 B
html2text {}
Max HTML report size reached
54.4 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="5522177565-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="5522177565-2">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·bacdc5b7147fc6bfd939720c42dfbf543b0d4f17642a41d3241f9486b8c4f5fa·...·]-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="2674653233-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="2674653233-2">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·844422e6de2d7596e54f61e20020effb8a86eee86580cdb8d794ae7ebf02c9c4·...·]-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="5522177565-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="5522177565-4">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·653a010e044cc8ae6f03f4876c32079fcf81a57d3167e44ab1127daa8c443f7b·...·]-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="2674653233-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="2674653233-4">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·dc43561566bb92f28a7ce589e5e4ce047e4da1bebe2b82cb3dfa48942e0b0799·...·]-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="4766850220-1">[</span><span·class="p"·data-group-id="4766850220-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="5134495222-1">[</span><span·class="p"·data-group-id="5134495222-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
139 ··</span><span·class="p"·data-group-id="4766850220-3">[</span><span·class="p"·data-group-id="4766850220-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">139 ··</span><span·class="p"·data-group-id="5134495222-3">[</span><span·class="p"·data-group-id="5134495222-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
140 ····</span><span·class="p"·data-group-id="4766850220-5">[</span><span·class="p"·data-group-id="4766850220-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="5134495222-5">[</span><span·class="p"·data-group-id="5134495222-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="4766850220-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="4766850220-8">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;[·...·truncated·by·diffoscope;·len:·494,·SHA:·27c5afbe491d2dc0c61b32060c223813830a10fea04373a13cc342001ca3e4db·...·]-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="5134495222-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="5134495222-8">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;[·...·truncated·by·diffoscope;·len:·494,·SHA:·5bf93dfa53acb055bcb615e2d1614c842c13adc96afa2811df66f120438f983e·...·]-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="8151715509-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="8151715509-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="8741164928-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="8741164928-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 2304, 21 lines modifiedOffset 2304, 21 lines modified
2304 ·········(Level·::·<a·href="#t:level/0">level</a>(),·Fun·::·<a·href="#t:msg_fun/0">msg_fun</a>(),·FunArgs·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>())·->·ok.</pre>2304 ·········(Level·::·<a·href="#t:level/0">level</a>(),·Fun·::·<a·href="#t:msg_fun/0">msg_fun</a>(),·FunArgs·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>())·->·ok.</pre>
  
2305 ······</div>2305 ······</div>
  
2306 <p>Create·a·log·event·at·the·given·<a·href="logger_chapter.html#log-level">log·level</a>,·with2306 <p>Create·a·log·event·at·the·given·<a·href="logger_chapter.html#log-level">log·level</a>,·with
2307 the·given·<a·href="logger_chapter.html#log-message">message</a>·to·be·logged·and2307 the·given·<a·href="logger_chapter.html#log-message">message</a>·to·be·logged·and
2308 <a·href="logger_chapter.html#metadata"><em>metadata</em></a>.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·A·plain·string</span><span·class="gp·unselectable">2308 <a·href="logger_chapter.html#metadata"><em>metadata</em></a>.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·A·plain·string</span><span·class="gp·unselectable">
2309 1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">log</span><span·class="p"·data-group-id="7194549721-1">(</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Hello·World&quot;</span><span·class="p"·data-group-id="7194549721-1">)</span><span·class="p">.</span><span·class="w">2309 1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">log</span><span·class="p"·data-group-id="6090471501-1">(</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Hello·World&quot;</span><span·class="p"·data-group-id="6090471501-1">)</span><span·class="p">.</span><span·class="w">
2310 </span><span·class="c1">%%·A·plain·string·with·metadata</span><span·class="gp·unselectable">2310 </span><span·class="c1">%%·A·plain·string·with·metadata</span><span·class="gp·unselectable">
2311 2&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">log</span><span·class="p"·data-group-id="7194549721-2">(</span><span·class="ss">debug</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="7194549721-3">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·264,·SHA:·5811faa82c1ac6ffb6974fcb45b1f72e38b6c63a34f378a9c5e9f62d29e75bd7·...·]1-2">)</span><span·class="p">.</span><span·class="w">2311 2&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">log</span><span·class="p"·data-group-id="6090471501-2">(</span><span·class="ss">debug</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="6090471501-3">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·264,·SHA:·23993875e1421317cf3e650ec40e45c2f4214ed58894e588ef1c58aec28fac2e·...·]1-2">)</span><span·class="p">.</span><span·class="w">
2312 </span><span·class="c1">%%·A·format·string·with·arguments</span><span·class="gp·unselectable">2312 </span><span·class="c1">%%·A·format·string·with·arguments</span><span·class="gp·unselectable">
2313 3&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">log</span><span·class="p"·data-group-id="7194549721-4">(</span><span·class="ss">warning</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;The·roof·is·on·~ts&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="7194549721-5">[</span><span·class="n">Cause</sp[·...·truncated·by·diffoscope;·len:·96,·SHA:·43a6fabd5610ecd33b79f81565af46bf9c116eb484882d630972bad7a29ff9d8·...·]1-4">)</span><span·class="p">.</span><span·class="w">2313 3&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">log</span><span·class="p"·data-group-id="6090471501-4">(</span><span·class="ss">warning</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;The·roof·is·on·~ts&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="6090471501-5">[</span><span·class="n">Cause</sp[·...·truncated·by·diffoscope;·len:·96,·SHA:·71d94c4d684108fd761d81f04b5cce09d422789361e30d9c048af4d74c38b6c6·...·]1-4">)</span><span·class="p">.</span><span·class="w">
2314 </span><span·class="c1">%%·A·report</span><span·class="gp·unselectable">2314 </span><span·class="c1">%%·A·report</span><span·class="gp·unselectable">
2315 4&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">log</span><span·class="p"·data-group-id="7194549721-6">(</span><span·class="ss">warning</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7194549721-7">#{</span><span·class="w">·</span><span·class="ss">what</span><span·class="w">·</span><span·class="p">=&gt;</sp[·...·truncated·by·diffoscope;·len:·353,·SHA:·3241ea5b83174d73736829a3b3543e9cc832e5f30639c0d79feec52e70b89ba6·...·]1-6">)</span><span·class="p">.</span></code></pre><p>Equivalent·to·<a·href="#log/4"><code·class="inline">log(Level,·FormatOrFun,·Args,·#{})</code></a>·if·called·as2315 4&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">log</span><span·class="p"·data-group-id="6090471501-6">(</span><span·class="ss">warning</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6090471501-7">#{</span><span·class="w">·</span><span·class="ss">what</span><span·class="w">·</span><span·class="p">=&gt;</sp[·...·truncated·by·diffoscope;·len:·353,·SHA:·5d1e9cbdf0ac9bd5e0a08729b79096b321258bdf2f13570e1ee241818de65320·...·]1-6">)</span><span·class="p">.</span></code></pre><p>Equivalent·to·<a·href="#log/4"><code·class="inline">log(Level,·FormatOrFun,·Args,·#{})</code></a>·if·called·as
2316 <code·class="inline">log(Level,·FormatOrFun,·Args)</code>.</p>2316 <code·class="inline">log(Level,·FormatOrFun,·Args)</code>.</p>
2317 ··</section>2317 ··</section>
2318 </section>2318 </section>
2319 <section·class="detail"·id="log/4">2319 <section·class="detail"·id="log/4">
  
2320 ··<div·class="detail-header">2320 ··<div·class="detail-header">
2321 ····<a·href="#log/4"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2321 ····<a·href="#log/4"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2347, 20 lines modifiedOffset 2347, 20 lines modified
2347 <p>Create·a·log·event·at·the·given·<a·href="logger_chapter.html#log-level">log·level</a>,·with2347 <p>Create·a·log·event·at·the·given·<a·href="logger_chapter.html#log-level">log·level</a>,·with
2348 the·given·<a·href="logger_chapter.html#log-message">message</a>·to·be·logged·and2348 the·given·<a·href="logger_chapter.html#log-message">message</a>·to·be·logged·and
2349 <a·href="logger_chapter.html#metadata"><em>metadata</em></a>.</p><p>The·message·and·metadata·can·either·be·given·directly·in·the·arguments,·or2349 <a·href="logger_chapter.html#metadata"><em>metadata</em></a>.</p><p>The·message·and·metadata·can·either·be·given·directly·in·the·arguments,·or
2350 returned·from·a·fun.·Passing·a·fun·instead·of·the·message/metadata·directly·is2350 returned·from·a·fun.·Passing·a·fun·instead·of·the·message/metadata·directly·is
2351 useful·in·scenarios·when·the·message/metadata·is·very·expensive·to·compute.·This2351 useful·in·scenarios·when·the·message/metadata·is·very·expensive·to·compute.·This
2352 is·because·the·fun·is·only·evaluated·when·the·message/metadata·is·actually2352 is·because·the·fun·is·only·evaluated·when·the·message/metadata·is·actually
2353 needed,·which·may·be·not·at·all·if·the·log·event·is·not·to·be·logged.·Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·A·plain·string·with·expensive·metadata</span><span·class="gp·unselectable">2353 needed,·which·may·be·not·at·all·if·the·log·event·is·not·to·be·logged.·Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·A·plain·string·with·expensive·metadata</span><span·class="gp·unselectable">
2354 1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">info</span><span·class="p"·data-group-id="9115297662-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9115297662-2">(</span><span·class="p"·data-group-id="9115297662-3">[</span><span·class="p"·data-group-id="9115297662-3">]</span><span·class="p"·data-group-id="9115297662-2">)</[·...·truncated·by·diffoscope;·len:·900,·SHA:·30c051495b2a8bd7a9bc6699c640de728c78bba4ad66f870ff9b873b81732cb2·...·]-1">)</span><span·class="p">.</span><span·class="w">2354 1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">info</span><span·class="p"·data-group-id="8983077764-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="8983077764-2">(</span><span·class="p"·data-group-id="8983077764-3">[</span><span·class="p"·data-group-id="8983077764-3">]</span><span·class="p"·data-group-id="8983077764-2">)</[·...·truncated·by·diffoscope;·len:·900,·SHA:·8f1d3c4efef021c6d1a1cd9d0d0c09692772a1862100e6e98c6fed7369660434·...·]-1">)</span><span·class="p">.</span><span·class="w">
2355 </span><span·class="c1">%%·An·expensive·report</span><span·class="gp·unselectable">2355 </span><span·class="c1">%%·An·expensive·report</span><span·class="gp·unselectable">
2356 2&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">debug</span><span·class="p"·data-group-id="9115297662-8">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9115297662-9">(</span><span·class="n">What</span><span·class="p"·data-group-id="9115297662-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·727,·SHA:·766ec9219fcda8865af902ef403771fa567c3ae274f2a9da3ab434de60549bfb·...·]-8">)</span><span·class="p">.</span><span·class="w">2356 2&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">debug</span><span·class="p"·data-group-id="8983077764-8">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="8983077764-9">(</span><span·class="n">What</span><span·class="p"·data-group-id="8983077764-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·727,·SHA:·001e6bcb188a2b8967d54246c23395aba1c101c7b49bf2ca0466bd3204c984f4·...·]-8">)</span><span·class="p">.</span><span·class="w">
2357 </span><span·class="c1">%%·A·plain·string·with·expensive·metadata·and·normal·metadata</span><span·class="gp·unselectable">2357 </span><span·class="c1">%%·A·plain·string·with·expensive·metadata·and·normal·metadata</span><span·class="gp·unselectable">
2358 3&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">debug</span><span·class="p"·data-group-id="9115297662-12">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9115297662-13">(</span><span·class="p"·data-group-id="9115297662-14">[</span><span·class="p"·data-group-id="9115297662-14">]</span><span·class="p"·data-group-id="9115297662-13[·...·truncated·by·diffoscope;·len:·859,·SHA:·243ced4deabbd610f1695190432774f1ce1c8da998b8be328379e3317457aaab·...·]-18">]</span><span·class="p">,</span><span·class="w">2358 3&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">debug</span><span·class="p"·data-group-id="8983077764-12">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="8983077764-13">(</span><span·class="p"·data-group-id="8983077764-14">[</span><span·class="p"·data-group-id="8983077764-14">]</span><span·class="p"·data-group-id="8983077764-13[·...·truncated·by·diffoscope;·len:·859,·SHA:·4dca81bfb430ca83dc5a312560571478b84517a8db0e082a0f340312b44f76cc·...·]-18">]</span><span·class="p">,</span><span·class="w">
2359 ···············</span><span·class="p"·data-group-id="9115297662-19">#{</span><span·class="w">·</span><span·class="ss">meta</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">data</span><span·class="w">·</span><span·class="p"·data-group-id="9115297662-19">}</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·f5682387128f78a653f018699df3756b051eaa9faa7331c1cd0365c2e138079a·...·]-12">)</span><span·class="p">.</span></code></pre><p>When·metadata·is·given·both·as·an·argument·and·returned·from·the·fun·they·are2359 ···············</span><span·class="p"·data-group-id="8983077764-19">#{</span><span·class="w">·</span><span·class="ss">meta</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">data</span><span·class="w">·</span><span·class="p"·data-group-id="8983077764-19">}</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·d87051b3e61a9eca15274debfc4ae938de03066f2dc00b9f29b9a88996ef9d8b·...·]-12">)</span><span·class="p">.</span></code></pre><p>When·metadata·is·given·both·as·an·argument·and·returned·from·the·fun·they·are
2360 merged.·If·equal·keys·exists·the·values·are·taken·from·the·metadata·returned·by2360 merged.·If·equal·keys·exists·the·values·are·taken·from·the·metadata·returned·by
2361 the·fun.</p>2361 the·fun.</p>
2362 ··</section>2362 ··</section>
2363 </section>2363 </section>
2364 <section·class="detail"·id="notice/1">2364 <section·class="detail"·id="notice/1">
  
2365 ··<div·class="detail-header">2365 ··<div·class="detail-header">
Offset 2657, 34 lines modifiedOffset 2657, 34 lines modified
2657 ······</div>2657 ······</div>
  
2658 <p>Reads·the·application·configuration·parameter·<code·class="inline">logger</code>·and·calls2658 <p>Reads·the·application·configuration·parameter·<code·class="inline">logger</code>·and·calls
2659 <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·configuration2659 <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
2660 consistent·no·matter·which·handler·the·system·uses.·Normal·usage·is·to·add·a2660 consistent·no·matter·which·handler·the·system·uses.·Normal·usage·is·to·add·a
2661 call·to·<a·href="#add_handlers/1"><code·class="inline">logger:add_handlers/1</code></a>·just·after·the·processes·that·the·handler·needs2661 call·to·<a·href="#add_handlers/1"><code·class="inline">logger:add_handlers/1</code></a>·just·after·the·processes·that·the·handler·needs
2662 are·started,·and·pass·the·application's·<code·class="inline">logger</code>·configuration·as·the·argument.2662 are·started,·and·pass·the·application's·<code·class="inline">logger</code>·configuration·as·the·argument.
2663 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="9912309059-1">(</span><span·class="ss">application</span><span·class="p"·data-group-id="9912309059-1">)</span><span·class="p">.</span><span·class="w">2663 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="0170436367-1">(</span><span·class="ss">application</span><span·class="p"·data-group-id="0170436367-1">)</span><span·class="p">.</span><span·class="w">
2664 </span><span·class="nf">start</span><span·class="p"·data-group-id="9912309059-2">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9912309059-3">[</span><span·class="p"·data-group-id="9912309059-3">]</span><span·class="p"·data-group-id="9912309059-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2664 </span><span·class="nf">start</span><span·class="p"·data-group-id="0170436367-2">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0170436367-3">[</span><span·class="p"·data-group-id="0170436367-3">]</span><span·class="p"·data-group-id="0170436367-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2665 ····</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="9912309059-4">(</span><span·class="p"·data-group-id="9912309059-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="9912309059-5">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·252,·SHA:·39f5499e655d189d43fb2bedff1e183762c9fe8ca482bed66e92f6a0f755a186·...·]-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">2665 ····</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="0170436367-4">(</span><span·class="p"·data-group-id="0170436367-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="0170436367-5">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·252,·SHA:·8132c425d57a2ac1ff5d0044834b8dd157021e8aa2454b7965b180c028511fbb·...·]-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
2666 ········</span><span·class="p"·data-group-id="9912309059-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="9912309059-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2666 ········</span><span·class="p"·data-group-id="0170436367-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="0170436367-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2667 ············</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="9912309059-8">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="9912309059-8">)</span><span·class="p">,</span><span·class="w">2667 ············</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="0170436367-8">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="0170436367-8">)</span><span·class="p">,</span><span·class="w">
2668 ············</span><span·class="p"·data-group-id="9912309059-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="9912309059-10">[</span><span·class="p"·data-group-id="9[·...·truncated·by·diffoscope;·len:·63,·SHA:·16d48d947f0ba840be651c51ce0a604340853f3cf3ef95dca110ea2eeef1c6df·...·]-9">}</span><span·class="p">;</span><span·class="w">2668 ············</span><span·class="p"·data-group-id="0170436367-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="0170436367-10">[</span><span·class="p"·data-group-id="0[·...·truncated·by·diffoscope;·len:·63,·SHA:·6e2258f36695f72f4ffc0a5b88063357cb86f91438ab6d8d8c6935f0f2f009f6·...·]-9">}</span><span·class="p">;</span><span·class="w">
2669 ········</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">2669 ········</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">
2670 ·····</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>·application2670 ·····</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
2671 and·starts·the·configured·handlers.·The·contents·of·the·configuration·use·the2671 and·starts·the·configured·handlers.·The·contents·of·the·configuration·use·the
2672 same·rules·as·the2672 same·rules·as·the
2673 <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·default2673 <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
2674 handler·have·to·be·disabled·before·the·new·handler·is·added.·A·<code·class="inline">sys.config</code>·file2674 handler·have·to·be·disabled·before·the·new·handler·is·added.·A·<code·class="inline">sys.config</code>·file
2675 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="7249648458-1">[</span><span·class="p"·data-group-id="7249648458-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">2675 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="8373023288-1">[</span><span·class="p"·data-group-id="8373023288-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
2676 ··</span><span·class="p"·data-group-id="7249648458-3">[</span><span·class="p"·data-group-id="7249648458-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">2676 ··</span><span·class="p"·data-group-id="8373023288-3">[</span><span·class="p"·data-group-id="8373023288-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
2677 ····</span><span·class="c1">%%·Disable·the·default·Kernel·handler</span><span·class="w">2677 ····</span><span·class="c1">%%·Disable·the·default·Kernel·handler</span><span·class="w">
2678 ····</span><span·class="p"·data-group-id="7249648458-5">[</span><span·class="p"·data-group-id="7249648458-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:·262,·SHA:·e5b46aea6b2cff1782676feade5b12cbb94d1402031eff486f5598ff2184293a·...·]8-2">}</span><span·class="p">,</span><span·class="w">2678 ····</span><span·class="p"·data-group-id="8373023288-5">[</span><span·class="p"·data-group-id="8373023288-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:·262,·SHA:·2c3438d69a154f0700fadfa18a8865a78e3911a5795a9565b8785070471edb33·...·]8-2">}</span><span·class="p">,</span><span·class="w">
2679 ·</span><span·class="p"·data-group-id="7249648458-7">{</span><span·class="ss">my_app</span><span·class="p">,</span><span·class="w">2679 ·</span><span·class="p"·data-group-id="8373023288-7">{</span><span·class="ss">my_app</span><span·class="p">,</span><span·class="w">
2680 ··</span><span·class="p"·data-group-id="7249648458-8">[</span><span·class="p"·data-group-id="7249648458-9">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">2680 ··</span><span·class="p"·data-group-id="8373023288-8">[</span><span·class="p"·data-group-id="8373023288-9">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
2681 ····</span><span·class="c1">%%·Enable·this·handler·as·the·default</span><span·class="w">2681 ····</span><span·class="c1">%%·Enable·this·handler·as·the·default</span><span·class="w">
2682 ····</span><span·class="p"·data-group-id="7249648458-10">[</span><span·class="p"·data-group-id="7249648458-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:·477,·SHA:·7f4d9e62ed0486c7b77e1a6c53adff559221b692ca361a44d552e473d687f52f·...·]8-1">]</span><span·class="p">.</span></code></pre>2682 ····</span><span·class="p"·data-group-id="8373023288-10">[</span><span·class="p"·data-group-id="8373023288-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:·477,·SHA:·b1770e93214fca245f892095b5d22ac005d56dd6a27b76defa9d144394e63c6c·...·]8-1">]</span><span·class="p">.</span></code></pre>
2683 ··</section>2683 ··</section>
2684 </section>2684 </section>
2685 <section·class="detail"·id="add_primary_filter/2">2685 <section·class="detail"·id="add_primary_filter/2">
  
2686 ··<div·class="detail-header">2686 ··<div·class="detail-header">
2687 ····<a·href="#add_primary_filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2687 ····<a·href="#add_primary_filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2688 ······<i·class="ri-link-m"·aria-hidden="true"></i>2688 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3575, 16 lines modifiedOffset 3575, 16 lines modified
3575 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_formatter_config(HandlerId,·FormatterConfig)·->·ok·|·{error,·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()}3575 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_formatter_config(HandlerId,·FormatterConfig)·->·ok·|·{error,·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()}
3576 ·································when3576 ·································when
3577 ·····································HandlerId·::·<a·href="logger_handler.html#t:id/0">logger_handler:id</a>(),3577 ·····································HandlerId·::·<a·href="logger_handler.html#t:id/0">logger_handler:id</a>(),
3578 ·····································FormatterConfig·::·<a·href="#t:formatter_config/0">formatter_config</a>().</pre>3578 ·····································FormatterConfig·::·<a·href="#t:formatter_config/0">formatter_config</a>().</pre>
  
3579 ······</div>3579 ······</div>
  
3580 <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="7815782309-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">3580 <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="3051388347-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">
3581 »       ······</span><span·class="p"·data-group-id="7815782309-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="7815782309-2">}</span><span·class="p"·data-group-id="7815782309-1">)</span><span·class="p">.</span></code></pre>3581 »       ······</span><span·class="p"·data-group-id="3051388347-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="3051388347-2">}</span><span·class="p"·data-group-id="3051388347-1">)</span><span·class="p">.</span></code></pre>
3582 ··</section>3582 ··</section>
3583 </section>3583 </section>
3584 <section·class="detail"·id="update_formatter_config/3">3584 <section·class="detail"·id="update_formatter_config/3">
  
3585 ··<div·class="detail-header">3585 ··<div·class="detail-header">
Max diff block lines reached; 12510/54747 bytes (22.85%) of diff not shown.
806 B
html2text {}
Max HTML report size reached
103 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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·on·the·form·<code·class="inline">logger:Level/1,2,3</code>,·which·are·all·shortcuts·for191 of·functions·on·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="1002906727-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="1002906727-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="6969373881-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="6969373881-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="1463988863-1">(</span><span·class="s">&quot;The·file·does·not·exist:·~ts&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="1463988863-2">[</span><span·class="n">Filename</span><span·class="p"·data-group-id="1463988863-2">]</span><span·clas[·...·truncated·by·diffoscope;·len:·367,·SHA:·a36c43fff7ec2f1c9426db5b8addf790fcc3854e49ec60fcbc4c8ef2e7cbc08f·...·]-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="4522760536-1">(</span><span·class="s">&quot;The·file·does·not·exist:·~ts&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="4522760536-2">[</span><span·class="n">Filename</span><span·class="p"·data-group-id="4522760536-2">]</span><span·clas[·...·truncated·by·diffoscope;·len:·367,·SHA:·b8bcc5ebfa394b0db5856c1c4f79ec2194e9ccd33d536e6de587693fcd21138a·...·]-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="8444743881-1">(</span><span·class="p"·data-group-id="8444743881-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:·89bc5af46001ec754e20f67462464a7502d03e42948e3b32d1d897390ca7ccf2·...·]-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="6719883364-1">(</span><span·class="p"·data-group-id="6719883364-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:·e2241b553138e79d5946b33fb64651a5bc06bebf49f64c911e1bef33616b2fb2·...·]-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="5459657576-1">(</span><span·class="p"·data-group-id="5459657576-2">(</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">report</span><span·class="p"·data-group-id="5459657576-3">(</span><span·class="p"·data-group-id="5459657576-3">)</span><span·class="p"·data-group-id="5459657576-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5459657576-4">{</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5459657576-5">(</span><span·class="p"·data-group-id="5459657576-5">)</span><span·class="p">,</span><span·class="p"·data-group-id="5459657576-6">[</span><span·class="nf">term</span><span·class="p"·data-group-id="5459657576-7">(</span><span·class="p"·data-group-id="5459657576-7">)</span><span·class="p"·data-group-id="5459657576-6">]</span><span·class="p"·data-group-id="5459657576-4">}</span><span·class="p"·data-group-id="5459657576-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="2038226392-1">(</span><span·class="p"·data-group-id="2038226392-2">(</span><span·c[·...·truncated·by·diffoscope;·len:·924,·SHA:·cd3edf588d664ec8c19847021f1b11d8924e99f3a6af17c26ac7efb805c271fb·...·]224 arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="6753868688-1">(</span><span·class="p"·data-group-id="6753868688-2">(</span><span·class="nc">logger</span><span·class="p">:</span><span·c[·...·truncated·by·diffoscope;·len:·958,·SHA:·3107211711233ea4eb65653a482cba6fad21554a003c718fda46ab88578684b1·...·]
 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="8855830051-1">(</span><span·class="p"·data-group-id="8855830051-2">(</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">report</span><span·class="p"·data-group-id="8855830051-3">(</span><span·class="p"·data-group-id="8855830051-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="8855830051-4">(</span><span·class="p"·data-group-id="8855830051-4">)</span><span·class="p"·data-group-id="8855830051-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="8855830051-5">(</span><span·class="p"·data-group-id="8855830051-5">)</span><span·class="p"·data-group-id="8855830051-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="0280718576-1">(</span><span·class="p"·data-group-id="0280718576-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:·92d22c576c0d3e0f48b54c04dfd5bc35a4d6fb5d4b70d8dbf0faaece840b1150·...·]-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="2015221732-1">(</span><span·class="p"·data-group-id="2015221732-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:·59ea1339d5e4fe75b03c15bc71e04bb3310dab21f983d240cdc1e5e31854513b·...·]-2">}</span><span·class="p">,</span><span·class="w">
231 ·············</span><span·class="p"·data-group-id="0280718576-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="0280718576-4">(</span><span·class="n">R</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·597,·SHA:·c1086adbe60f4d5a3fe22225036e117639b64cc80cf3b5f3d44834947fd50c09·...·]-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="2015221732-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="2015221732-4">(</span><span·class="n">R</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·597,·SHA:·c5ccd0358c228ec7c76a80fd55d2d9c23e521abae8662e05966c4ba04a5c72b9·...·]-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 412, 22 lines modifiedOffset 412, 22 lines modified
412 with·<a·href="../../../../lib/sasl-4.2.2/doc/html/error_logging.html">SASL·Error·Logging</a>,·which·is·specified·with412 with·<a·href="../../../../lib/sasl-4.2.2/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="text">········logger:remove_handler(default)418 calling</p><pre><code·class="text">········logger:remove_handler(default)
419 </code></pre><p>followed·by</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="3691664935-1">(</span><span·class="ss">default</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="3691664935-1">)</span><span·class="w">419 </code></pre><p>followed·by</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="3350387998-1">(</span><span·class="ss">default</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="3350387998-1">)</span><span·class="w">
420 </span></code></pre><p>For·all·other·values·of·<code·class="inline">HandlerId</code>,·this·entry·adds·a·new·handler,420 </span></code></pre><p>For·all·other·values·of·<code·class="inline">HandlerId</code>,·this·entry·adds·a·new·handler,
421 equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="4674095910-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="4674095910-1">)</span><span·class="w">421 equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="0130203192-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="0130203192-1">)</span><span·class="w">
422 </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·primary422 </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
423 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="w">········</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_primary_filter</span><span·class="p"·data-group-id="6435516978-1">(</span><span·class="n">FilterId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6435516978-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:·fb8740187da6e1e88e79b98e4c0c25601bc8ec2e157ba9203628c87c7c7ddb1b·...·]-1">)</span><span·class="w">423 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="w">········</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_primary_filter</span><span·class="p"·data-group-id="2606493005-1">(</span><span·class="n">FilterId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2606493005-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:·c9f0286d6d0c577a506358acd388bb5d863eb1893a5807d1d038fe82550f1f23·...·]-1">)</span><span·class="w">
424 </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·return424 </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
425 <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·given425 <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
426 modules.·Equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_module_level</span><span·class="p"·data-group-id="1709519008-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="1709519008-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·to426 modules.·Equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_module_level</span><span·class="p"·data-group-id="5234446781-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="5234446781-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
427 calling</p><pre><code·class="text">········logger:set_proxy_config(ProxyConfig)427 calling</p><pre><code·class="text">········logger:set_proxy_config(ProxyConfig)
428 </code></pre><p>Only·one·entry·of·this·type·is·allowed.</p></li></ul><p>See·section·<a·href="#configuration-examples">Configuration·Examples</a>·for428 </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
429 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·primary429 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
430 metadata.·See·the·<a·href="kernel_app.html#logger_metadata"><code·class="inline">kernel(6)</code></a>·manual·page·for430 metadata.·See·the·<a·href="kernel_app.html#logger_metadata"><code·class="inline">kernel(6)</code></a>·manual·page·for
431 more·information·about·this·parameter.</p></li><li><p><strong><code·class="inline"·id="logger_level">logger_level·=·Level</code></strong>·-·Specifies·the·primary·log431 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
432 level.·See·the·<a·href="kernel_app.html#logger_level"><code·class="inline">kernel(6)</code></a>·manual·page·for·more432 level.·See·the·<a·href="kernel_app.html#logger_level"><code·class="inline">kernel(6)</code></a>·manual·page·for·more
433 information·about·this·parameter.</p></li><li><p><strong><code·class="inline"·id="logger_sasl_compatible">logger_sasl_compatible·=·true·|·false</code></strong>·-433 information·about·this·parameter.</p></li><li><p><strong><code·class="inline"·id="logger_sasl_compatible">logger_sasl_compatible·=·true·|·false</code></strong>·-
Offset 442, 39 lines modifiedOffset 442, 39 lines modified
442 </h3>442 </h3>
443 <p>The·value·of·the·Kernel·configuration·parameter·<code·class="inline">logger</code>·is·a·list·of·tuples.·It443 <p>The·value·of·the·Kernel·configuration·parameter·<code·class="inline">logger</code>·is·a·list·of·tuples.·It
444 is·possible·to·write·the·term·on·the·command·line·when·starting·an·erlang·node,444 is·possible·to·write·the·term·on·the·command·line·when·starting·an·erlang·node,
445 but·as·the·term·grows,·a·better·approach·is·to·use·the·system·configuration445 but·as·the·term·grows,·a·better·approach·is·to·use·the·system·configuration
446 file.·See·the·<a·href="config.html"><code·class="inline">config(4)</code></a>·manual·page·for·more·information·about446 file.·See·the·<a·href="config.html"><code·class="inline">config(4)</code></a>·manual·page·for·more·information·about
447 this·file.</p><p>Each·of·the·following·examples·shows·a·simple·system·configuration·file·that447 this·file.</p><p>Each·of·the·following·examples·shows·a·simple·system·configuration·file·that
448 configures·Logger·according·to·the·description.</p><p>Modify·the·default·handler·to·print·to·a·file·instead·of448 configures·Logger·according·to·the·description.</p><p>Modify·the·default·handler·to·print·to·a·file·instead·of
449 <a·href="../../../../lib/stdlib-6.2.2/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="2371837460-1">[</span><span·class="p"·data-group-id="2371837460-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">449 <a·href="../../../../lib/stdlib-6.2.2/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="9279244003-1">[</span><span·class="p"·data-group-id="9279244003-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
450 ··</span><span·class="p"·data-group-id="2371837460-3">[</span><span·class="p"·data-group-id="2371837460-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">450 ··</span><span·class="p"·data-group-id="9279244003-3">[</span><span·class="p"·data-group-id="9279244003-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
451 ····</span><span·class="p"·data-group-id="2371837460-5">[</span><span·class="p"·data-group-id="2371837460-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">451 ····</span><span·class="p"·data-group-id="9279244003-5">[</span><span·class="p"·data-group-id="9279244003-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">
452 ······</span><span·class="p"·data-group-id="2371837460-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="2371837460-8">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;[·...·truncated·by·diffoscope;·len:·227,·SHA:·6837a556188c1c91d4b7f5276730cfce0aaa8375fb946a65dd28c447d7eef21a·...·]-6">}</span><span·class="w">··</span><span·class="c1">%·Config}</span><span·class="w">452 ······</span><span·class="p"·data-group-id="9279244003-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="9279244003-8">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;[·...·truncated·by·diffoscope;·len:·227,·SHA:·89758f86b33fbc834d53e242e81c394de13f02d3017722b525b8abab45d148d6·...·]-6">}</span><span·class="w">··</span><span·class="c1">%·Config}</span><span·class="w">
453 ····</span><span·class="p"·data-group-id="2371837460-5">]</span><span·class="p"·data-group-id="2371837460-4">}</span><span·class="p"·data-group-id="2371837460-3">]</span><span·class="p"·data-group-id="2371837460-2">}</span><span·class="p"·data-group-id="2371837460-1">]</span><span·class="p">.</spa[·...·truncated·by·diffoscope;·len:·232,·SHA:·29256407cde0f9657c633eb5280833bb57524900eebd7aab32f208a2dd19b94e·...·]-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">453 ····</span><span·class="p"·data-group-id="9279244003-5">]</span><span·class="p"·data-group-id="9279244003-4">}</span><span·class="p"·data-group-id="9279244003-3">]</span><span·class="p"·data-group-id="9279244003-2">}</span><span·class="p"·data-group-id="9279244003-1">]</span><span·class="p">.</spa[·...·truncated·by·diffoscope;·len:·232,·SHA:·50f29243b2e09e5da5dda7a21d2f43af32e32fea28ab916fe3ecbcc558d7733b·...·]-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
454 ··</span><span·class="p"·data-group-id="8832345698-3">[</span><span·class="p"·data-group-id="8832345698-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">454 ··</span><span·class="p"·data-group-id="3270754197-3">[</span><span·class="p"·data-group-id="3270754197-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
455 ····</span><span·class="p"·data-group-id="8832345698-5">[</span><span·class="p"·data-group-id="8832345698-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="3270754197-5">[</span><span·class="p"·data-group-id="3270754197-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="8832345698-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="8832345698-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·410,·SHA:·d1bc02e95da6aa8084d4ea2e1dd8412574935c18b48dbdd6ed568202f1224271·...·]-6">}</span><span·class="w">456 ······</span><span·class="p"·data-group-id="3270754197-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="3270754197-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·410,·SHA:·847276d876cb8694839098f5e30866f4797abea4502444c14b578a7760e5edd2·...·]-6">}</span><span·class="w">
457 ····</span><span·class="p"·data-group-id="8832345698-5">]</span><span·class="p"·data-group-id="8832345698-4">}</span><span·class="p"·data-group-id="8832345698-3">]</span><span·class="p"·data-group-id="8832345698-2">}</span><span·class="p"·data-group-id="8832345698-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·print·the·pid·of·the·logging·process·for·each·log457 ····</span><span·class="p"·data-group-id="3270754197-5">]</span><span·class="p"·data-group-id="3270754197-4">}</span><span·class="p"·data-group-id="3270754197-3">]</span><span·class="p"·data-group-id="3270754197-2">}</span><span·class="p"·data-group-id="3270754197-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·print·the·pid·of·the·logging·process·for·each·log
458 event:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0848301377-1">[</span><span·class="p"·data-group-id="0848301377-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">458 event:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1321426060-1">[</span><span·class="p"·data-group-id="1321426060-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
459 ··</span><span·class="p"·data-group-id="0848301377-3">[</span><span·class="p"·data-group-id="0848301377-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">459 ··</span><span·class="p"·data-group-id="1321426060-3">[</span><span·class="p"·data-group-id="1321426060-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
460 ····</span><span·class="p"·data-group-id="0848301377-5">[</span><span·class="p"·data-group-id="0848301377-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">460 ····</span><span·class="p"·data-group-id="1321426060-5">[</span><span·class="p"·data-group-id="1321426060-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">
461 ······</span><span·class="p"·data-group-id="0848301377-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="0848301377-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">461 ······</span><span·class="p"·data-group-id="1321426060-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="1321426060-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">
462 ························</span><span·class="p"·data-group-id="0848301377-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="0848301377-10">[</span><span·class="ss">time</span><span·class="p">,</span><span·class="s">&qu[·...·truncated·by·diffoscope;·len:·494,·SHA:·276e619d8df2ef1ec4ae6b6448aff89dda83e85cf2aea254464d53ced3630a6b·...·]-6">}</span><span·class="w">462 ························</span><span·class="p"·data-group-id="1321426060-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="1321426060-10">[</span><span·class="ss">time</span><span·class="p">,</span><span·class="s">&qu[·...·truncated·by·diffoscope;·len:·494,·SHA:·bfa23748b631f47f4e92faa908a73e659876a2f9ea20927d29d0b075cd3a6893·...·]-6">}</span><span·class="w">
463 ····</span><span·class="p"·data-group-id="0848301377-5">]</span><span·class="p"·data-group-id="0848301377-4">}</span><span·class="p"·data-group-id="0848301377-3">]</span><span·class="p"·data-group-id="0848301377-2">}</span><span·class="p"·data-group-id="0848301377-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·only·print·errors·and·more·severe·log·events·to463 ····</span><span·class="p"·data-group-id="1321426060-5">]</span><span·class="p"·data-group-id="1321426060-4">}</span><span·class="p"·data-group-id="1321426060-3">]</span><span·class="p"·data-group-id="1321426060-2">}</span><span·class="p"·data-group-id="1321426060-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·only·print·errors·and·more·severe·log·events·to
464 &quot;log/erlang.log&quot;,·and·add·another·handler·to·print·all·log·events·to464 &quot;log/erlang.log&quot;,·and·add·another·handler·to·print·all·log·events·to
465 &quot;log/debug.log&quot;.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9673942852-1">[</span><span·class="p"·data-group-id="9673942852-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">465 &quot;log/debug.log&quot;.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6794065527-1">[</span><span·class="p"·data-group-id="6794065527-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
466 ··</span><span·class="p"·data-group-id="9673942852-3">[</span><span·class="p"·data-group-id="9673942852-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">466 ··</span><span·class="p"·data-group-id="6794065527-3">[</span><span·class="p"·data-group-id="6794065527-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
467 ····</span><span·class="p"·data-group-id="9673942852-5">[</span><span·class="p"·data-group-id="9673942852-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">467 ····</span><span·class="p"·data-group-id="6794065527-5">[</span><span·class="p"·data-group-id="6794065527-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">
468 ······</span><span·class="p"·data-group-id="9673942852-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">468 ······</span><span·class="p"·data-group-id="6794065527-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">
469 ········</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="9673942852-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="9673942852-8">}</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·bdf9d3be2ef51e2852801b0db71fc8655f7afa8cb58cb9b05aac809924527690·...·]-6">}</span><span·class="p">,</span><span·class="w">469 ········</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="6794065527-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="6794065527-8">}</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·41bc4642a8f38a92e8e4f7a98ded80b1125770510a9a89fe9b63f6ef4d730064·...·]-6">}</span><span·class="p">,</span><span·class="w">
470 ·····</span><span·class="p"·data-group-id="9673942852-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">470 ·····</span><span·class="p"·data-group-id="6794065527-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">
471 ······</span><span·class="p"·data-group-id="9673942852-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">471 ······</span><span·class="p"·data-group-id="6794065527-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">
472 ········</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="9673942852-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="9673942852-11">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·b293af75f442d3e2714455869bffed27c0f37eb505680b6070dfc2cfd2ba6089·...·]-9">}</span><span·class="w">472 ········</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="6794065527-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="6794065527-11">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·ff069e7bb276c2ee03f84f3e00c295ae10a2a4277f07990b88a1247fd2e2f15b·...·]-9">}</span><span·class="w">
473 ····</span><span·class="p"·data-group-id="9673942852-5">]</span><span·class="p"·data-group-id="9673942852-4">}</span><span·class="p"·data-group-id="9673942852-3">]</span><span·class="p"·data-group-id="9673942852-2">}</span><span·class="p"·data-group-id="9673942852-1">]</span><span·class="p">.</span></code></pre><h2·id="backwards-compatibility-with-error_logger"·class="section-heading">473 ····</span><span·class="p"·data-group-id="6794065527-5">]</span><span·class="p"·data-group-id="6794065527-4">}</span><span·class="p"·data-group-id="6794065527-3">]</span><span·class="p"·data-group-id="6794065527-2">}</span><span·class="p"·data-group-id="6794065527-1">]</span><span·class="p">.</span></code></pre><h2·id="backwards-compatibility-with-error_logger"·class="section-heading">
474 ··<a·href="#backwards-compatibility-with-error_logger"·class="hover-link">474 ··<a·href="#backwards-compatibility-with-error_logger"·class="hover-link">
475 ····<i·class="ri-link-m"·aria-hidden="true"></i>475 ····<i·class="ri-link-m"·aria-hidden="true"></i>
476 ··</a>476 ··</a>
477 ··<span·class="text">Backwards·Compatibility·with·error_logger</span>477 ··<span·class="text">Backwards·Compatibility·with·error_logger</span>
478 </h2>478 </h2>
479 <p>Logger·provides·backwards·compatibility·with·<code·class="inline">error_logger</code>·in·the·following479 <p>Logger·provides·backwards·compatibility·with·<code·class="inline">error_logger</code>·in·the·following
480 ways:</p><ul><li><p><strong>API·for·Logging</strong>·-·The·<code·class="inline">error_logger</code>·API·still·exists,·but·should·only·be480 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 507, 17 lines modifiedOffset 507, 17 lines modified
507 <code·class="inline">true</code>.·The507 <code·class="inline">true</code>.·The
508 <a·href="../../../../lib/sasl-4.2.2/doc/html/sasl_app.html#deprecated_error_logger_config">SASL·configuration·parameters</a>508 <a·href="../../../../lib/sasl-4.2.2/doc/html/sasl_app.html#deprecated_error_logger_config">SASL·configuration·parameters</a>
509 can·then·be·used·as·before,·and·the·SASL·reports·will·only·be·printed·if·the509 can·then·be·used·as·before,·and·the·SASL·reports·will·only·be·printed·if·the
510 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>.510 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>.
511 This·field·can·be·used·by·filters·to·stop·or·allow·the·log·events.</p><p>See·section·<a·href="../../../../lib/sasl-4.2.2/doc/html/error_logging.html">SASL·User's·Guide</a>·for·more511 This·field·can·be·used·by·filters·to·stop·or·allow·the·log·events.</p><p>See·section·<a·href="../../../../lib/sasl-4.2.2/doc/html/error_logging.html">SASL·User's·Guide</a>·for·more
512 information·about·the·old·SASL·error·logging·functionality.</p></li><li><p><strong><a·href=""·id="legacy_event_handlers"></a>·Legacy·Event·Handlers</strong><br/>To·use·event·handlers·written·for·<code·class="inline">error_logger</code>,·just·add·your·event·handler512 information·about·the·old·SASL·error·logging·functionality.</p></li><li><p><strong><a·href=""·id="legacy_event_handlers"></a>·Legacy·Event·Handlers</strong><br/>To·use·event·handlers·written·for·<code·class="inline">error_logger</code>,·just·add·your·event·handler
513 with</p><pre><code·class="text">error_logger:add_report_handler/1,2.</code></pre><p>This·automatically·starts·the·error·logger·event·manager,·and·adds513 with</p><pre><code·class="text">error_logger:add_report_handler/1,2.</code></pre><p>This·automatically·starts·the·error·logger·event·manager,·and·adds
514 <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="2935385574-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">514 <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="7992958999-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">
515 ··</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">515 ··</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">
516 ··</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="2935385574-2">[</span><span·class="p"·data-group-id="2935385574-2">]</span><span·class="p"·data-group-id="2935385574-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>516 ··</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="7992958999-2">[</span><span·class="p"·data-group-id="7992958999-2">]</span><span·class="p"·data-group-id="7992958999-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>
517 API,·or·from·within·OTP.·This·means·that·if·your·code·uses·the·Logger·API517 API,·or·from·within·OTP.·This·means·that·if·your·code·uses·the·Logger·API
518 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">518 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">
519 ··<a·href="#error-handling"·class="hover-link">519 ··<a·href="#error-handling"·class="hover-link">
520 ····<i·class="ri-link-m"·aria-hidden="true"></i>520 ····<i·class="ri-link-m"·aria-hidden="true"></i>
521 ··</a>521 ··</a>
Max diff block lines reached; 57266/104202 bytes (54.96%) of diff not shown.
876 B
html2text {}
Max HTML report size reached
95.6 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="6022045152-1">(</span><span·class="ss">primary</span><span·class="p"·data-group-id="6022045152-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="2431945870-1">(</span><span·class="ss">primary</span><span·class="p"·data-group-id="2431945870-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="6022045152-2">(</span><span·class="ss">none</span><span·class="p"·data-group-id="6022045152-2">)</span></code></pre><p>It·is·also·possible·to·fetch·the·configuration·using152 ········</span><span·class="p"·data-group-id="2431945870-2">(</span><span·class="ss">none</span><span·class="p"·data-group-id="2431945870-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="2976485150-1">(</span><span·class="ss">handlers</span><span·class="p"·data-group-id="2976485150-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="0898983657-1">(</span><span·class="ss">handlers</span><span·class="p"·data-group-id="0898983657-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="2976485150-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="2976485150-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">sasl</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·4c2875952c26ec64a385bdf49e57701e3db70d6cf4a76976b6f7b23c1b39e92e·...·]-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="0898983657-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="0898983657-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">sasl</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·f8f92f7380484927ed4ea5775867393a3dafb398f82478ac887ec765fbb8eec1·...·]-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="2976485150-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="2976485150-5">[</span><span·class="p"·data-group-id="2976485150-5">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·6fe824f0d80ef0f68531b34f3660c9cd34f995ef6d46410d45ae7d23d08fc6f3·...·]-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="0898983657-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="0898983657-5">[</span><span·class="p"·data-group-id="0898983657-5">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·c413d1059b6f4c64e91e0034088683fd5b53545db0ae10b486ff25beddce79a3·...·]-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="3704149150-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="3704149150-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="5996084243-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="5996084243-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="8732985363-1">[</span><span·class="p"·data-group-id="8732985363-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">236 </span><span·class="p"·data-group-id="1762143365-1">[</span><span·class="p"·data-group-id="1762143365-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
237 ··</span><span·class="p"·data-group-id="8732985363-3">[</span><span·class="p"·data-group-id="8732985363-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">237 ··</span><span·class="p"·data-group-id="1762143365-3">[</span><span·class="p"·data-group-id="1762143365-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
238 ····</span><span·class="p"·data-group-id="8732985363-5">[</span><span·class="p"·data-group-id="8732985363-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="1762143365-5">[</span><span·class="p"·data-group-id="1762143365-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="8732985363-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="8732985363-8">{</span><span·class="ss">logger_formatter</span><span·c[·...·truncated·by·diffoscope;·len:·584,·SHA:·9137c27129ec0b8f2b1f836f3d1b4c08879ed73461444f7de3766c3bcd1a7fdf·...·]-1">]</span><span·class="p">.</span><span·class="w">239 ······</span><span·class="p"·data-group-id="1762143365-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="1762143365-8">{</span><span·class="ss">logger_formatter</span><span·c[·...·truncated·by·diffoscope;·len:·584,·SHA:·30f767c3f55aa1cdae9998190268b7bf1751507032b64bf91df38ae75fa66712·...·]-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="8732985363-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="8732985363-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="1762143365-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="1762143365-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="8732985363-11">(</span><span·class="s">&quot;Oh·noes,·an·error&quot;</span><span·class="p"·data-group-id="8732985363-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="1762143365-11">(</span><span·class="s">&quot;Oh·noes,·an·error&quot;</span><span·class="p"·data-group-id="1762143365-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="1085336107-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="1085336107-2">{</span><span·class="ss">logg[·...·truncated·by·diffoscope;·len:·268,·SHA:·a0d3c6bbf4e91644599fd89c9263b35f99c8e790a65b3915748cdfbc217ed39a·...·]-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="3775423591-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="3775423591-2">{</span><span·class="ss">logg[·...·truncated·by·diffoscope;·len:·268,·SHA:·e071766ba090643d8c6b8c876e00e7f7f41c3ed9f4859db27595e9343590f9b1·...·]-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="1085336107-4">(</span><span·class="s">&quot;Oh·noes,·another·error&quot;</span><span·class="p"·data-group-id="1085336107-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="3775423591-4">(</span><span·class="s">&quot;Oh·noes,·another·error&quot;</span><span·class="p"·data-group-id="3775423591-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="4087294102-1">[</span><span·class="p"·data-group-id="4087294102-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">254 </span><span·class="p"·data-group-id="0646327612-1">[</span><span·class="p"·data-group-id="0646327612-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
255 ··</span><span·class="p"·data-group-id="4087294102-3">[</span><span·class="p"·data-group-id="4087294102-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">255 ··</span><span·class="p"·data-group-id="0646327612-3">[</span><span·class="p"·data-group-id="0646327612-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
256 ····</span><span·class="p"·data-group-id="4087294102-5">[</span><span·class="p"·data-group-id="4087294102-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="0646327612-5">[</span><span·class="p"·data-group-id="0646327612-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="4087294102-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="4087294102-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">257 ······</span><span·class="p"·data-group-id="0646327612-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="0646327612-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">
258 ········</span><span·class="p"·data-group-id="4087294102-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="4087294102-10">[</span><span·class="ss">time</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1057,·SHA:·75a3525338c824addd394a660a359ce090d69891e0e19150b14a7df41a556aaf·...·]2-1">]</span><span·class="p">.</span><span·class="w">258 ········</span><span·class="p"·data-group-id="0646327612-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="0646327612-10">[</span><span·class="ss">time</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1057,·SHA:·68b7ea3b2d90e1f503bbd11317cf94054ee177f2a5c34bc73d350cf6c23e3cb1·...·]2-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="4087294102-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="4087294102-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="0646327612-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="0646327612-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="4087294102-12">(</span><span·class="s">&quot;Oh·noes,·more·errors&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="4087294102-13">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</[·...·truncated·by·diffoscope;·len:·368,·SHA:·df856e39e91ede80805dee45d6e037724b9bd9c080dfc7bdff01389e39faa3fe·...·]2-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="0646327612-12">(</span><span·class="s">&quot;Oh·noes,·more·errors&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="0646327612-13">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</[·...·truncated·by·diffoscope;·len:·368,·SHA:·0429959350421317e3f7045007b3be502e4e3a7b95b7ba01fef514a8dc57ad2d·...·]2-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="2849418471-1">[</span><span·class="p"·data-group-id="2849418471-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">278 </span><span·class="p"·data-group-id="3972363887-1">[</span><span·class="p"·data-group-id="3972363887-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
279 ··</span><span·class="p"·data-group-id="2849418471-3">[</span><span·class="p"·data-group-id="2849418471-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">279 ··</span><span·class="p"·data-group-id="3972363887-3">[</span><span·class="p"·data-group-id="3972363887-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
280 ····</span><span·class="p"·data-group-id="2849418471-5">[</span><span·class="p"·data-group-id="2849418471-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="3972363887-5">[</span><span·class="p"·data-group-id="3972363887-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="2849418471-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="2849418471-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="3972363887-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="3972363887-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="2849418471-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="3972363887-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="2849418471-9">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2849418471-10">#{</span><span·class="p"·data-group-id="2849418471-10">}</span><span·class="p"·data-group-id="284941[·...·truncated·by·diffoscope;·len:·375,·SHA:·693ffe096d06e493e76757033bc08837e09eb99552077eb9ffeb016539f1a7fe·...·]-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="3972363887-9">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3972363887-10">#{</span><span·class="p"·data-group-id="3972363887-10">}</span><span·class="p"·data-group-id="397236[·...·truncated·by·diffoscope;·len:·375,·SHA:·0b1a716f58dc31a833898c777f0d246f8386f3ad6a2adef04cc7d5900942400b·...·]-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="2849418471-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="2849418471-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="3972363887-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="3972363887-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="2849418471-12">(</span><span·class="s">&quot;Oh·noes,·even·more·errors&quot;</span><span·class="p"·data-group-id="2849418471-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="3972363887-12">(</span><span·class="s">&quot;Oh·noes,·even·more·errors&quot;</span><span·class="p"·data-group-id="3972363887-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="2849418471-13">(</span><span·class="p"·data-group-id="2849418471-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="3972363887-13">(</span><span·class="p"·data-group-id="3972363887-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.02 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="2161068443-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="5585238944-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="2161068443-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="2161068443-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="5585238944-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="5585238944-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="2161068443-3">}</span><span·class="p"·data-group-id="2161068443-2">}</span><span·class="p"·data-group-id="2161068443-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="5585238944-3">}</span><span·class="p"·data-group-id="5585238944-2">}</span><span·class="p"·data-group-id="5585238944-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>274 <p>Copyright·©·1996-2025·<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.2.7/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="5095176757-1">[</span><span·class="ss">otp</span><span·class="p"·data-group-id="5095176757-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="3691323780-1">[</span><span·class="ss">otp</span><span·class="p"·data-group-id="3691323780-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="5095176757-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="5095176757-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="3691323780-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="3691323780-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="7237239074-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="7237239074-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="9259860255-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="9259860255-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="7237239074-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:·512,·SHA:·7dfc9a424beb4c700d51ddf4731714556f3658f8d9c4fe0bae43e55a221c6a84·...·]-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="9259860255-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:·512,·SHA:·fa112bafe2bbaa91f9d25d40e73f4cbefbe6ffe3fdf45ffb8ce8f714dfd8b9d8·...·]-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="7237239074-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="7237239074-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="9259860255-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="9259860255-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="3172693539-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="3172693539-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="4614810783-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="4614810783-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="3172693539-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:·2594997f7cab3ccdb3e810397147520bf53c145cc47aca75e0f9bbd815ae5b6b·...·]-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="4614810783-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:·712e1460d7bdea894d63c8eceee77ddfc2dcbbbfe66d2451235140e7ac24cd38·...·]-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="3172693539-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="3172693539-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="4614810783-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="4614810783-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>407 <p>Copyright·©·1996-2025·<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.56 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>612 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>585 <p>Copyright·©·1996-2025·<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.2.7/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="7229554913-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="4659948571-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="7229554913-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="7229554913-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="4659948571-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="4659948571-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="7229554913-3">}</span><span·class="p"·data-group-id="7229554913-2">}</span><span·class="p"·data-group-id="7229554913-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="4659948571-3">}</span><span·class="p"·data-group-id="4659948571-2">}</span><span·class="p"·data-group-id="4659948571-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-6.2.2/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-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>293 <p>Copyright·©·1996-2025·<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.28 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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-15.2.7/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-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()).</pre>
  
554 ······</div>554 ······</div>
  
555 <p>Interface·address·filtering·selector·<a·href="../../../../erts-15.2.7/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-15.2.7/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="6201186674-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="5704415755-1">(</span><span·class="w">
558 ····</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6201186674-2">(</span><span·class="p"·data-group-id="6201186674-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="6201186674-4">#{</span>[·...·truncated·by·diffoscope;·len:·172,·SHA:·5514ada3c2830f8386bf26889564036fa2b38fbd2207512a5e9a2b5953ad7ea8·...·]-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="5704415755-2">(</span><span·class="p"·data-group-id="5704415755-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="5704415755-4">#{</span>[·...·truncated·by·diffoscope;·len:·172,·SHA:·695b9e42c70626142317262384bbbeed7abb3ef54b59d1496d63d8933377ae5e·...·]-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="6201186674-3">}</span><span·class="p"·data-group-id="6201186674-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="5704415755-3">}</span><span·class="p"·data-group-id="5704415755-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="6201186674-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="6201186674-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="5704415755-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="5704415755-5">)</span><span·class="p">;</span><span·class="w">
561 ········</span><span·class="p"·data-group-id="6201186674-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="6201186674-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">561 ········</span><span·class="p"·data-group-id="5704415755-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="5704415755-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="6201186674-1">)</span><span·class="p">.</span></code></pre>563 ····</span><span·class="k">end</span><span·class="p"·data-group-id="5704415755-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1355 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/doc/html/net_adm.html
    
Offset 475, 16 lines modifiedOffset 475, 16 lines modified
475 ···················Name·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),475 ···················Name·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),
476 ···················Port·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),476 ···················Port·::·<a·href="../../../../erts-15.2.7/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-15.2.7/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="9194897703-1">(</span><span·class="p"·data-group-id="9194897703-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-15.2.7/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="8389932711-1">(</span><span·class="p"·data-group-id="8389932711-1">)</span><span·class="p">.</span><span·class="w">
481 </span><span·class="p"·data-group-id="9194897703-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9194897703-3">[</span><span·class="p"·data-group-id="9194897703-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·161,·SHA:·3c375813fd7abac3726524cbe1aa527906d71a46dbb644804da4fc233e6d1c49·...·]-2">}</span></code></pre>481 </span><span·class="p"·data-group-id="8389932711-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8389932711-3">[</span><span·class="p"·data-group-id="8389932711-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·161,·SHA:·efdbfae0251383b45b4111d3ddb0299977fa64a448834c3ef1d8c9510e4d5a0e·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>647 <p>Copyright·©·1996-2025·<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.2.7/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-15.2.7/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/4</code></a>·and131 implement·parts·of·the·BIFs·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/4</code></a>·and
132 <a·href="../../../../erts-15.2.7/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-15.2.7/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="0804253443-1">(</span><span·class="ss">foobar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0804253443-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:·51db0bfe94060ec89e3fdad4b299090aff972e82e86335961efe6bc7523bb5be·...·]-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="1752313136-1">(</span><span·class="ss">foobar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1752313136-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:·964b3bad225a98203826e2dfb59d30f9188921bcd18cf381e4afdafda7730adb·...·]-1">)</span><span·class="p">.</span><span·class="w">
134 </span><span·class="p"·data-group-id="0804253443-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="0804253443-3">}</span><span·class="w">134 </span><span·class="p"·data-group-id="1752313136-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="1752313136-3">}</span><span·class="w">
135 </span><span·class="p"·data-group-id="0804253443-4">(</span><span·class="ss">foobar@gringotts</span><span·class="p"·data-group-id="0804253443-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="1752313136-4">(</span><span·class="ss">foobar@gringotts</span><span·class="p"·data-group-id="1752313136-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-15.2.7/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-15.2.7/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 646, 21 lines modifiedOffset 646, 21 lines modified
646 node·through·the·newly·established·connection.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·all·the·signals·from·the·remote·node646 node·through·the·newly·established·connection.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·all·the·signals·from·the·remote·node
647 over·the·connection·have·been·delivered.</li><li><code·class="inline">nodeup</code>·messages·are·delivered·after·the·corresponding·node·appears·in647 over·the·connection·have·been·delivered.</li><li><code·class="inline">nodeup</code>·messages·are·delivered·after·the·corresponding·node·appears·in
648 results·from·<code·class="inline">erlang:nodes()</code>.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·the·corresponding·node·has·disappeared648 results·from·<code·class="inline">erlang:nodes()</code>.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·the·corresponding·node·has·disappeared
649 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·be649 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
650 delivered·before·a·<code·class="inline">nodeup</code>·message·due·to·a·new·connection·to·the·same·node.650 delivered·before·a·<code·class="inline">nodeup</code>·message·due·to·a·new·connection·to·the·same·node.
651 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>651 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>
652 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·as652 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
653 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1916719817-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="1916719817-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·197,·SHA:·f016476ff2631051a6f8acc38e5cd75185882bb2367f5b483d390d4e899b146e·...·]-2">}</span><span·class="w">653 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5608190328-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="5608190328-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·197,·SHA:·342ea9aab67aa01750a95c0e66072ed62e0455b701e480c91916a4b21e820f79·...·]-2">}</span><span·class="w">
654 ··</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="1916719817-3">(</span><span·class="p"·data-group-id="1916719817-3">)</span></code></pre><p>When·<code·class="inline">Options</code>·is·the·empty·map·or·empty·list,·the·caller·will·only·subscribe654 ··</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="5608190328-3">(</span><span·class="p"·data-group-id="5608190328-3">)</span></code></pre><p>When·<code·class="inline">Options</code>·is·the·empty·map·or·empty·list,·the·caller·will·only·subscribe
655 for·status·change·messages·for·visible·nodes.·That·is,·only·nodes·that·appear·in655 for·status·change·messages·for·visible·nodes.·That·is,·only·nodes·that·appear·in
656 the·result·of·<a·href="../../../../erts-15.2.7/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·status656 the·result·of·<a·href="../../../../erts-15.2.7/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
657 change·messages·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2132234186-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="2132234186-1">}</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·bb3176325659be8071c98b22d8b956e6ae2125dbc6bd561e2c98ea5baa53ab4e·...·]-2">}</span><span·class="w">657 change·messages·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1415798429-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="1415798429-1">}</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·8e1d3ff44c1867006bfba6a4fe1b800b6d437763b217a4f1f495958330fd28e7·...·]-2">}</span><span·class="w">
658 ··</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="2132234186-3">(</span><span·class="p"·data-group-id="2132234186-3">)</span><span·class="w">658 ··</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="1415798429-3">(</span><span·class="p"·data-group-id="1415798429-3">)</span><span·class="w">
659 ··</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2132234186-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="2132234186-4">}</span><span·class="w">·</span><span·class="p">|</span><spa[·...·truncated·by·diffoscope;·len:·320,·SHA:·8c6c06ac46c42db8eb46c9c5d97249f6723503750024559751c440ae505cc8d8·...·]-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>.659 ··</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1415798429-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="1415798429-4">}</span><span·class="w">·</span><span·class="p">|</span><spa[·...·truncated·by·diffoscope;·len:·320,·SHA:·f9dd99b48f19ee947599e2052fa878a672765c71086b82121170844fcfb95956·...·]-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>.
660 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>660 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>
661 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·equals661 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
662 <code·class="inline">true</code>,·a·<code·class="inline">connection_id·=&gt;·ConnectionId</code>·association·will·be·included·in·the662 <code·class="inline">true</code>,·a·<code·class="inline">connection_id·=&gt;·ConnectionId</code>·association·will·be·included·in·the
663 <code·class="inline">Info</code>·map·where·<code·class="inline">ConnectionId</code>·is·the·connection·identifier·of·the·connection663 <code·class="inline">Info</code>·map·where·<code·class="inline">ConnectionId</code>·is·the·connection·identifier·of·the·connection
664 coming·up·or·going·down.·For·more·info·about·this·connection·identifier·see664 coming·up·or·going·down.·For·more·info·about·this·connection·identifier·see
665 the·documentation·of·<a·href="../../../../erts-15.2.7/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·nodes665 the·documentation·of·<a·href="../../../../erts-15.2.7/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
666 only.·The·association·<code·class="inline">node_type·=&gt;·visible</code>·will·be·included·in·the·<code·class="inline">Info</code>666 only.·The·association·<code·class="inline">node_type·=&gt;·visible</code>·will·be·included·in·the·<code·class="inline">Info</code>
Offset 686, 31 lines modifiedOffset 686, 31 lines modified
686 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·and686 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
687 hidden·nodes.·The·tuple·<code·class="inline">{node_type,·visible·|·hidden}</code>·will·be·included·in687 hidden·nodes.·The·tuple·<code·class="inline">{node_type,·visible·|·hidden}</code>·will·be·included·in
688 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·subscribe688 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
689 for·status·change·messages·for·visible·nodes·only,·but·<em>no</em>689 for·status·change·messages·for·visible·nodes·only,·but·<em>no</em>
690 <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·included690 <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
691 in·the·<code·class="inline">Info</code>·list·for·<code·class="inline">nodedown</code>·messages.</p><p>See·the·documentation·of·the691 in·the·<code·class="inline">Info</code>·list·for·<code·class="inline">nodedown</code>·messages.</p><p>See·the·documentation·of·the
692 <a·href="net_kernel.html#nodedown_reasons"><code·class="inline">nodedown_reason·=&gt;·boolean()</code></a>·association692 <a·href="net_kernel.html#nodedown_reasons"><code·class="inline">nodedown_reason·=&gt;·boolean()</code></a>·association
693 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="8314992898-1">(</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8314992898-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:·256218cedbc19574c73f37ca96bf5c994d258aa35b25be477149eed9ccc87102·...·]-1">)</span><span·class="p">.</span><span·class="w">693 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="4629530352-1">(</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4629530352-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:·bc34074f3f527b8f4aa398b2c65776ef2ec924013858940c0d9e89e5d0257e78·...·]-1">)</span><span·class="p">.</span><span·class="w">
694 </span><span·class="nf">ok</span><span·class="w">694 </span><span·class="nf">ok</span><span·class="w">
695 </span><span·class="p"·data-group-id="8314992898-3">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="8314992898-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="8314992898[·...·truncated·by·diffoscope;·len:·53,·SHA:·0e97e8b5879e6a306d917b8098b008cd6af55495c2eb3cfad18eea9961109f2f·...·]-4">)</span><span·class="p">.</span><span·class="w">695 </span><span·class="p"·data-group-id="4629530352-3">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="4629530352-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="4629530352[·...·truncated·by·diffoscope;·len:·53,·SHA:·b6d61022aeb4a4722c6a5762310417f32a1d2395d0a3d5dfe69a959b3d8dab64·...·]-4">)</span><span·class="p">.</span><span·class="w">
696 </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="8314992898-5">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">696 </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="4629530352-5">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">
697 ··················</span><span·class="p"·data-group-id="8314992898-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:·29d1298def3d2abbe8919718c335e569b50b6fe75e6f3828a64fba5af8a14d28·...·]-5">}</span><span·class="w">697 ··················</span><span·class="p"·data-group-id="4629530352-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:·b74d7de8b26e93fa7e0ab58f0b5f30830357582969577184a85a2e41872b35a1·...·]-5">}</span><span·class="w">
698 </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="8314992898-7">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">698 </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="4629530352-7">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">
699 ··················</span><span·class="p"·data-group-id="8314992898-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:·a2041d6314d0834788abc31c8a419efc4a72265c9a0d80abe8671623e4427d5d·...·]-7">}</span><span·class="w">699 ··················</span><span·class="p"·data-group-id="4629530352-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:·82c7ab3333d0d6838b50322ef35bf81cc2e5c0a0810036d3adbe18d791a27869·...·]-7">}</span><span·class="w">
700 </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="8314992898-9">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">700 </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="4629530352-9">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">
701 ····················</span><span·class="p"·data-group-id="8314992898-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">701 ····················</span><span·class="p"·data-group-id="4629530352-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">
702 ······················</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="8314992898-10">}</span><span·class="p"·data-group-id="8314992898-9">}</span><span·class="w">702 ······················</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="4629530352-10">}</span><span·class="p"·data-group-id="4629530352-9">}</span><span·class="w">
703 </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="8314992898-11">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">703 </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="4629530352-11">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">
704 ····················</span><span·class="p"·data-group-id="8314992898-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">704 ····················</span><span·class="p"·data-group-id="4629530352-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">
705 ······················</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="8314992898-12">}</span><span·class="p"·data-group-id="8314992898-11">}</span><span·class="w">705 ······················</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="4629530352-12">}</span><span·class="p"·data-group-id="4629530352-11">}</span><span·class="w">
706 </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="8314992898-13">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">706 </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="4629530352-13">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">
707 ··················</span><span·class="p"·data-group-id="8314992898-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:·2adcab0d0853fd797c90cd6871a8d41b1210e60b0769db4b31ac8e53b02d9b0d·...·]-13">}</span><span·class="w">707 ··················</span><span·class="p"·data-group-id="4629530352-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:·bfbf4588ff71abb1c410b5b31d2909df598cf7b8a05fc09c90d5e248b828017a·...·]-13">}</span><span·class="w">
708 </span><span·class="nf">ok</span><span·class="w">708 </span><span·class="nf">ok</span><span·class="w">
709 </span><span·class="p"·data-group-id="8314992898-15">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="8314992898-15">)</span><span·class="mi">3</span><span·class="o">&gt;</span></code></pre>709 </span><span·class="p"·data-group-id="4629530352-15">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="4629530352-15">)</span><span·class="mi">3</span><span·class="o">&gt;</span></code></pre>
710 ··</section>710 ··</section>
711 </section>711 </section>
712 <section·class="detail"·id="set_net_ticktime/1">712 <section·class="detail"·id="set_net_ticktime/1">
  
713 ··<div·class="detail-header">713 ··<div·class="detail-header">
714 ····<a·href="#set_net_ticktime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">714 ····<a·href="#set_net_ticktime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
715 ······<i·class="ri-link-m"·aria-hidden="true"></i>715 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 980, 15 lines modifiedOffset 980, 15 lines modified
980 ······<p·class="built-using">980 ······<p·class="built-using">
981 ········Built·using981 ········Built·using
982 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the982 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
983 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>983 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
984 ······</p>984 ······</p>
985 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>985 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
986 ····</footer>986 ····</footer>
987 ··</div>987 ··</div>
988 </main>988 </main>
989 </div>989 </div>
990 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>990 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
991 ··<script>991 ··<script>
992 ··let·initialized·=·false;992 ··let·initialized·=·false;
677 B
html2text {}
Max HTML report size reached
7.26 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/doc/html/notes.html
    
Offset 4121, 20 lines modifiedOffset 4121, 20 lines modified
4121 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-15.2.7/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·behaved4121 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-15.2.7/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·behaved
4122 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could4122 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could
4123 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you4123 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you
4124 had·unlinked·or·a·monitor·that·you·had·demonitored.</p><p>The·new·behavior·of·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·can·be4124 had·unlinked·or·a·monitor·that·you·had·demonitored.</p><p>The·new·behavior·of·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·can·be
4125 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink4125 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink
4126 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or4126 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or
4127 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did4127 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did
4128 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="3826502282-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="3826502282-1">)</span><span·class="p">,</span><span·class="w">4128 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="1655790718-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="1655790718-1">)</span><span·class="p">,</span><span·class="w">
4129 ············</span><span·class="c1">%%·...</span><span·class="w">4129 ············</span><span·class="c1">%%·...</span><span·class="w">
4130 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="3826502282-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="3826502282-2">)</span><span·class="p">,</span><span·class="w">4130 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="1655790718-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="1655790718-2">)</span><span·class="p">,</span><span·class="w">
4131 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="3826502282-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="3826502282-3">)</span><span·class="p">,</span><span·class="w">4131 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="1655790718-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="1655790718-3">)</span><span·class="p">,</span><span·class="w">
4132 ············</span><span·class="k">receive</span><span·class="w">4132 ············</span><span·class="k">receive</span><span·class="w">
4133 ················</span><span·class="p"·data-group-id="3826502282-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:·eeca787b0baf53ad2e45d66e4238f10c0f796d396d06ffe5e85aae6e71cfdb9b·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">4133 ················</span><span·class="p"·data-group-id="1655790718-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:·8daaf6fa1571468e7f9aceea93246862ee117c4fdad848e503cabfbef2380785·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">
4134 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">4134 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">
4135 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">4135 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">
4136 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">4136 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">
4137 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">4137 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">
4138 ············</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·the4138 ············</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
4139 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,4139 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,
4140 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-15.2.7/doc/html/erlang.html#halt/1"><code·class="inline">erlang:halt/1</code></a>·does·not4140 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-15.2.7/doc/html/erlang.html#halt/1"><code·class="inline">erlang:halt/1</code></a>·does·not
Offset 4553, 15 lines modifiedOffset 4553, 15 lines modified
4553 ······<p·class="built-using">4553 ······<p·class="built-using">
4554 ········Built·using4554 ········Built·using
4555 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the4555 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
4556 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>4556 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
4557 ······</p>4557 ······</p>
4558 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>4558 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
4559 ····</footer>4559 ····</footer>
4560 ··</div>4560 ··</div>
4561 </main>4561 </main>
4562 </div>4562 </div>
4563 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>4563 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
4564 ··<script>4564 ··<script>
4565 ··let·initialized·=·false;4565 ··let·initialized·=·false;
753 B
html2text {}
Max HTML report size reached
24.3 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/doc/html/os.html
    
Offset 640, 21 lines modifiedOffset 640, 21 lines modified
640 ··········<pre·translate="no"><span·class="attribute">-spec</span>·cmd(Command,·Options)·->·<a·href="../../../../erts-15.2.7/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>640 ··········<pre·translate="no"><span·class="attribute">-spec</span>·cmd(Command,·Options)·->·<a·href="../../../../erts-15.2.7/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 ······</div>641 ······</div>
  
642 <p>Executes·<code·class="inline">Command</code>·in·a·command·shell·of·the·target·OS,·captures·the·standard642 <p>Executes·<code·class="inline">Command</code>·in·a·command·shell·of·the·target·OS,·captures·the·standard
643 output·and·standard·error·of·the·command,·and·returns·this·result·as·a·string.</p><p>The·command·shell·can·be·set·using·the643 output·and·standard·error·of·the·command,·and·returns·this·result·as·a·string.</p><p>The·command·shell·can·be·set·using·the
644 <a·href="kernel_app.html#os_cmd_shell">kernel·configuration·parameter</a>,·by·default·the644 <a·href="kernel_app.html#os_cmd_shell">kernel·configuration·parameter</a>,·by·default·the
645 shell·is·detected·upon·system·startup.</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="4838193637-1">(</span><span·class="s">&quot;ls&quot;</span><span·class="p"·data-group-id="4838193637-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·on·unix·platform</span><span·class="w">645 shell·is·detected·upon·system·startup.</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="5181921974-1">(</span><span·class="s">&quot;ls&quot;</span><span·class="p"·data-group-id="5181921974-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·on·unix·platform</span><span·class="w">
646 </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="4838193637-2">(</span><span·class="s">&quot;dir&quot;</span><span·class="p"·data-group-id="4838193637-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·another646 </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="5181921974-2">(</span><span·class="s">&quot;dir&quot;</span><span·class="p"·data-group-id="5181921974-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
647 program·can·differ,·compared·with·the·standard·output·of·the·command·when·called647 program·can·differ,·compared·with·the·standard·output·of·the·command·when·called
648 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·<code·class="inline">os:cmd</code>·call.648 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·<code·class="inline">os:cmd</code>·call.
649 This·option·is·a·safety·feature·that·should·be·used·when·the·command·executed649 This·option·is·a·safety·feature·that·should·be·used·when·the·command·executed
650 can·return·a·very·large,·possibly·infinite,·result.</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="0528774882-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="0528774882-2">#{</span><span·class="w">·</span><span·class="ss">max_size</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·191,·SHA:·cac59781b0d6e6fc6e38af9c6def57031cdbd1851b9df41593d8867d92aa9288·...·]-1">)</span><span·class="p">.</span><span·class="w">650 can·return·a·very·large,·possibly·infinite,·result.</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="0189850827-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="0189850827-2">#{</span><span·class="w">·</span><span·class="ss">max_size</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·191,·SHA:·90916bf6f80fb201f14f7aaca2d23b0183f9dc051e586747a328176e831c0544·...·]-1">)</span><span·class="p">.</span><span·class="w">
651 </span><span·class="p"·data-group-id="0528774882-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="p[·...·truncated·by·diffoscope;·len:·762,·SHA:·93b2c11a915380fffa43deca3ec2893febe32428e6f24835f621cd13dbd8ab1b·...·]-3">]</span></code></pre></li></ul>651 </span><span·class="p"·data-group-id="0189850827-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="p[·...·truncated·by·diffoscope;·len:·762,·SHA:·82c523728152d15cf0234865faa65a432427740943c69b76ed6572a52a3cf787·...·]-3">]</span></code></pre></li></ul>
652 ··</section>652 ··</section>
653 </section>653 </section>
654 <section·class="detail"·id="env/0">654 <section·class="detail"·id="env/0">
  
655 ··<div·class="detail-header">655 ··<div·class="detail-header">
656 ····<a·href="#env/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">656 ····<a·href="#env/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
657 ······<i·class="ri-link-m"·aria-hidden="true"></i>657 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 918, 15 lines modifiedOffset 918, 15 lines modified
  
918 ······</div>918 ······</div>
  
919 <p>Returns·a·performance·counter·that·can·be·used·as·a·very·fast·and·high919 <p>Returns·a·performance·counter·that·can·be·used·as·a·very·fast·and·high
920 resolution·timestamp.</p><p>This·counter·is·read·directly·from·the·hardware·or·operating·system·with·the920 resolution·timestamp.</p><p>This·counter·is·read·directly·from·the·hardware·or·operating·system·with·the
921 same·guarantees.·This·means·that·two·consecutive·calls·to·the·function·are·not921 same·guarantees.·This·means·that·two·consecutive·calls·to·the·function·are·not
922 guaranteed·to·be·monotonic,·though·it·most·likely·will·be.·The·performance922 guaranteed·to·be·monotonic,·though·it·most·likely·will·be.·The·performance
923 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="5806323629-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="5806323629-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:·ede15587e1044e6b92843b22ecc0aaac31636c05e77fdd65f585da1e4ae0d75f·...·]-2">)</span><span·class="p">.</span><span·class="w">923 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="9362356138-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="9362356138-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:·15aad5992ff7fc46ca4738ae8b10ebbd47790271f181b628326fb40f27e6e0f1·...·]-2">)</span><span·class="p">.</span><span·class="w">
924 </span><span·class="mi">176525861</span><span·class="gp·unselectable">924 </span><span·class="mi">176525861</span><span·class="gp·unselectable">
925 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">925 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">
926 </span><span·class="mi">10004</span></code></pre>926 </span><span·class="mi">10004</span></code></pre>
927 ··</section>927 ··</section>
928 </section>928 </section>
929 <section·class="detail"·id="putenv/2">929 <section·class="detail"·id="putenv/2">
  
Offset 1079, 24 lines modifiedOffset 1079, 24 lines modified
1079 <p>Returns·the·current·<a·href="../../../../erts-15.2.7/doc/html/time_correction.html#os-system-time">OS·system·time</a>1079 <p>Returns·the·current·<a·href="../../../../erts-15.2.7/doc/html/time_correction.html#os-system-time">OS·system·time</a>
1080 in·the·same·format·as·<a·href="../../../../erts-15.2.7/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-6.2.2/doc/html/calendar.html#now_to_universal_time/1"><code·class="inline">calendar:now_to_universal_time/1</code></a>1080 in·the·same·format·as·<a·href="../../../../erts-15.2.7/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-6.2.2/doc/html/calendar.html#now_to_universal_time/1"><code·class="inline">calendar:now_to_universal_time/1</code></a>
1081 or·<a·href="../../../../lib/stdlib-6.2.2/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,1081 or·<a·href="../../../../lib/stdlib-6.2.2/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,
1082 together·with·the·<code·class="inline">MicroSecs</code>·part·of·the·return·tuple·from·this·function,1082 together·with·the·<code·class="inline">MicroSecs</code>·part·of·the·return·tuple·from·this·function,
1083 allows·you·to·log·time·stamps·in·high·resolution·and·consistent·with·the·time·in1083 allows·you·to·log·time·stamps·in·high·resolution·and·consistent·with·the·time·in
1084 ·the·rest·of·the·OS.</p><p>Example·of·code·formatting·a·string·in·format·&quot;DD·Mon·YYYY·HH:MM:SS.mmmmmm&quot;,1084 ·the·rest·of·the·OS.</p><p>Example·of·code·formatting·a·string·in·format·&quot;DD·Mon·YYYY·HH:MM:SS.mmmmmm&quot;,
1085 where·DD·is·the·day·of·month,·Mon·is·the·textual·month·name,·YYYY·is·the·year,1085 where·DD·is·the·day·of·month,·Mon·is·the·textual·month·name,·YYYY·is·the·year,
1086 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="5980526904-1">(</span><span·class="ss">print_time</span><span·class="p"·data-group-id="5980526904-1">)</span><span·class="p">.</span><span·class="w">1086 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="2125934786-1">(</span><span·class="ss">print_time</span><span·class="p"·data-group-id="2125934786-1">)</span><span·class="p">.</span><span·class="w">
1087 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5980526904-2">(</span><span·class="p"·data-group-id="5980526904-3">[</span><span·class="ss">format_utc_timestamp</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5980526904-3">]</span><span·class="p"·data-group-id="5980[·...·truncated·by·diffoscope;·len:·6,·SHA:·182c3479003a7c9b89f11b2b8e528a2b3e33a85e4d255de60ccd34919e26e9f6·...·]-2">)</span><span·class="p">.</span><span·class="w">1087 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2125934786-2">(</span><span·class="p"·data-group-id="2125934786-3">[</span><span·class="ss">format_utc_timestamp</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2125934786-3">]</span><span·class="p"·data-group-id="2125[·...·truncated·by·diffoscope;·len:·6,·SHA:·f25b6bebffab52266bf11d5fd64b2b3d08fa28e70d9567d556f204b261d2bfc0·...·]-2">)</span><span·class="p">.</span><span·class="w">
1088 </span><span·class="nf">format_utc_timestamp</span><span·class="p"·data-group-id="5980526904-4">(</span><span·class="p"·data-group-id="5980526904-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1088 </span><span·class="nf">format_utc_timestamp</span><span·class="p"·data-group-id="2125934786-4">(</span><span·class="p"·data-group-id="2125934786-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1089 ····</span><span·class="n">TS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5980526904-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="5980526904-5">}</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·192,·SHA:·364143d391f112ab23dd8c47d107ff7e881913d26e5db903c8c8fe79e69acdd4·...·]-6">)</span><span·class="p">,</span><span·class="w">1089 ····</span><span·class="n">TS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2125934786-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="2125934786-5">}</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·192,·SHA:·144567195691f2f88a9d3b0b3475ed68e4647037437d89d36dda7366aaab4976·...·]-6">)</span><span·class="p">,</span><span·class="w">
1090 ····</span><span·class="p"·data-group-id="5980526904-7">{</span><span·class="p"·data-group-id="5980526904-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="5980526904-8">}</span[·...·truncated·by·diffoscope;·len:·305,·SHA:·b2e671164dd49999b7cde8d7338ffa75cb8a9f216a5014b0afe12a5e971db719·...·]-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">1090 ····</span><span·class="p"·data-group-id="2125934786-7">{</span><span·class="p"·data-group-id="2125934786-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="2125934786-8">}</span[·...·truncated·by·diffoscope;·len:·305,·SHA:·18bab491c82b34e4af714274e1cd1b2f560f8126283157d189eb177d9c4ec58b·...·]-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
1091 </span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">now_to_universal_time</span><span·class="p"·data-group-id="5980526904-10">(</span><span·class="n">TS</span><span·class="p"·data-group-id="5980526904-10">)</span><span·class="p">,</span><span·class="w">1091 </span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">now_to_universal_time</span><span·class="p"·data-group-id="2125934786-10">(</span><span·class="n">TS</span><span·class="p"·data-group-id="2125934786-10">)</span><span·class="p">,</span><span·class="w">
1092 ····</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="5980526904-11">(</span><span·class="n">Month</span><span·class="p">,</span><span·class="p"·data-group-id="5980526904-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">1092 ····</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="2125934786-11">(</span><span·class="n">Month</span><span·class="p">,</span><span·class="p"·data-group-id="2125934786-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">
1093 ····</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="5980526904-12">}</span><span·class="p"·data-group-id="5980526904-11">)</span><span·class="p">,</span><span·class="w">1093 ····</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="2125934786-12">}</span><span·class="p"·data-group-id="2125934786-11">)</span><span·class="p">,</span><span·class="w">
1094 ····</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5980526904-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">1094 ····</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2125934786-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">
1095 ····</span><span·class="p"·data-group-id="5980526904-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:·a085dfa07570d1ee42d5ed2dcc1665240aec188bf0e297e908e23af29dc18df9·...·]-1">)</span><span·class="p">.</span><span·class="w">1095 ····</span><span·class="p"·data-group-id="2125934786-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:·e42014b67fe150e9116284afc35f02772945cf916d75542732396d4c1aa577b8·...·]-1">)</span><span·class="p">.</span><span·class="w">
1096 </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>1096 </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>
1097 ··</section>1097 ··</section>
1098 </section>1098 </section>
1099 <section·class="detail"·id="type/0">1099 <section·class="detail"·id="type/0">
  
1100 ··<div·class="detail-header">1100 ··<div·class="detail-header">
1101 ····<a·href="#type/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1101 ····<a·href="#type/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1215 <p>Copyright·©·1996-2025·<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;
600 B
html2text {}
Max HTML report size reached
4.6 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>())·->·{<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:reference/0">reference</a>(),·#{<a·href="#t:group/0">group</a>()·=>·[<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>())·->·{<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:reference/0">reference</a>(),·#{<a·href="#t:group/0">group</a>()·=>·[<a·href="../../../../erts-15.2.7/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="9817826432-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:·01d7f26ae633982db5922d49ede0d1916af806ae82e5ff7509ebe70ecde65aac·...·]-1">}</span></code></pre>840 subscriber:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5255089137-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:·d956ce89634bb21c5dc3e1a1bba610bd390f80715f9c2897b2f7bc9e3380ea05·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1012 <p>Copyright·©·1996-2025·<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.45 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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-15.2.7/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-15.2.7/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="9418733491-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="9418733491-1">}</span><span·[·...·truncated·by·diffoscope;·len:·277,·SHA:·fa3876ea7f9940e7fd3ba4830b5cd4f960ddb699f9cb47b53ad90f555c8113a8·...·]-2">)</span><span·class="p">,</span><span·class="w">1050 </span><span·class="p"·data-group-id="0704822977-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="0704822977-1">}</span><span·[·...·truncated·by·diffoscope;·len:·277,·SHA:·9a6aca5fe9b416f8352ad3196bd3aed39ce81b91a380010d8b935f745d4cc526·...·]-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="9418733491-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="9418733491-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·608,·SHA:·2ebc421b2067f0b78ae7a7a0e35b93bea565c21fa41befffbe3fe200e9db347d·...·]-4">)</span><span·class="p">,</span><span·class="w">1052 </span><span·class="p"·data-group-id="0704822977-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="0704822977-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·608,·SHA:·433d0b981b15ac0a0b5abc9af920a138df780efb3ece2245411e6a1f0b91f0d5·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1401 <p>Copyright·©·1996-2025·<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.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
51.4 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="2507206534-1">(</span><span·class="p"·data-group-id="2507206534-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="6535539507-1">(</span><span·class="p"·data-group-id="6535539507-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="2507206534-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="2507206[·...·truncated·by·diffoscope;·len:·3,·SHA:·5ef6514ed3304cf62b950982541114ac352c52729dbf80747775a9d1a733af93·...·]-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="6535539507-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="6535539[·...·truncated·by·diffoscope;·len:·3,·SHA:·a435270b90e9b7091c77f478df0b8f78dddd32079b75698b8de902061f74efaf·...·]-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="2507206534-3">(</span><span·class="p"·data-group-id="2507206534-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="6535539507-3">(</span><span·class="p"·data-group-id="6535539507-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="9964624218-1">(</span><span·class="ss">seqex</span><span·class="p"·data-group-id="9964624218-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="2278629869-1">(</span><span·class="ss">seqex</span><span·class="p"·data-group-id="2278629869-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="9964624218-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="9964624218-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="2278629869-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="2278629869-2">)</span><span·class="p">.</span><span·class="w">
  
292 </span><span·class="nf">loop</span><span·class="p"·data-group-id="9964624218-3">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9964624218-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="2278629869-3">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2278629869-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="9964624218-4">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="9964624218-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">294 ········</span><span·class="p"·data-group-id="2278629869-4">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="2278629869-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="9964624218-5">(</span><span·class="ss">label</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="9964624218-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="2278629869-5">(</span><span·class="ss">label</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="2278629869-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="9964624218-6">(</span><span·class="ss">&#39;receive&#39;</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="9964624218-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="2278629869-6">(</span><span·class="ss">&#39;receive&#39;</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="2278629869-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="9964624218-7">(</span><span·class="ss">print</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="9964624218-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="2278629869-7">(</span><span·class="ss">print</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="2278629869-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="9964624218-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="9964624218-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="2278629869-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="2278629869-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="9964624218-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="9964624218-10">(</span><span·class="p"·data-group-id="9964624218-10">)</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="99646242[·...·truncated·by·diffoscope;·len:·2,·SHA:·4ec9599fc203d176a301536c2e091a19bc852759b255bd6818810a42c5fed14a·...·]-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="2278629869-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2278629869-10">(</span><span·class="p"·data-group-id="2278629869-10">)</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="22786298[·...·truncated·by·diffoscope;·len:·2,·SHA:·c75cb66ae28d8ebc6eded002c28a8ba0d06d3a78c6b5cbf9b2ade051f0775ac4·...·]-9">}</span><span·class="p">;</span><span·class="w">
300 ········</span><span·class="p"·data-group-id="9964624218-11">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="9964624218-11">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">300 ········</span><span·class="p"·data-group-id="2278629869-11">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="2278629869-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="9964624218-12">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9964624218-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:·1e00df8ab3bb883648d7c5085699547d9073e2a920d2eb7b0589f89376469d44·...·]-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="2278629869-12">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2278629869-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:·f0417a79d71fbdbe42f5f6f9d7444c9cdb62885b0ab1c3de992f8048233224dc·...·]-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="0061838184-2">{</span><span·class="n">PortController</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="0061838184-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">305 ········</span><span·class="p"·data-group-id="9849102292-2">{</span><span·class="n">PortController</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="9849102292-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="0061838184-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="0061838184-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="9849102292-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="9849102292-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="0061838184-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="0061838184-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="9849102292-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="9849102292-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="0061838184-5">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="0061838184-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="9849102292-5">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="9849102292-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="0061838184-6">(</span><span·class="p"·data-group-id="0061838184-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:·0a86966a1aa5a4d035f74e2a008d14f95ca2542e6e622e195d0789da97ef6da4·...·]-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="9849102292-6">(</span><span·class="p"·data-group-id="9849102292-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:·1cf6bc88231fcdabe2dc6c9c4f5a6139ef6b039b0ffa5b8b32c1ba412d9929f7·...·]-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="7616488171-2">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7616488171-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="0581180873-2">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0581180873-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="7616488171-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="7616488171-3">}</span><span·class="w">313 </span><span·class="p"·data-group-id="0581180873-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="0581180873-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="7616488171-4">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="7616488171-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="0581180873-4">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="0581180873-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="7616488171-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="7616488171-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="0581180873-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="0581180873-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="7616488171-6">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="p"·data-group-id="7616488171-7">{</span><span·class="ss">received</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="76164881[·...·truncated·by·diffoscope;·len:·55,·SHA:·6ba5a58a3f1b2a561515a3acf4bcfec0ad588092ad4d34d639075898d4f94db1·...·]-6">}</span></code></pre><p>The·implementation·of·a·system·tracer·process·that·produces·this·printout·can317 </span><span·class="p"·data-group-id="0581180873-6">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="p"·data-group-id="0581180873-7">{</span><span·class="ss">received</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="05811808[·...·truncated·by·diffoscope;·len:·55,·SHA:·a6ac2a811fd4efd658d9c599242d7f98e259019859e712fbb9e537115f73d738·...·]-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="2910416830-1">(</span><span·class="p"·data-group-id="2910416830-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="1928909021-1">(</span><span·class="p"·data-group-id="1928909021-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="2910416830-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="2910416830-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">320 ········</span><span·class="p"·data-group-id="1928909021-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="1928909021-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="2910416830-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="2910416830-3">)</span><span·class="p">;</span><span·class="w">321 ···········</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="1928909021-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="1928909021-3">)</span><span·class="p">;</span><span·class="w">
322 ········</span><span·class="p"·data-group-id="2910416830-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="2910416830-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">322 ········</span><span·class="p"·data-group-id="1928909021-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="1928909021-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="2910416830-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="2910416830-5">)</span><span·class="p">;</span><span·class="w">323 ···········</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="1928909021-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="1928909021-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="2910416830-6">(</span><span·class="p"·data-group-id="2910416830-6">)</span><span·class="p">.</span><span·class="w">326 ····</span><span·class="nf">tracer</span><span·class="p"·data-group-id="1928909021-6">(</span><span·class="p"·data-group-id="1928909021-6">)</span><span·class="p">.</span><span·class="w">
  
327 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2910416830-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="2910416830-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="1928909021-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="1928909021-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="2910416830-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="2910416830-9">[</span><span·class="n">Label</span><span·class="p"·data-group-id="2910416830-9"[·...·truncated·by·diffoscope;·len:·50,·SHA:·774c4dd5a89399a761a8394781a3abc6463062963c35a2481d6039403ea3ef64·...·]-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="1928909021-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="1928909021-9">[</span><span·class="n">Label</span><span·class="p"·data-group-id="1928909021-9"[·...·truncated·by·diffoscope;·len:·50,·SHA:·6ac41ed65ae5f24dc8fa44f19090f4ea2f6880417f713336fcbbc6ffcf036c10·...·]-8">)</span><span·class="p">,</span><span·class="w">
329 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2910416830-10">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="2910416830-10">)</span><span·class="p">;</span><span·class="w">329 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="1928909021-10">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="1928909021-10">)</span><span·class="p">;</span><span·class="w">
330 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2910416830-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="2910416830-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="1928909021-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="1928909021-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="2910416830-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="2910416830-13">[</span><span·class="n">Labe[·...·truncated·by·diffoscope;·len:·152,·SHA:·05b6f0a7a678b0168e4f09ba74f1eda5de295b764f943a5b3ff35553bff99a81·...·]-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="1928909021-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="1928909021-13">[</span><span·class="n">Labe[·...·truncated·by·diffoscope;·len:·152,·SHA:·d85f65a14bb1bb14ba7e4c2b42e57ed9452a3214fd28a666cdd2abe88f7f2630·...·]-12">)</span><span·class="p">,</span><span·class="w">
332 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2910416830-14">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="2910416830-14">)</span><span·class="p">.</span><span·class="w">332 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="1928909021-14">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="1928909021-14">)</span><span·class="p">.</span><span·class="w">
  
333 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2910416830-15">(</span><span·class="p"·data-group-id="2910416830-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:·42d43deeb8f8ef2196c5d6a955e0447fd704f687e8d3dec9f855f7774a2f2d7f·...·]-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="1928909021-15">(</span><span·class="p"·data-group-id="1928909021-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:·38b1e6fa5fea0e7f97e296265b6aba086c0bbde7a09b674f207d3f14a3c17f60·...·]-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="2910416830-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:·b3a49623c99b95ccb6f736c14811bd71308200367605b4c0e9c6837994a037ca·...·]-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="1928909021-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:·708d7579fbf2d2511560e5d3311662d7ac74dca6182d30ae006cd8f315fb6218·...·]-17">)</span><span·class="p">;</span><span·class="w">
335 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2910416830-19">(</span><span·class="p"·data-group-id="2910416830-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:·9af4434ead442c2a32c271ec035d6b968c4edf1329f19689664287178205c0eb·...·]-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="1928909021-19">(</span><span·class="p"·data-group-id="1928909021-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:·2896f351827e5889fe35186b6f9e537de900fdac8ab7cd1e16d1efc93afaba5e·...·]-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="2910416830-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="1928909021-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="2910416830-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="2910416830-22">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·6c411119ceef0346b37e8dfe880a34dba2b7c3d66e0323600ba9c2425263fad3·...·]-21">)</span><span·class="p">;</span><span·class="w">337 ··············</span><span·class="p"·data-group-id="1928909021-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="1928909021-22">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·b5e612c8828da84ebbc56dfd594d8e56a09ec6d42739a9b168237b97c6bda13c·...·]-21">)</span><span·class="p">;</span><span·class="w">
338 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2910416830-23">(</span><span·class="p"·data-group-id="2910416830-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:·62635bbff1ad3321499ef88c6b8a8980e48fa165e02bde3a2dc186bd01719866·...·]-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="1928909021-23">(</span><span·class="p"·data-group-id="1928909021-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:·f62e2adf662b68cff075762723e65602c3f9df4c8ba33c0a8ea74ce3b3ef80cd·...·]-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="2910416830-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="1928909021-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="2910416830-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="2910416830-26">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·6c411119ceef0346b37e8dfe880a34dba2b7c3d66e0323600ba9c2425263fad3·...·]-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="1928909021-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="1928909021-26">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·b5e612c8828da84ebbc56dfd594d8e56a09ec6d42739a9b168237b97c6bda13c·...·]-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="4840461946-1">(</span><span·class="p"·data-group-id="4840461946-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="9712865205-1">(</span><span·class="p"·data-group-id="9712865205-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="4840461946-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="4840461946-3">[</span><span·class="p"·data-group-id="4840461946-3">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·681ca3c95502c8854243d5b0e1d2af01a0f820d33d55c9d81ed0681e9a63e9de·...·]-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="9712865205-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="9712865205-3">[</span><span·class="p"·data-group-id="9712865205-3">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·e11f4c80cc6a4218392b927c29471a6a744a50105e9a4b75b7a2cd2d251b5851·...·]-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="4840461946-4">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="4840461946-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="9712865205-4">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="9712865205-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="9735008855-1">(</span><span·class="p"·data-group-id="9735008855-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="4992789793-1">(</span><span·class="p"·data-group-id="4992789793-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="9735008855-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="9735008855-3">[</span><spa[·...·truncated·by·diffoscope;·len:·118,·SHA:·a563878645322f755d773c82f0a00797b262307654c8bd25350c9a5cab37f520·...·]-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="4992789793-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="4992789793-3">[</span><spa[·...·truncated·by·diffoscope;·len:·118,·SHA:·c1e0fa90aafeb879ae916c8014ca3dbc2d78a0fa76567a5037f3e7a9a9526ad9·...·]-2">)</span><span·class="p">,</span><span·class="w">
346 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="9735008855-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="9735008855-5">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">[·...·truncated·by·diffoscope;·len:·308,·SHA:·8d06068dd62499a8cad099b1f9d6337ff6f1375c41291e123736b5a8db45f679·...·]-4">)</span><span·class="p">,</span><span·class="w">346 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="4992789793-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="4992789793-5">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">[·...·truncated·by·diffoscope;·len:·308,·SHA:·8b6bddeab639732eea94f74add8533e20ab39069fb2da628883d6ebe84f7cd07·...·]-4">)</span><span·class="p">,</span><span·class="w">
347 ····</span><span·class="nf">start</span><span·class="p"·data-group-id="9735008855-7">(</span><span·class="p"·data-group-id="9735008855-7">)</span><span·class="p">,</span><span·class="w">347 ····</span><span·class="nf">start</span><span·class="p"·data-group-id="4992789793-7">(</span><span·class="p"·data-group-id="4992789793-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="9735008855-8">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="ss">message</span><span·class="p"·data-group-id="9735008855-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="4992789793-8">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="ss">message</span><span·class="p"·data-group-id="4992789793-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="6047228716-1">(</span><span·class="p"·data-group-id="6047228716-2">[</span><span·class="p"·data-group-id="6047228716-2">]</span><span·class="p"·data-group-id="6047228716-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="1348591494-1">(</span><span·class="p"·data-group-id="1348591494-2">[</span><span·class="p"·data-group-id="1348591494-2">]</span><span·class="p"·data-group-id="1348591494-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="6047228716-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="6047228716-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="1348591494-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="1348591494-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="6047228716-4">(</span><span·class="n">OldToken</span><span·class="p"·data-group-id="6047228716-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="1348591494-4">(</span><span·class="n">OldToken</span><span·class="p"·data-group-id="1348591494-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1006 <p>Copyright·©·1996-2025·<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
42.9 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/doc/html/socket.html
    
Offset 168, 16 lines modifiedOffset 168, 16 lines modified
168 and·using·that·as·the·<code·class="inline">Timeout | Handle</code>·argument,·the·same·<code·class="inline">Handle</code>168 and·using·that·as·the·<code·class="inline">Timeout | Handle</code>·argument,·the·same·<code·class="inline">Handle</code>
169 will·then·be·the·<a·href="#t:select_handle/0"><code·class="inline">SelectHandle</code></a>·in·the·returned169 will·then·be·the·<a·href="#t:select_handle/0"><code·class="inline">SelectHandle</code></a>·in·the·returned
170 <a·href="#t:select_info/0"><code·class="inline">select_info/0</code></a>·and·the·received·<code·class="inline">select</code>·message,·or·be170 <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
171 the·<a·href="#t:completion_handle/0"><code·class="inline">CompletionHandle</code></a>·in·the·returned171 the·<a·href="#t:completion_handle/0"><code·class="inline">CompletionHandle</code></a>·in·the·returned
172 <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>·statement172 <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
173 to·only·scan·the·messages·that·arrive·after·the·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>173 to·only·scan·the·messages·that·arrive·after·the·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>
174 is·created.··If·the·message·queue·is·large·this·is·a·big·optimization.</p><p>The·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>·has·to·be·unique·for·the·call.</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>174 is·created.··If·the·message·queue·is·large·this·is·a·big·optimization.</p><p>The·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>·has·to·be·unique·for·the·call.</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>
175 message·has·been·received·it·replaces·the·call·in·progress:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p"·data-group-id="0244031849-1">{</span><span·class="ss">select</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0244031849-2">{</span><span·class="ss">select_info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Hand[·...·truncated·by·diffoscope;·len:·471,·SHA:·7f4548e57d7e51f69cc8ea48e63656c723b3f51d3a1490cb9121f3ba6ddadbd7·...·]-3">)</span><span·class="p">,</span><span·class="w">175 message·has·been·received·it·replaces·the·call·in·progress:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p"·data-group-id="6313861055-1">{</span><span·class="ss">select</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6313861055-2">{</span><span·class="ss">select_info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Hand[·...·truncated·by·diffoscope;·len:·471,·SHA:·4f65b45f56e639eacda4e408c6f6609314258f7425c45551456995af88222ca1·...·]-3">)</span><span·class="p">,</span><span·class="w">
176 ····</span><span·class="p"·data-group-id="0244031849-4">{</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="0244031849-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·280,·SHA:·1ef29ade4cc20c8894d8e3c3fbfd8ff5c26badba21e494f163bf9e9f43796735·...·]-5">)</span><span·class="p">,</span><span·class="w">176 ····</span><span·class="p"·data-group-id="6313861055-4">{</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="6313861055-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·280,·SHA:·2159055cfd6fd6dc8ad4c494a4dd8f691003850dfa282da17c4d71c482d53fbe·...·]-5">)</span><span·class="p">,</span><span·class="w">
177 ····</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>,·call177 ····</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
178 has·been·made·(the·first·call·is·automatically·canceled).178 has·been·made·(the·first·call·is·automatically·canceled).
179 After·the·second·<a·href="#accept/2"><code·class="inline">accept/2</code></a>·call·returns·<code·class="inline">{error,·timeout}</code>,179 After·the·second·<a·href="#accept/2"><code·class="inline">accept/2</code></a>·call·returns·<code·class="inline">{error,·timeout}</code>,
180 the·accept·operation·has·completed.</p><p>Note·that·there·is·a·race·here;·there·is·no·way·to·know·if·the·call180 the·accept·operation·has·completed.</p><p>Note·that·there·is·a·race·here;·there·is·no·way·to·know·if·the·call
181 is·repeated·<em>before</em>·the·<code·class="inline">select</code>·message·is·sent·since·it·<em>may</em>181 is·repeated·<em>before</em>·the·<code·class="inline">select</code>·message·is·sent·since·it·<em>may</em>
182 have·been·sent·just·before·the·repeated·call.··So·now·there182 have·been·sent·just·before·the·repeated·call.··So·now·there
183 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·for183 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 202, 36 lines modifiedOffset 202, 36 lines modified
202 (<a·href="#t:completion_handle/0">completion·handle</a>)202 (<a·href="#t:completion_handle/0">completion·handle</a>)
203 API·features·could·be·considered·no·longer·experimental.</li></ul><h2·id="module-examples"·class="section-heading">203 API·features·could·be·considered·no·longer·experimental.</li></ul><h2·id="module-examples"·class="section-heading">
204 ··<a·href="#module-examples"·class="hover-link">204 ··<a·href="#module-examples"·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">Examples</span>207 ··<span·class="text">Examples</span>
208 </h2>208 </h2>
209 <pre><code·class="makeup·erlang"·translate="no"><span·class="nf">client</span><span·class="p"·data-group-id="2717154238-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="2717154238-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">209 <pre><code·class="makeup·erlang"·translate="no"><span·class="nf">client</span><span·class="p"·data-group-id="1581370847-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="1581370847-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
210 ···</span><span·class="p"·data-group-id="2717154238-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="2717154238-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·349,·SHA:·92effa961172d7e922918bb014254a6da9d9f192e5574c3b26b1d17ed41b9e3c·...·]-3">)</span><span·class="p">,</span><span·class="w">210 ···</span><span·class="p"·data-group-id="1581370847-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="1581370847-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·349,·SHA:·732aaf51679311432312666aba2320f5730376b81d938263c09d61b17ac1804b·...·]-3">)</span><span·class="p">,</span><span·class="w">
211 ···</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="2717154238-4">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2717154238-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">211 ···</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="1581370847-4">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1581370847-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">
212 ·······························</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">212 ·······························</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">
213 ·······························</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="2717154238-5">}</span><span·class="p"·data-group-id="2717154238-4">)</span><span·class="p">,</span><span·class="w">213 ·······························</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="1581370847-5">}</span><span·class="p"·data-group-id="1581370847-4">)</span><span·class="p">,</span><span·class="w">
214 ···</span><span·class="n">Msg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2717154238-6">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="2717154238-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">214 ···</span><span·class="n">Msg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1581370847-6">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="1581370847-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">
215 ···</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="2717154238-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="2717154238-7">)</span><span·class="p">,</span><span·class="w">215 ···</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="1581370847-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="1581370847-7">)</span><span·class="p">,</span><span·class="w">
216 ···</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="2717154238-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="2717154238-8">)</span><span·class="p">,</span><span·class="w">216 ···</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="1581370847-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="1581370847-8">)</span><span·class="p">,</span><span·class="w">
217 ···</span><span·class="p"·data-group-id="2717154238-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="2717154238-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·195,·SHA:·01e4c0169f676bb51b6e7babebe76f3b4080c3921a0ec72a5169e8c03d9b128c·...·]-10">)</span><span·class="p">,</span><span·class="w">217 ···</span><span·class="p"·data-group-id="1581370847-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="1581370847-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·195,·SHA:·c207c3e7c583ca5a32c7c90de8d3c4bb17b417d28ad59db6ed3133ca7c6cceb2·...·]-10">)</span><span·class="p">,</span><span·class="w">
218 ···</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="2717154238-11">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2717154238-11">)</span><span·class="p">.</span><span·class="w">218 ···</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="1581370847-11">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="1581370847-11">)</span><span·class="p">.</span><span·class="w">
  
219 </span><span·class="nf">server</span><span·class="p"·data-group-id="2717154238-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="2717154238-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 </span><span·class="nf">server</span><span·class="p"·data-group-id="1581370847-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="1581370847-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 ···</span><span·class="p"·data-group-id="2717154238-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="2717154238-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·353,·SHA:·e481c5a93aa06237c6e61d52d254955b7f915f672fa38dfd3f311376bd766fe5·...·]-14">)</span><span·class="p">,</span><span·class="w">220 ···</span><span·class="p"·data-group-id="1581370847-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="1581370847-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·353,·SHA:·43052c12f715425b5ff54edb12ab2db35ae94b2700372e2e394364cdc9decfba·...·]-14">)</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">bind</span><span·class="p"·data-group-id="2717154238-15">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2717154238-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">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">bind</span><span·class="p"·data-group-id="1581370847-15">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1581370847-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">
222 ·····························</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">222 ·····························</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">
223 ·····························</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="2717154238-16">}</span><span·class="p"·data-group-id="2717154238-15">)</span><span·class="p">,</span><span·class="w">223 ·····························</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="1581370847-16">}</span><span·class="p"·data-group-id="1581370847-15">)</span><span·class="p">,</span><span·class="w">
224 ···</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="2717154238-17">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="2717154238-17">)</span><span·class="p">,</span><span·class="w">224 ···</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="1581370847-17">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="1581370847-17">)</span><span·class="p">,</span><span·class="w">
225 ···</span><span·class="p"·data-group-id="2717154238-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="2717154238-18">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·019912d59815c5d467c6910ec99831e6202ed9bdd8f966974ee349e8b25e9429·...·]-19">)</span><span·class="p">,</span><span·class="w">225 ···</span><span·class="p"·data-group-id="1581370847-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="1581370847-18">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·f4f1cc581aed856f1a71f7e9edfe8ef792483820c1ecca37993427da5c290dc6·...·]-19">)</span><span·class="p">,</span><span·class="w">
226 ···</span><span·class="p"·data-group-id="2717154238-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="2717154238-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·197,·SHA:·d10bb739b7690d25653ee7e894bc36a7516b6ff87bc5f37886845143ec916b2b·...·]-21">)</span><span·class="p">,</span><span·class="w">226 ···</span><span·class="p"·data-group-id="1581370847-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="1581370847-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·197,·SHA:·4c356249d1fa306b9b6eb3a3db7cfb74a428da965ab7fd4bec3f84a572907da7·...·]-21">)</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">send</span><span·class="p"·data-group-id="2717154238-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="2717154238-22">)</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">send</span><span·class="p"·data-group-id="1581370847-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="1581370847-22">)</span><span·class="p">,</span><span·class="w">
228 ···</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="2717154238-23">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2717154238-23">)</span><span·class="p">,</span><span·class="w">228 ···</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="1581370847-23">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="1581370847-23">)</span><span·class="p">,</span><span·class="w">
229 ···</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="2717154238-24">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="2717154238-24">)</span><span·class="p">.</span></code></pre>229 ···</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="1581370847-24">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="1581370847-24">)</span><span·class="p">.</span></code></pre>
230 ····</section>230 ····</section>
  
231 </div>231 </div>
  
232 ··<section·id="summary"·class="details-list">232 ··<section·id="summary"·class="details-list">
233 ····<h1·class="section-heading">233 ····<h1·class="section-heading">
234 ······<a·class="hover-link"·href="#summary">234 ······<a·class="hover-link"·href="#summary">
Offset 4669, 15 lines modifiedOffset 4669, 15 lines modified
4669 with·its·name·and·address.</p></li><li><p><strong><code·class="inline">nread</code></strong>·-·Get·the·number·of·bytes·immediately·available·for·reading4669 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
4670 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-15.2.7/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·queue4670 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-15.2.7/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
4671 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-15.2.7/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·queue4671 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-15.2.7/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
4672 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-15.2.7/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·read4672 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-15.2.7/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
4673 <em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-15.2.7/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·a4673 <em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-15.2.7/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
4674 <em>connected</em>·socket·<em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-15.2.7/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.4674 <em>connected</em>·socket·<em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-15.2.7/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.
4675 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">4675 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">
4676 ······</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="3187502497-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="3187502497-1">)</span><span·class="p">,</span><span·class="w">4676 ······</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="7615164744-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="7615164744-1">)</span><span·class="p">,</span><span·class="w">
4677 ······</span><span·class="p">:</span></code></pre></section>4677 ······</span><span·class="p">:</span></code></pre></section>
4678 ··</section>4678 ··</section>
4679 </section>4679 </section>
4680 <section·class="detail"·id="ioctl/3">4680 <section·class="detail"·id="ioctl/3">
  
4681 ··<div·class="detail-header">4681 ··<div·class="detail-header">
4682 ····<a·href="#ioctl/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4682 ····<a·href="#ioctl/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 4827, 15 lines modifiedOffset 4827, 15 lines modified
  
4827 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_supported(Key1·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>4827 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_supported(Key1·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>
  
4828 ······</div>4828 ······</div>
  
4829 <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>·tuple4829 <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
4830 or·a·<code·class="inline">{Key1,·list()}</code>·tuple·in·its·returned·list,4830 or·a·<code·class="inline">{Key1,·list()}</code>·tuple·in·its·returned·list,
4831 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="7963499024-1">(</span><span·class="ss">local</span><span·class="p"·data-group-id="7963499024-1">)</span><span·class="p">,</span></code></pre>4831 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="3370075692-1">(</span><span·class="ss">local</span><span·class="p"·data-group-id="3370075692-1">)</span><span·class="p">,</span></code></pre>
4832 ··</section>4832 ··</section>
4833 </section>4833 </section>
4834 <section·class="detail"·id="is_supported/2">4834 <section·class="detail"·id="is_supported/2">
  
4835 ··<div·class="detail-header">4835 ··<div·class="detail-header">
4836 ····<a·href="#is_supported/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4836 ····<a·href="#is_supported/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
4837 ······<i·class="ri-link-m"·aria-hidden="true"></i>4837 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 4856, 15 lines modifiedOffset 4856, 15 lines modified
4856 ······<div·class="specs">4856 ······<div·class="specs">
  
4857 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_supported(Key1·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),·Key2·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),·Key2·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-15.2.7/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/1"><code·class="inline">supports(Key1)</code></a>·has·a·<code·class="inline">{Key2,·true}</code>·tuple4859 <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
4860 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="7844184591-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="7844184591-1">)</span><span·class="p">,</span></code></pre>4860 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="9100039046-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="9100039046-1">)</span><span·class="p">,</span></code></pre>
4861 ··</section>4861 ··</section>
4862 </section>4862 </section>
4863 <section·class="detail"·id="listen/1">4863 <section·class="detail"·id="listen/1">
  
4864 ··<div·class="detail-header">4864 ··<div·class="detail-header">
4865 ····<a·href="#listen/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4865 ····<a·href="#listen/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
4866 ······<i·class="ri-link-m"·aria-hidden="true"></i>4866 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 4947, 15 lines modifiedOffset 4947, 15 lines modified
  
4947 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket·::·<a·href="#t:socket/0">socket</a>())·->·MonitorRef·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:reference/0">reference</a>().</pre>4947 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket·::·<a·href="#t:socket/0">socket</a>())·->·MonitorRef·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:reference/0">reference</a>().</pre>
  
4948 ······</div>4948 ······</div>
  
4949 <p>Start·a·socket·monitor.</p><p>If·the·<code·class="inline">Socket</code>·doesn't·exist·or·when·later·the·monitor·is·triggered,4949 <p>Start·a·socket·monitor.</p><p>If·the·<code·class="inline">Socket</code>·doesn't·exist·or·when·later·the·monitor·is·triggered,
4950 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>4950 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>
4951 with·the·following·pattern:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»       ····</span><span·class="p"·data-group-id="6878602152-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:·b88c834645151a18bb9e0e877c791472f9f9de20a29401f5c9f9fb78151c5684·...·]-1">}</span></code></pre><p><code·class="inline">Info</code>·is·the·termination·reason·of·the·socket·or·<code·class="inline">nosock</code>·if4951 with·the·following·pattern:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»       ····</span><span·class="p"·data-group-id="7879672259-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:·b263d3673d93aede3c2047d85b33bf89a71a9945d4f335462ec5142c940334cd·...·]-1">}</span></code></pre><p><code·class="inline">Info</code>·is·the·termination·reason·of·the·socket·or·<code·class="inline">nosock</code>·if
4952 <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·an4952 <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
4953 error;·each·call·creates·an·independent·monitor·instance.</p>4953 error;·each·call·creates·an·independent·monitor·instance.</p>
4954 ··</section>4954 ··</section>
4955 </section>4955 </section>
4956 <section·class="detail"·id="number_of/0">4956 <section·class="detail"·id="number_of/0">
  
4957 ··<div·class="detail-header">4957 ··<div·class="detail-header">
Offset 5354, 33 lines modifiedOffset 5354, 33 lines modified
5354 if·no·data·has·arrived·after·<code·class="inline">Timeout</code>·milliseconds,5354 if·no·data·has·arrived·after·<code·class="inline">Timeout</code>·milliseconds,
5355 or·<code·class="inline">{error, {timeout, Data}}</code>·if·some·but·not·enough·data5355 or·<code·class="inline">{error, {timeout, Data}}</code>·if·some·but·not·enough·data
5356 has·been·received·on·a·socket·of·<a·href="#t:type/0">type·<code·class="inline">stream</code></a>.5356 has·been·received·on·a·socket·of·<a·href="#t:type/0">type·<code·class="inline">stream</code></a>.
5357 It·<em>can</em>·also·return·directly·with·<code·class="inline">{ok, Data}</code>·(<a·href="#t:type/0">type·<code·class="inline">dgram</code></a>).5357 It·<em>can</em>·also·return·directly·with·<code·class="inline">{ok, Data}</code>·(<a·href="#t:type/0">type·<code·class="inline">dgram</code></a>).
5358 On·Unix,·if·will·return·<code·class="inline">{error,·timeout}</code>·either·if·no·data5358 On·Unix,·if·will·return·<code·class="inline">{error,·timeout}</code>·either·if·no·data
5359 has·arrived·or·if·not·enough·data·(Length·&gt;·0)·has·arrived.5359 has·arrived·or·if·not·enough·data·(Length·&gt;·0)·has·arrived.
5360 It·is·then·up·to·the·caller·to·make·another·all·to·see·if·5360 It·is·then·up·to·the·caller·to·make·another·all·to·see·if·
5361 some·data·has·arrived·(and·was·stored·internally):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="6165974891-1">(</span><span·class="n">Socket</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5000</span><span·class="p"·data-group-id="6165974891-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">5361 some·data·has·arrived·(and·was·stored·internally):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="3551668101-1">(</span><span·class="n">Socket</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5000</span><span·class="p"·data-group-id="3551668101-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
5362 ········</span><span·class="p"·data-group-id="6165974891-2">{</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="6165974891-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="c1">%·10·bytes·of·data</span><span·class="w">5362 ········</span><span·class="p"·data-group-id="3551668101-2">{</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="3551668101-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="c1">%·10·bytes·of·data</span><span·class="w">
Max diff block lines reached; 7277/42926 bytes (16.95%) of diff not shown.
832 B
html2text {}
Max HTML report size reached
180 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/doc/html/socket_usage.html
    
Offset 182, 347 lines modifiedOffset 182, 347 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),·handling·both·'select'·and·'completion'·(Unix·and·Windows).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5790702310-1">(</span><span·class="ss">example</span><span·class="p"·data-group-id="5790702310-1">)</span><span·class="p">.</span><span·class="w">189 (and·client),·handling·both·'select'·and·'completion'·(Unix·and·Windows).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2699467353-1">(</span><span·class="ss">example</span><span·class="p"·data-group-id="2699467353-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="5790702310-2">(</span><span·class="p"·data-group-id="5790702310-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:·89e58e9e4a3ee8094e6d8a1fafedf71bf39f5777e8d21cd3d247a04e3cfc090a·...·]-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="2699467353-2">(</span><span·class="p"·data-group-id="2699467353-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:·84d6cb9c5ae5355735f798d62bfdef48dd77dcd819f922a6a61652ffda443c18·...·]-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="5790702310-4">(</span><span·class="p"·data-group-id="5790702310-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:·37e0f2817e96365446899f898f6b3d1dd6b391c3361379d5e22e97b1315e9c3f·...·]-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="2699467353-4">(</span><span·class="p"·data-group-id="2699467353-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:·0aa4820b1996a5e8e9058b37a077ce7bcbae46b661853c640d173d7404a3d005·...·]-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="5790702310-6">(</span><span·class="p"·data-group-id="5790702310-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="5790702310-7">}</[·...·truncated·by·diffoscope;·len:·229,·SHA:·6e58f527741976380b76ceac0e46993f1c172f8a2f78dc564cc6b954b9743b72·...·]-6">)</span><span·class="w">195 </span><span·class="nf">client</span><span·class="p"·data-group-id="2699467353-6">(</span><span·class="p"·data-group-id="2699467353-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="2699467353-7">}</[·...·truncated·by·diffoscope;·len:·229,·SHA:·240079aab3fcdeafb4daba84b996679367ab09c425d131f217edfa2e6f7d1db5·...·]-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="5790702310-8">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="5790702310-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="5790702310-9"[·...·truncated·by·diffoscope;·len:·76,·SHA:·59d8997b85bcec29d396402dfcf345335ebe41799399596b74e89b97fd10c8c9·...·]-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="2699467353-8">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2699467353-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="2699467353-9"[·...·truncated·by·diffoscope;·len:·76,·SHA:·9bf7027fede1daa535642d04189dc960dcc9b79dcf5828b2ae23e00fcfbb03c4·...·]-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ····</span><span·class="p"·data-group-id="5790702310-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="5790702310-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·357,·SHA:·3ff11dd76123fcfd37f6704f6939d526349729a3cfc8b8d76b2831668d8bd975·...·]-11">)</span><span·class="p">,</span><span·class="w">197 ····</span><span·class="p"·data-group-id="2699467353-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="2699467353-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·357,·SHA:·27370a93590da242b9c12acfc46e3e51a049d115cda99dc2107f4c27afea7bc6·...·]-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="5790702310-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="5790702310-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="2699467353-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="2699467353-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="5790702310-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="5790702310-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="2699467353-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="2699467353-13">)</span><span·class="p">,</span><span·class="w">
200 ····</span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="5790702310-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="5790702310-14">)</span><span·class="p">;</span><span·class="w">200 ····</span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="2699467353-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="2699467353-14">)</span><span·class="p">;</span><span·class="w">
  
201 </span><span·class="nf">client</span><span·class="p"·data-group-id="5790702310-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="5790702310-15">)</span><span·class="w">201 </span><span·class="nf">client</span><span·class="p"·data-group-id="2699467353-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="2699467353-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="5790702310-16">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="5790702310-16">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="5790702310-17">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·2456f33f1a69264b17edd2d5a1d3cc695b382c05fbb772d51b0245cbc123a159·...·]-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="2699467353-16">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="2699467353-16">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="2699467353-17">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·777030a07876ad7b179e5bb524c7de632e2ff9ea7444e10caa9ba96e7712402f·...·]-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="5790702310-18">(</span><span·class="n">Family</span><span·class="p"·data-group-id="5790702310-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="2699467353-18">(</span><span·class="n">Family</span><span·class="p"·data-group-id="2699467353-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="5790702310-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="2699467353-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="5790702310-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="2699467353-19">}</span><span·class="p">,</span><span·class="w">
208 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="5790702310-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="5790702310-20">)</span><span·class="p">.</span><span·class="w">208 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="2699467353-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="2699467353-20">)</span><span·class="p">.</span><span·class="w">
  
209 </span><span·class="nf">client</span><span·class="p"·data-group-id="5790702310-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="5790702310-21">)</span><span·class="w">209 </span><span·class="nf">client</span><span·class="p"·data-group-id="2699467353-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="2699467353-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="5790702310-22">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="5790702310-22">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="5790702310-23">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·2456f33f1a69264b17edd2d5a1d3cc695b382c05fbb772d51b0245cbc123a159·...·]-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="2699467353-22">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="2699467353-22">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="2699467353-23">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·777030a07876ad7b179e5bb524c7de632e2ff9ea7444e10caa9ba96e7712402f·...·]-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="5790702310-24">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="5790702310-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="2699467353-24">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="2699467353-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="5790702310-25">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="5790702310-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="2699467353-25">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="2699467353-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="5790702310-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="2699467353-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="5790702310-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="2699467353-26">}</span><span·class="p">,</span><span·class="w">
216 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="5790702310-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="5790702310-27">)</span><span·class="p">.</span><span·class="w">216 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="2699467353-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="2699467353-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="5790702310-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="5790702310-28">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·149,·SHA:·5df14f6e651cdd744b5ade0ad395f090996725b4560c63e34855369ccbde3ac6·...·]-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="2699467353-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="2699467353-28">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·149,·SHA:·0ec745fefd42134b41ed2eaebcb184d55603fc3be6d03746d4789322baa6f569·...·]-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="5790702310-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="5790702310-31">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="579070231[·...·truncated·by·diffoscope;·len:·55,·SHA:·bac14165fc74cb8eb6a197902560b53e5f4c4dcce51d01deda422d1b136f718a·...·]-30">)</span><span·class="p">;</span><span·class="w">219 ····</span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="2699467353-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="2699467353-31">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="269946735[·...·truncated·by·diffoscope;·len:·55,·SHA:·05508e4114d0523f7e2af67571ffa9b3cd3a17c158d01c305de7ebed161bad5e·...·]-30">)</span><span·class="p">;</span><span·class="w">
220 </span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="5790702310-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="5790702310-32">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·151,·SHA:·b775b618566f2868ef607fa6810ff3b991eb7ce0884ba4c82fd74b79b68aadcf·...·]-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="2699467353-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="2699467353-32">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·151,·SHA:·ae553d416de3b419b410f7c9e31689f6a2d3f208f313eed97b8d78a41de5b010·...·]-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="5790702310-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="5790702310-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="2699467353-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="2699467353-34">)</span><span·class="p">,</span><span·class="w">
222 ····</span><span·class="p"·data-group-id="5790702310-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="5790702310-35">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·492,·SHA:·b6677da8ef5065e9dd312056070020d521b73a7778cb80e2cc15cd186eb566e4·...·]-36">)</span><span·class="p">,</span><span·class="w">222 ····</span><span·class="p"·data-group-id="2699467353-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="2699467353-35">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·492,·SHA:·820ff8d0dee1b7eca60e5cd0b87133069086fd11eed0611c7ba154bc43d0757d·...·]-36">)</span><span·class="p">,</span><span·class="w">
223 ····</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="5790702310-38">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="5790702310-38">)</span><span·class="p">,</span><span·class="w">223 ····</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="2699467353-38">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2699467353-38">)</span><span·class="p">,</span><span·class="w">
224 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">224 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
  
225 </span><span·class="c1">%%·======================================================================</span><span·class="w">225 </span><span·class="c1">%%·======================================================================</span><span·class="w">
  
226 </span><span·class="c1">%%·===·Server·===</span><span·class="w">226 </span><span·class="c1">%%·===·Server·===</span><span·class="w">
  
227 </span><span·class="nf">server</span><span·class="p"·data-group-id="5790702310-39">(</span><span·class="p"·data-group-id="5790702310-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 </span><span·class="nf">server</span><span·class="p"·data-group-id="2699467353-39">(</span><span·class="p"·data-group-id="2699467353-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 ····</span><span·class="c1">%%·Make·system·choose·port·(and·address)</span><span·class="w">228 ····</span><span·class="c1">%%·Make·system·choose·port·(and·address)</span><span·class="w">
229 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="5790702310-40">(</span><span·class="mi">0</span><span·class="p"·data-group-id="5790702310-40">)</span><span·class="p">.</span><span·class="w">229 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="2699467353-40">(</span><span·class="mi">0</span><span·class="p"·data-group-id="2699467353-40">)</span><span·class="p">.</span><span·class="w">
  
230 </span><span·class="c1">%%·This·function·return·the·port·and·address·that·it·actually·uses,</span><span·class="w">230 </span><span·class="c1">%%·This·function·return·the·port·and·address·that·it·actually·uses,</span><span·class="w">
231 </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="c1">%%·in·case·server/0·or·server/1·(with·a·port·number)·was·used·to·start·it.</span><span·class="w">
  
232 </span><span·class="nf">server</span><span·class="p"·data-group-id="5790702310-41">(</span><span·class="p"·data-group-id="5790702310-42">#{</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:·fdac71d7de3137540d07e338c1e61ebd533d68ec7907e4a51316abe055c42b70·...·]-41">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">232 </span><span·class="nf">server</span><span·class="p"·data-group-id="2699467353-41">(</span><span·class="p"·data-group-id="2699467353-42">#{</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:·85c6a107da2e612f483459a8645161ab8590560fddd8fa0b47f7bda8b97368e9·...·]-41">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
233 ····</span><span·class="p"·data-group-id="5790702310-43">{</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="5790702310-43">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·353,·SHA:·2f274b4b71e017eb97fdd94456d910fd854d1a04c5a10a0035e898f74e293939·...·]-44">)</span><span·class="p">,</span><span·class="w">233 ····</span><span·class="p"·data-group-id="2699467353-43">{</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="2699467353-43">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·353,·SHA:·bf7cfed2da6fb5de775a793dbc54bca56600a563d5f8509a6f8a98d3f7ba6440·...·]-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">bind</span><span·class="p"·data-group-id="5790702310-45">(</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="5790702310-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">bind</span><span·class="p"·data-group-id="2699467353-45">(</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="2699467353-45">)</span><span·class="p">,</span><span·class="w">
235 ····</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="5790702310-46">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="5790702310-46">)</span><span·class="p">,</span><span·class="w">235 ····</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="2699467353-46">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2699467353-46">)</span><span·class="p">,</span><span·class="w">
236 ····</span><span·class="p"·data-group-id="5790702310-47">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5790702310-48">#{</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:·7b4d52fb5d0220d49a26d2f1717b5297bb659e0bf0287c4b82826dd4f0a2906a·...·]-49">)</span><span·class="p">,</span><span·class="w">236 ····</span><span·class="p"·data-group-id="2699467353-47">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2699467353-48">#{</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:·da4e85ff4a2411933b68b78e22c347b7606cc4061b145045092b1fcf68ad901c·...·]-49">)</span><span·class="p">,</span><span·class="w">
237 ····</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="5790702310-50">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="5790702310-50">)</span><span·class="p">,</span><span·class="w">237 ····</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="2699467353-50">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2699467353-50">)</span><span·class="p">,</span><span·class="w">
238 ····</span><span·class="p"·data-group-id="5790702310-51">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5790702310-52">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Addr</span><sp[·...·truncated·by·diffoscope;·len:·171,·SHA:·48ee79cb5c3fdeb23348c28db911272ed6e112235ba1391f088f08f38deab0cb·...·]-51">}</span><span·class="p">;</span><span·class="w">238 ····</span><span·class="p"·data-group-id="2699467353-51">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2699467353-52">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Addr</span><sp[·...·truncated·by·diffoscope;·len:·171,·SHA:·238c881b1ed565f482238a3b41005bc97064f8a5fe71dfde37dc4f03a27598ee·...·]-51">}</span><span·class="p">;</span><span·class="w">
  
239 </span><span·class="nf">server</span><span·class="p"·data-group-id="5790702310-53">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5790702310-53">)</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="5790702310-5[·...·truncated·by·diffoscope;·len:·79,·SHA:·2e420b88e8e73a4b2b3dec96dd1f599c205b86aabe248e8394aa2ce40f8fbd8f·...·]-54">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">239 </span><span·class="nf">server</span><span·class="p"·data-group-id="2699467353-53">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2699467353-53">)</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="2699467353-5[·...·truncated·by·diffoscope;·len:·79,·SHA:·aa379fd17435e0a8c3fdfd8af219f474f8f2c6541daf8c83fc05cd389d5f9371·...·]-54">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ····</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">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">
241 ····</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="5790702310-55">(</span><span·class="n">Family</span><span·class="p"·data-group-id="5790702310-55">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Pick·an·address</span><span·class="w">241 ····</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="2699467353-55">(</span><span·class="n">Family</span><span·class="p"·data-group-id="2699467353-55">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Pick·an·address</span><span·class="w">
242 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5790702310-56">#{</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="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2699467353-56">#{</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">
243 »       »       ·</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">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">
244 »       »       ·</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="5790702310-56">}</span><span·class="p">,</span><span·class="w">244 »       »       ·</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="2699467353-56">}</span><span·class="p">,</span><span·class="w">
245 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="5790702310-57">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="5790702310-57">)</span><span·class="p">.</span><span·class="w">245 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="2699467353-57">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="2699467353-57">)</span><span·class="p">.</span><span·class="w">
  
246 </span><span·class="nf">server</span><span·class="p"·data-group-id="5790702310-58">(</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="5790702310-58">)</span><span·class="w">246 </span><span·class="nf">server</span><span·class="p"·data-group-id="2699467353-58">(</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="2699467353-58">)</span><span·class="w">
247 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="5790702310-59">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5790702310-59">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="5790702310-60">(</span><span·class="n">Por[·...·truncated·by·diffoscope;·len:·150,·SHA:·d47ece80019786a46c304487f07b8672f7a4840f37744ba527e46ef80bf57cd7·...·]-60">)</span><span·class="w">·</span><span·class="ow">andalso</span><span·class="w">247 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="2699467353-59">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2699467353-59">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="2699467353-60">(</span><span·class="n">Por[·...·truncated·by·diffoscope;·len:·150,·SHA:·5f8f872ef8c6c804de537f9558413a83850e49f99f1f38a840ea3077fa57371d·...·]-60">)</span><span·class="w">·</span><span·class="ow">andalso</span><span·class="w">
248 ·······</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="5790702310-61">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="5790702310-61">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">248 ·······</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="2699467353-61">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="2699467353-61">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
249 ····</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="5790702310-62">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="5790702310-62">)</span><span·class="p">,</span><span·class="w">249 ····</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="2699467353-62">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="2699467353-62">)</span><span·class="p">,</span><span·class="w">
250 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5790702310-63">#{</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="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2699467353-63">#{</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">
251 »       »       ·</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">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">
252 »       »       ·</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="5790702310-63">}</span><span·class="p">,</span><span·class="w">252 »       »       ·</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="2699467353-63">}</span><span·class="p">,</span><span·class="w">
253 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="5790702310-64">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="5790702310-64">)</span><span·class="p">.</span><span·class="w">253 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="2699467353-64">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="2699467353-64">)</span><span·class="p">.</span><span·class="w">
  
  
254 </span><span·class="c1">%%·---·Echo·Server·-·Acceptor·---</span><span·class="w">254 </span><span·class="c1">%%·---·Echo·Server·-·Acceptor·---</span><span·class="w">
  
255 </span><span·class="nf">start_acceptor</span><span·class="p"·data-group-id="5790702310-65">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="5790702310-65">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">255 </span><span·class="nf">start_acceptor</span><span·class="p"·data-group-id="2699467353-65">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="2699467353-65">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
256 ····</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="5790702310-66">(</span><span·class="p"·data-group-id="5790702310-66">)</span><span·class="p">,</span><span·class="w">256 ····</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="2699467353-66">(</span><span·class="p"·data-group-id="2699467353-66">)</span><span·class="p">,</span><span·class="w">
257 ····</span><span·class="p"·data-group-id="5790702310-67">{</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="5790702310-67">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·635,·SHA:·6ef7a1cf32caaffcabe2dd5907ba31487c97cf0bbce1ea1b49ea766cefd04c63·...·]-68">)</span><span·class="p">,</span><span·class="w">257 ····</span><span·class="p"·data-group-id="2699467353-67">{</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="2699467353-67">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·635,·SHA:·c349b538293711f6e6e33f4e98da90c9bad47467c10281a6db374210bb5f449b·...·]-68">)</span><span·class="p">,</span><span·class="w">
258 ····</span><span·class="k">receive</span><span·class="w">258 ····</span><span·class="k">receive</span><span·class="w">
259 »       </span><span·class="p"·data-group-id="5790702310-71">{</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:·3d921c5fa335f25194747d425dad900d2275a112c404c3ab830b0916e249759a·...·]-71">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">259 »       </span><span·class="p"·data-group-id="2699467353-71">{</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:·a71c9af7405e4cb8df812b494b7a981b64a57600f2d7fe856e7ea8342f7debb0·...·]-71">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
260 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="5790702310-72">(</span><span·class="p"·data-group-id="5790702310-73">{</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="5790702310-73">}</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·772c3a1f68a1dde78ce7a8adc7c41cff870912898482ba453bc5443667df1d60·...·]-72">)</span><span·class="p">;</span><span·class="w">260 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="2699467353-72">(</span><span·class="p"·data-group-id="2699467353-73">{</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="2699467353-73">}</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·74bda95fe48550a098bbdc860a72d0e12abd3bcf083622972edadd3bf02b8e68·...·]-72">)</span><span·class="p">;</span><span·class="w">
261 »       </span><span·class="p"·data-group-id="5790702310-74">{</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="5790702310-74">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">261 »       </span><span·class="p"·data-group-id="2699467353-74">{</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="2699467353-74">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
262 »       ····</span><span·class="c1">%%·Transfer·ownership</span><span·class="w">262 »       ····</span><span·class="c1">%%·Transfer·ownership</span><span·class="w">
263 »       ····</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">setopt</span><span·class="p"·data-group-id="5790702310-75">(</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:·61be27fa03b4f540d564526f1bf3f302b4085b77063a10af4514c88ee40b6afc·...·]-75">)</span><span·class="p">,</span><span·class="w">263 »       ····</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">setopt</span><span·class="p"·data-group-id="2699467353-75">(</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:·05121a110c55fe1ab67b9653aa624f73b83713e79d79d7e7fd85814db9520cb9·...·]-75">)</span><span·class="p">,</span><span·class="w">
264 »       ····</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5790702310-76">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5790702310-77">(</span><span·class="p"·data-group-id="5790702310-77">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·89ab2d36cb4b1cee33f04796ca64371efbbc5b0cb26c5cbbf1b8dbf2de86179c·...·]-76">}</span><span·class="p">,</span><span·class="w">264 »       ····</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2699467353-76">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2699467353-77">(</span><span·class="p"·data-group-id="2699467353-77">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·b2e1047b67430f9f95a6c9b6a2a8e4f792e869e764ee7b68e9ab8d9d29e17a91·...·]-76">}</span><span·class="p">,</span><span·class="w">
265 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="5790702310-78">(</span><span·class="n">MRef</span><span·class="p"·data-group-id="5790702310-78">)</span><span·class="p">,</span><span·class="w">265 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="2699467353-78">(</span><span·class="n">MRef</span><span·class="p"·data-group-id="2699467353-78">)</span><span·class="p">,</span><span·class="w">
266 »       ····</span><span·class="n">Pid</span><span·class="w">266 »       ····</span><span·class="n">Pid</span><span·class="w">
267 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">267 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
268 ····268 ····
269 </span><span·class="nf">acceptor_init</span><span·class="p"·data-group-id="5790702310-79">(</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="5790702310-79">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">269 </span><span·class="nf">acceptor_init</span><span·class="p"·data-group-id="2699467353-79">(</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="2699467353-79">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
270 ····</span><span·class="n">Parent</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5790702310-80">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5790702310-81">(</span><span·class="p"·data-group-id="5790702310-81">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·70883c58cff2c0dd2b17ac417f1abdef6d77b72e7d55e0442ae7ac198aa9d6a1·...·]-80">}</span><span·class="p">,</span><span·class="w">270 ····</span><span·class="n">Parent</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2699467353-80">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2699467353-81">(</span><span·class="p"·data-group-id="2699467353-81">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·5b41d370ee523f73c404918705c2cc649535d6acdd2cd2ea3b969ffe5e811bab·...·]-80">}</span><span·class="p">,</span><span·class="w">
271 ····</span><span·class="k">receive</span><span·class="w">271 ····</span><span·class="k">receive</span><span·class="w">
272 »       </span><span·class="p"·data-group-id="5790702310-82">{</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="5790702310-82">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">272 »       </span><span·class="p"·data-group-id="2699467353-82">{</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="2699467353-82">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
273 »       ····</span><span·class="ss">ok</span><span·class="w">273 »       ····</span><span·class="ss">ok</span><span·class="w">
274 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">274 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
275 ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="5790702310-83">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p"·data-group-id="5790702310-83">)</span><span·class="p">.</span><span·class="w">275 ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2699467353-83">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p"·data-group-id="2699467353-83">)</span><span·class="p">.</span><span·class="w">
  
276 </span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="5790702310-84">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·ef5d877f3ff732be42e5b91f47e169de2940052985387978fc5a3b3adf5a5c54·...·]-84">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">276 </span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2699467353-84">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·4213ed34aba3f1876438c024064d3e8536f3aad44e04f38e8906277237ae5fca·...·]-84">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
277 ····</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="5790702310-85">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">nowait</span><span·class="p"·data-group-id="5790702310-85">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">277 ····</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="2699467353-85">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">nowait</span><span·class="p"·data-group-id="2699467353-85">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
278 »       </span><span·class="p"·data-group-id="5790702310-86">{</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="5790702310-86">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">278 »       </span><span·class="p"·data-group-id="2699467353-86">{</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="2699467353-86">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
279 »       ····</span><span·class="nf">start_handler</span><span·class="p"·data-group-id="5790702310-87">(</span><span·class="n">ASock</span><span·class="p"·data-group-id="5790702310-87">)</span><span·class="p">,</span><span·class="w">279 »       ····</span><span·class="nf">start_handler</span><span·class="p"·data-group-id="2699467353-87">(</span><span·class="n">ASock</span><span·class="p"·data-group-id="2699467353-87">)</span><span·class="p">,</span><span·class="w">
280 »       ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="5790702310-88">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-group-id="5790702310-88">)</span><span·class="p">;</span><span·class="w">280 »       ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2699467353-88">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-group-id="2699467353-88">)</span><span·class="p">;</span><span·class="w">
281 »       </span><span·class="p"·data-group-id="5790702310-89">{</span><span·class="ss">select</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SelectInfo</span><span·class="p"·data-group-id="5790702310-89">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">281 »       </span><span·class="p"·data-group-id="2699467353-89">{</span><span·class="ss">select</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SelectInfo</span><span·class="p"·data-group-id="2699467353-89">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
282 »       ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="5790702310-90">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SelectInfo</span><span·class="p"·data-group-id="5790702310-90">)</span><span·class="p">;</span><span·class="w">282 »       ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2699467353-90">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SelectInfo</span><span·class="p"·data-group-id="2699467353-90">)</span><span·class="p">;</span><span·class="w">
283 »       </span><span·class="p"·data-group-id="5790702310-91">{</span><span·class="ss">completion</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CompletionInfo</span><span·class="p"·data-group-id="5790702310-91">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">283 »       </span><span·class="p"·data-group-id="2699467353-91">{</span><span·class="ss">completion</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CompletionInfo</span><span·class="p"·data-group-id="2699467353-91">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
284 »       ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="5790702310-92">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CompletionInfo</span><span·class="p"·data-group-id="5790702310-92">)</span><span·class="p">;</span><span·class="w">284 »       ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2699467353-92">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CompletionInfo</span><span·class="p"·data-group-id="2699467353-92">)</span><span·class="p">;</span><span·class="w">
285 »       </span><span·class="p"·data-group-id="5790702310-93">{</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="5790702310-93">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">285 »       </span><span·class="p"·data-group-id="2699467353-93">{</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="2699467353-93">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
286 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="5790702310-94">(</span><span·class="p"·data-group-id="5790702310-95">{</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="5790702310-95">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·f422d8bd00ad970f52f41adf092e6cce11428905d9b29859d4f1670c381c610f·...·]-94">)</span><span·class="w">286 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="2699467353-94">(</span><span·class="p"·data-group-id="2699467353-95">{</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="2699467353-95">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·fb86c4572daa19993da79fbad95ce4752e3d201d3674a45d3993b421b957a4bd·...·]-94">)</span><span·class="w">
287 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">287 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
  
288 </span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="5790702310-96">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5790702310-97">{</span><span·class="ss">select_info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">acc[·...·truncated·by·diffoscope;·len:·188,·SHA:·80859dbc372dc2b2c15d235925f83966267aea8e956a7e00ac0fdd09c22bf6c8·...·]-96">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">288 </span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2699467353-96">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2699467353-97">{</span><span·class="ss">select_info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">acc[·...·truncated·by·diffoscope;·len:·188,·SHA:·3fc5dbdb09ebd1c263fdc3b5f2a9fbe47949552ba8264d840d04f82aead698d1·...·]-96">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 119033/183561 bytes (64.85%) of diff not shown.
677 B
html2text {}
Max HTML report size reached
42.3 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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="3966713824-1">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="3966713824-2">(</span><span·class="p"·data-group-id="3966713824-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><sp[·...·truncated·by·diffoscope;·len:·944,·SHA:·ffef4841979d6980e8be9ed3adbe76d5a73139c003859a223795fb81334936b6·...·]-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="3380660986-1">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="3380660986-2">(</span><span·class="p"·data-group-id="3380660986-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><sp[·...·truncated·by·diffoscope;·len:·944,·SHA:·c0aae1d74b02900d2c81604e56ab7fa13263a15000b36d1c63c1bd91dfea3309·...·]-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="3966713824-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="3966713824-7">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·71,·SHA:·cf29efa88d6e13f11774fcce3bf5298cb04aef648ac894dc6ebe32915ee6915a·...·]-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="3380660986-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="3380660986-7">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·71,·SHA:·25bede875a2dd97c1e12c9260d155d182eb687292c1b40d5a1eba7627baf2239·...·]-6">)</span><span·class="p">.</span><span·class="w">
153 </span><span·class="p"·data-group-id="3966713824-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·c[·...·truncated·by·diffoscope;·len:·247,·SHA:·51cfff475f8e2324881749a04e6b121e94f70785ca579c002565a44ab454a67f·...·]-8">}</span><span·class="w">153 </span><span·class="p"·data-group-id="3380660986-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·c[·...·truncated·by·diffoscope;·len:·247,·SHA:·baddf0d9914f947c1b6f68eebd34c9088e31db250ceb86fe7b931cd09459bb3f·...·]-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="3966713824-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="3966713824-11">(</span><span·class="p"·data-group-id="3966713824-11">)</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·281,·SHA:·15a654371b1c2f7b2c757ae0e3224f46f06ec403f40c585c174373eb4671c32f·...·]-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="3380660986-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="3380660986-11">(</span><span·class="p"·data-group-id="3380660986-11">)</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·281,·SHA:·302cfcc7c928e215c9b0a0f1a5887b5d133771f6558d7d7b60bd7aeba79ea738·...·]-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="3966713824-13">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3966713824-14">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">seq</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·434,·SHA:·21f395a7db08ffad50883c60eb55ff1508f55ea84b055f69e13e945c5577b160·...·]-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="3380660986-13">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3380660986-14">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">seq</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·434,·SHA:·aefab2e034e7118df2b7036637d01cbb20f8deeb34dccfe73da58064f3d060f7·...·]-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="3966713824-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="3966713824-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="3380660986-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="3380660986-17">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p"·data-group-id="3966713824-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</spa[·...·truncated·by·diffoscope;·len:·462,·SHA:·a51d37949063fe96104d6b32b7db5c3dad602048abad14765546ffc99ef60f15·...·]-18">}</span><span·class="w">·</span><span·class="c1">%·The·trace·message</span><span·class="w">162 </span><span·class="p"·data-group-id="3380660986-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</spa[·...·truncated·by·diffoscope;·len:·462,·SHA:·88fd7f24690a2717d63487a9e4b950624a138a0bc867705a04fd9ad4b4cd3d3f·...·]-18">}</span><span·class="w">·</span><span·class="c1">%·The·trace·message</span><span·class="w">
163 </span><span·class="p"·data-group-id="3966713824-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:·274,·SHA:·29f14ea80830ff3250e7137010ada04e40606881ec4045e4cad5bcdda50e2c9f·...·]-21">]</span><span·class="w">·</span><span·class="c1">%·The·return·value</span><span·class="w">163 </span><span·class="p"·data-group-id="3380660986-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:·274,·SHA:·6ccd08f5696846940494a58f70fee80e37ac8df169488cd66e8051d54dff86f5·...·]-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="3966713824-22">(</span><span·class="n">Session</span><span·class="p"·data-group-id="3966713824-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="3380660986-22">(</span><span·class="n">Session</span><span·class="p"·data-group-id="3380660986-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 1288, 17 lines modifiedOffset 1288, 17 lines modified
1288 <code·class="inline">undefined</code>·if·the·sender·is·not·known·(which·can·be·the·case·for·remote1288 <code·class="inline">undefined</code>·if·the·sender·is·not·known·(which·can·be·the·case·for·remote
1289 senders).·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·receiving·process·can·be1289 senders).·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·receiving·process·can·be
1290 accessed·with·the·guard·function·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as1290 accessed·with·the·guard·function·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as
1291 <code·class="inline">true</code>.·For·more·information,·see·section1291 <code·class="inline">true</code>.·For·more·information,·see·section
1292 <a·href="../../../../erts-15.2.7/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide1292 <a·href="../../../../erts-15.2.7/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide
1293 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>·traced1293 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
1294 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·match1294 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
1295 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="0275104346-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0275104346-2">[</span><span·class="p"·data-group-id="0275104346-3">{</span><span·class="p"·data-group-id="0275104346-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="0275104346-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="0275104346-5">[</span><span·class="p"·data-group-id="0275104346-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="0275104346-6">[</span><span·class="p"·data-group-id="0275104346-6">]</span><span·class="p"·data-group-id="0275104346-3">}</span><span·class="p"·data-group-id="0275104346-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0275104346-7">[</span><span·class="p"·data-group-id="0275104346-7">]</span><span·class="p"·data-group-id="0275104346-1">)</span><span·class="p">.</span><span·class="w"> 
1296 </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="1277287559-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1277287559-2">[</span><span·class="p"·data-group-id="1277287559-3">{</span><span·class="p"·data-group-id="1277287559-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="1277287559-5">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="1277287559-5">}</span><span·class="p"·data-group-id="1277287559-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="1277287559-6">[</span><span·class="p"·data-group-id="1277287559-6">]</span><span·class="p">,</span><span·class="p"·data-group-id="1277287559-7">[</span><span·class="p"·data-group-id="1277287559-7">]</span><span·class="p"·data-group-id="1277287559-3">}</span><span·class="p"·data-group-id="1277287559-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1277287559-8">[</span><span·class="p"·data-group-id="1277287559-8">]</span><span·class="p"·data-group-id="1277287559-1">)</span><span·class="p">.</span><span·class="w"> 
1297 </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:·57316ae5cf14cfaf23302e34894fc4c28b26a479aa42103adbd13b1794dbda30·...·]-1">)</span><span·class="p">.</span><span·class="w">1295 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:·1dc5f33540725c85edb5021b143da40fad3f6dea38c669f0200fb7ac1406f9eb·...·]-1">)</span><span·class="p">.</span><span·class="w">
 1296 </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="8826728868-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8826728868-2">[</span><span·class="p"·data-group-id="8826728868-3">{</span><span·class="p"·data-group-id="8826728868-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="8826728868-5">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="8826728868-5">}</span><span·class="p"·data-group-id="8826728868-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="8826728868-6">[</span><span·class="p"·data-group-id="8826728868-6">]</span><span·class="p">,</span><span·class="p"·data-group-id="8826728868-7">[</span><span·class="p"·data-group-id="8826728868-7">]</span><span·class="p"·data-group-id="8826728868-3">}</span><span·class="p"·data-group-id="8826728868-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8826728868-8">[</span><span·class="p"·data-group-id="8826728868-8">]</span><span·class="p"·data-group-id="8826728868-1">)</span><span·class="p">.</span><span·class="w">
 1297 </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="4775540355-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4775540355-2">[</span><span·class="p"·data-group-id="4775540355-3">{</span><span·class="p"·data-group-id="4775540355-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="4775540355-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="4775540355-5">[</span><span·class="p"·data-group-id="4775540355-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="4775540355-7">{</span><span·class="nb">node</span><span·class="p"·data-group-id="4775540355-7">}</span><span·class="p"·data-group-id="4775540355-6">}</span><span·class="p"·data-group-id="4775540355-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="4775540355-8">[</span><span·class="p"·data-group-id="4775540355-8">]</span><span·class="p"·data-group-id="4775540355-3">}</span><span·class="p"·data-group-id="4775540355-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4775540355-9">[</span><span·class="p"·data-group-id="4775540355-9">]</span><span·class="p"·data-group-id="4775540355-1">)</span><span·class="p">.</span><span·class="w">
1298 </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·body1298 </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
1299 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>,1299 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>,
1300 <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·excessive1300 <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
1301 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the1301 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the
1302 calling·process·is·executing·on.1302 calling·process·is·executing·on.
1303 <a·href="../../../../erts-15.2.7/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured1303 <a·href="../../../../erts-15.2.7/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured
1304 when·starting·the·runtime·system.</p></li></ul>1304 when·starting·the·runtime·system.</p></li></ul>
Offset 1339, 18 lines modifiedOffset 1339, 18 lines modified
1339 the·list·<code·class="inline">[Receiver,·Msg]</code>.·<code·class="inline">Receiver</code>·is·the·process·or·port·identity·of·the1339 the·list·<code·class="inline">[Receiver,·Msg]</code>.·<code·class="inline">Receiver</code>·is·the·process·or·port·identity·of·the
1340 receiver·and·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·sending·process·can·be1340 receiver·and·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·sending·process·can·be
1341 accessed·with·the·guard·function·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as1341 accessed·with·the·guard·function·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as
1342 <code·class="inline">true</code>.·For·more·information,·see·section1342 <code·class="inline">true</code>.·For·more·information,·see·section
1343 <a·href="../../../../erts-15.2.7/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide1343 <a·href="../../../../erts-15.2.7/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide
1344 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>·traced1344 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
1345 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·specification1345 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
1346 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="4759637929-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4759637929-2">[</span><span·class="p"·data-group-id="4759637929-3">{</span><span·class="p"·data-group-id="4759637929-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="4759637929-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="4759637929-5">[</span><span·class="p"·data-group-id="4759637929-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="4759637929-6">[</span><span·class="p"·data-group-id="4759637929-6">]</span><span·class="p"·data-group-id="4759637929-3">}</span><span·class="p"·data-group-id="4759637929-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4759637929-7">[</span><span·class="p"·data-group-id="4759637929-7">]</span><span·class="p"·data-group-id="4759637929-1">)</span><span·class="p">.</span><span·class="w"> 
1347 </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="7713387719-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7713387719-2">[</span><span·class="p"·data-group-id="7713387719-3">{</span><span·class="p"·data-group-id="7713387719-4">[</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7713387719-5">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="7713387719-5">}</span><span·class="p"·data-group-id="7713387719-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="7713387719-6">[</span><span·class="p"·data-group-id="7713387719-6">]</span><span·class="p">,</span><span·class="p"·data-group-id="7713387719-7">[</span><span·class="p"·data-group-id="7713387719-7">]</span><span·class="p"·data-group-id="7713387719-3">}</span><span·class="p"·data-group-id="7713387719-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7713387719-8">[</span><span·class="p"·data-group-id="7713387719-8">]</span><span·class="p"·data-group-id="7713387719-1">)</span><span·class="p">.</span><span·class="w"> 
1348 </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="4433701322-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4433701322-2">[</span><span·class="p"·data-group-id="4433701322-3">{</span><span·class="p"·data-group-id="4433701322-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="4433701322-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="4433701322-5">[</span><span·class="p"·data-group-id="4433701322-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="4433701322-7">{</span><span·class="ss">self</span><span·class="p"·data-group-id="4433701322-7">}</span><span·class="p"·data-group-id="4433701322-6">}</span><span·class="p"·data-group-id="4433701322-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="4433701322-8">[</span><span·class="p"·data-group-id="4433701322-8">]</span><span·class="p"·data-group-id="4433701322-3">}</span><span·class="p"·data-group-id="4433701322-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4433701322-9">[</span><span·class="p"·data-group-id="4433701322-9">]</span><span·class="p"·data-group-id="4433701322-1">)</span><span·class="p">.</span><span·class="w"> 
1349 </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:·1551,·SHA:·279cd2c118d9b7dd1c9c7ef644600a2067512f3916136fd5ef6d4a191f931466·...·]-1">)</span><span·class="p">.</span><span·class="w">1346 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:·1215,·SHA:·2f231384316e128ed38b3c64abe831ca4cc878c798ebe0132d56bbc2feaee4ae·...·]-1">)</span><span·class="p">.</span><span·class="w">
 1347 </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="8144945016-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8144945016-2">[</span><span·class="p"·data-group-id="8144945016-3">{</span><span·class="p"·data-group-id="8144945016-4">[</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8144945016-5">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="8144945016-5">}</span><span·class="p"·data-group-id="8144945016-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="8144945016-6">[</span><span·class="p"·data-group-id="8144945016-6">]</span><span·class="p">,</span><span·class="p"·data-group-id="8144945016-7">[</span><span·class="p"·data-group-id="8144945016-7">]</span><span·class="p"·data-group-id="8144945016-3">}</span><span·class="p"·data-group-id="8144945016-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8144945016-8">[</span><span·class="p"·data-group-id="8144945016-8">]</span><span·class="p"·data-group-id="8144945016-1">)</span><span·class="p">.</span><span·class="w">
 1348 </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="4827028355-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4827028355-2">[</span><span·class="p"·data-group-id="4827028355-3">{</span><span·class="p"·data-group-id="4827028355-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="4827028355-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="4827028355-5">[</span><span·class="p"·data-group-id="4827028355-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="4827028355-7">{</span><span·class="ss">self</span><span·class="p"·data-group-id="4827028355-7">}</span><span·class="p"·data-group-id="4827028355-6">}</span><span·class="p"·data-group-id="4827028355-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="4827028355-8">[</span><span·class="p"·data-group-id="4827028355-8">]</span><span·class="p"·data-group-id="4827028355-3">}</span><span·class="p"·data-group-id="4827028355-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4827028355-9">[</span><span·class="p"·data-group-id="4827028355-9">]</span><span·class="p"·data-group-id="4827028355-1">)</span><span·class="p">.</span><span·class="w">
 1349 </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="6801008578-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6801008578-2">[</span><span·class="p"·data-group-id="6801008578-3">{</span><span·class="p"·data-group-id="6801008578-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="6801008578-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="6801008578-5">[</span><span·class="p"·data-group-id="6801008578-6">{</span><span·class="ss">&#39;=/=&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6801008578-7">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="6801008578-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="6801008578-8">{</span><span·class="nb">node</span><span·class="p"·data-group-id="6801008578-8">}</span><span·class="p"·data-group-id="6801008578-6">}</span><span·class="p"·data-group-id="6801008578-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="6801008578-9">[</span><span·class="p"·data-group-id="6801008578-9">]</span><span·class="p"·data-group-id="6801008578-3">}</span><span·class="p"·data-group-id="6801008578-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6801008578-10">[</span><span·class="p"·data-group-id="6801008578-10">]</span><span·class="p"·data-group-id="6801008578-1">)</span><span·class="p">.</span><span·class="w">
1350 </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·functions1350 </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
1351 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·excessive1351 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
1352 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the1352 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the
1353 calling·process·is·executing·on.1353 calling·process·is·executing·on.
1354 <a·href="../../../../erts-15.2.7/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured1354 <a·href="../../../../erts-15.2.7/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured
1355 when·starting·the·runtime·system.</p></li></ul>1355 when·starting·the·runtime·system.</p></li></ul>
1356 ··</section>1356 ··</section>
Offset 1482, 15 lines modifiedOffset 1482, 15 lines modified
1482 ······<p·class="built-using">1482 ······<p·class="built-using">
1483 ········Built·using1483 ········Built·using
1484 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1484 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1485 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1485 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1486 ······</p>1486 ······</p>
1487 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1487 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1488 ····</footer>1488 ····</footer>
1489 ··</div>1489 ··</div>
1490 </main>1490 </main>
1491 </div>1491 </div>
1492 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1492 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1493 ··<script>1493 ··<script>
1494 ··let·initialized·=·false;1494 ··let·initialized·=·false;
759 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>535 <p>Copyright·©·1996-2025·<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
1.46 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>303 <p>Copyright·©·1996-2025·<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
300 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/doc/html/megaco.epub
6.87 KB
zipinfo {}
Max HTML report size reached
239 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·Jul·06·2026·03:09:00,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:58,·uncompressed·size·20,·method=store
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
3.38 KB
OEBPS/content.opf
3.35 KB
OEBPS/content.opf
Max HTML report size reached
4.08 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/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-15.2.7/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-15.2.7/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="1047474451-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="1047474451-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·441,·SHA:·71b4929cb93b81799e7691d17e8a3e2bec86f38214b9ec9197d70b93f72fb5e0·...·]-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="9189054076-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="9189054076-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·441,·SHA:·51526a747f6188ab9265f5cfe4fce4fa453e9192e96b2e71ea9447a45c4157d6·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3935 <p>Copyright·©·1996-2025·<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.51 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>260 <p>Copyright·©·1996-2025·<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.51 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/doc/html/megaco_codec_meas.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>248 <p>Copyright·©·1996-2025·<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;
686 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/doc/html/megaco_codec_mstone1.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>580 <p>Copyright·©·1996-2025·<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;
716 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/doc/html/megaco_codec_mstone2.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>254 <p>Copyright·©·1996-2025·<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;
681 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/doc/html/megaco_codec_transform.html
    
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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>251 <p>Copyright·©·1996-2025·<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;
570 B
html2text {}
Max HTML report size reached
13.1 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/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="1031969416-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="1031969416-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:·ac662a955fad9a6802ba0d9632596a2157de343f794f595fad2edb1cfdfcc2fd·...·]-2">]</span><span·class="w">175 ········</span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="8723527185-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="8723527185-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:·0a97577937b27de84736b722522d9102fa1bd541109b94bd444e33f5a5219dc7·...·]-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="1031969416-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="1031969416-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="8723527185-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="8723527185-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="1031969416-4">(</span><span·class="p"·data-group-id="1031969416-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="8723527185-4">(</span><span·class="p"·data-group-id="8723527185-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="1031969416-5">(</span><span·class="p"·data-group-id="1031969416-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="8723527185-5">(</span><span·class="p"·data-group-id="8723527185-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="1939793296-1">(</span><span·class="p"·data-group-id="1939793296-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:·3693f5cd9aa57f53f60a5c2570a2d2fbdcf6f0fbfaedeb60710b7dc560e86563·...·]-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="3804898332-1">(</span><span·class="p"·data-group-id="3804898332-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:·0dbda3f0ae9bc51fe3463b316ea3baf2bcf7440e5430b88ef947b1ac69ea9760·...·]-2">)</span><span·class="w">
203 </span><span·class="nf">messages_list</span><span·class="p"·data-group-id="1939793296-3">(</span><span·class="p"·data-group-id="1939793296-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1939793296-4">[</span><span·class="p"·data-group-id="1939793296-5">{</span><sp[·...·truncated·by·diffoscope;·len:·418,·SHA:·50b6ea2e6a4cc5ae3bbf3b2bb689eab20078da5942fa3cf7719a7282c6cdb259·...·]-4">]</span><span·class="w">203 </span><span·class="nf">messages_list</span><span·class="p"·data-group-id="3804898332-3">(</span><span·class="p"·data-group-id="3804898332-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3804898332-4">[</span><span·class="p"·data-group-id="3804898332-5">{</span><sp[·...·truncated·by·diffoscope;·len:·418,·SHA:·3d044492598e4fe0013c9b73f764fe9c9fab9774323a33cedb5505d3e7b80726·...·]-4">]</span><span·class="w">
204 </span><span·class="nf">message_name</span><span·class="p"·data-group-id="1939793296-8">(</span><span·class="p"·data-group-id="1939793296-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="1939793296-9">(</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·c6ae7187264c8cfdca13e23073eba480c590ed184b0713e772389cdb2d94a763·...·]-9">)</span><span·class="w">204 </span><span·class="nf">message_name</span><span·class="p"·data-group-id="3804898332-8">(</span><span·class="p"·data-group-id="3804898332-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="3804898332-9">(</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·4ef1822dd47a7472c150940dee55cfa5a1145f4f0e4471216c565fecade1ad13·...·]-9">)</span><span·class="w">
205 </span><span·class="nf">message</span><span·class="p"·data-group-id="1939793296-10">(</span><span·class="p"·data-group-id="1939793296-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="1939793296-11">(</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·4b9cab750fa2aa0ec1bc78086ff143bf24b4a7ebd3fb8bda145050076f27b38a·...·]-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="3804898332-10">(</span><span·class="p"·data-group-id="3804898332-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="3804898332-11">(</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·594dd64d0adad8c174f2513ae23a27bd06eacf4aaafdf50eb411525ae32c3699·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>267 <p>Copyright·©·1996-2025·<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.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>493 <p>Copyright·©·1996-2025·<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.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>278 <p>Copyright·©·1996-2025·<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.7.2/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="5821253715-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:·b6995d3b92ed90bd56745d5dd1678918033473c0aa6d2e48e3d011369459fe5e·...·]-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="8360627379-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:·6896d03af4286523394730e85e9637d6467920955314d40e1d101d2919382c97·...·]-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="5821253715-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="8360627379-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="5821253715-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="5821253715-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="8360627379-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="8360627379-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="5821253715-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="8360627379-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="5821253715-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="5821253715-5">[</span><span·class="o">?</span><span·class="ss">megaco_root_termination_id</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·f266204d170e9322d8592fd10f1a9d466e0141d77b9ab6ee809f30330547957f·...·]-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="8360627379-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="8360627379-5">[</span><span·class="o">?</span><span·class="ss">megaco_root_termination_id</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·97999e6c292a5b6c03b6e6e7fe4ddba2bc5c86d25a63e2b0e9481513f2a3660c·...·]-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="5821253715-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="8360627379-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="5821253715-6">[</span><span·class="o">#</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p"·data-group-id="5821253715-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="8360627379-6">[</span><span·class="o">#</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p"·data-group-id="8360627379-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="5821253715-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="5821253715-8">}</span><span·class="p"·data-group-id="5821253715-7">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·35f908a48da5277e66e2c58ef1a78ba939cdb01bb55a544e6a3ebbdd3bb56cc3·...·]-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="8360627379-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="8360627379-8">}</span><span·class="p"·data-group-id="8360627379-7">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·6b7a3cc8776855c356a0e41d1eeedc993128102339d30f681bf78fa772adbbde·...·]-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="5821253715-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="5821253715-9">)[·...·truncated·by·diffoscope;·len:·217,·SHA:·4f792333799b40e5e4edbddae205c907f8582e22baebafe9480a2f12d59a5d48·...·]-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="8360627379-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="8360627379-9">)[·...·truncated·by·diffoscope;·len:·217,·SHA:·cca11aa459b56fa07577715a921e0f6a2dd9da52a5e72c17e0b1ca1fc87f63ce·...·]-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="0518908585-2">{</span><span·class="ss">&#39;Message&#39;</span><span·class="p">,</span><span·class="w">188 ···</span><span·class="p"·data-group-id="0355476588-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="0518908585-3">{</span><span·class="ss">ip4Address</span><span·class="p">,</span><span·class="p"·data-group-id="0518908585-4">{</span><span·class="ss">&#39;IP4Address&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0[·...·truncated·by·diffoscope;·len:·432,·SHA:·6abd08ab7fe142284e650a80fe4b24148ed4ab6670eecf7e89c717d5752fbea4·...·]-3">}</span><span·class="p">,</span><span·class="w">190 ····</span><span·class="p"·data-group-id="0355476588-3">{</span><span·class="ss">ip4Address</span><span·class="p">,</span><span·class="p"·data-group-id="0355476588-4">{</span><span·class="ss">&#39;IP4Address&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0[·...·truncated·by·diffoscope;·len:·432,·SHA:·45f708d70c3a1a827e2033c252e3ff1b795711ac60662e5bc8e513c1c3e3e87e·...·]-3">}</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="p"·data-group-id="0518908585-6">{</span><span·class="ss">transactions</span><span·class="p">,</span><span·class="w">191 ····</span><span·class="p"·data-group-id="0355476588-6">{</span><span·class="ss">transactions</span><span·class="p">,</span><span·class="w">
192 ·····</span><span·class="p"·data-group-id="0518908585-7">[</span><span·class="w">192 ·····</span><span·class="p"·data-group-id="0355476588-7">[</span><span·class="w">
193 ······</span><span·class="p"·data-group-id="0518908585-8">{</span><span·class="ss">transactionRequest</span><span·class="p">,</span><span·class="w">193 ······</span><span·class="p"·data-group-id="0355476588-8">{</span><span·class="ss">transactionRequest</span><span·class="p">,</span><span·class="w">
194 ·······</span><span·class="p"·data-group-id="0518908585-9">{</span><span·class="ss">&#39;TransactionRequest&#39;</span><span·class="p">,</span><span·class="w">194 ·······</span><span·class="p"·data-group-id="0355476588-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="0518908585-10">[</span><span·class="p"·data-group-id="0518908585-11">{</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p">,</span><span·class="w">196 ·········</span><span·class="p"·data-group-id="0355476588-10">[</span><span·class="p"·data-group-id="0355476588-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="0518908585-12">[</span><span·class="w">200 ···········</span><span·class="p"·data-group-id="0355476588-12">[</span><span·class="w">
201 ············</span><span·class="p"·data-group-id="0518908585-13">{</span><span·class="ss">&#39;CommandRequest&#39;</span><span·class="p">,</span><span·class="w">201 ············</span><span·class="p"·data-group-id="0355476588-13">{</span><span·class="ss">&#39;CommandRequest&#39;</span><span·class="p">,</span><span·class="w">
202 ·············</span><span·class="p"·data-group-id="0518908585-14">{</span><span·class="ss">serviceChangeReq</span><span·class="p">,</span><span·class="w">202 ·············</span><span·class="p"·data-group-id="0355476588-14">{</span><span·class="ss">serviceChangeReq</span><span·class="p">,</span><span·class="w">
203 ··············</span><span·class="p"·data-group-id="0518908585-15">{</span><span·class="ss">&#39;ServiceChangeRequest&#39;</span><span·class="p">,</span><span·class="w">203 ··············</span><span·class="p"·data-group-id="0355476588-15">{</span><span·class="ss">&#39;ServiceChangeRequest&#39;</span><span·class="p">,</span><span·class="w">
204 ···············</span><span·class="p"·data-group-id="0518908585-16">[</span><span·class="w">204 ···············</span><span·class="p"·data-group-id="0355476588-16">[</span><span·class="w">
205 ················</span><span·class="p"·data-group-id="0518908585-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="0518908585-18">[</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·171,·SHA:·b5adf12ac9e6d39903023d86219fb7c7975d08303ece94241b0f1a6867eef71b·...·]-16">]</span><span·class="p">,</span><span·class="w">205 ················</span><span·class="p"·data-group-id="0355476588-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="0355476588-18">[</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·171,·SHA:·84089c4d6a5a01df990f79b669d789a942e281be75e9b5d3bd49f68c2cfb6a9e·...·]-16">]</span><span·class="p">,</span><span·class="w">
206 ················</span><span·class="p"·data-group-id="0518908585-19">{</span><span·class="ss">&#39;ServiceChangeParm&#39;</span><span·class="p">,</span><span·class="w">206 ················</span><span·class="p"·data-group-id="0355476588-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="0518908585-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="0518908585-20">}</span><span·class="p">,</span><span·class="w">208 ·················</span><span·class="p"·data-group-id="0355476588-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="0355476588-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="0518908585-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:·125,·SHA:·d89a99a9f9aefee7798b581c56aa2c7c3618a0603a4d9377700737197e7de0de·...·]-21">}</span><span·class="p">,</span><span·class="w">210 ·················</span><span·class="p"·data-group-id="0355476588-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:·125,·SHA:·d85b32f26ed0c72e4ec5c5ceaf553aee4a1b09554cb161720e940e740e2a1e81·...·]-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="0518908585-19">}</span><span·class="w">215 ················</span><span·class="p"·data-group-id="0355476588-19">}</span><span·class="w">
216 ··············</span><span·class="p"·data-group-id="0518908585-15">}</span><span·class="w">216 ··············</span><span·class="p"·data-group-id="0355476588-15">}</span><span·class="w">
217 ·············</span><span·class="p"·data-group-id="0518908585-14">}</span><span·class="p">,</span><span·class="w">217 ·············</span><span·class="p"·data-group-id="0355476588-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="0518908585-13">}</span><span·class="w">220 ············</span><span·class="p"·data-group-id="0355476588-13">}</span><span·class="w">
221 ···········</span><span·class="p"·data-group-id="0518908585-12">]</span><span·class="w">221 ···········</span><span·class="p"·data-group-id="0355476588-12">]</span><span·class="w">
222 ··········</span><span·class="p"·data-group-id="0518908585-11">}</span><span·class="w">222 ··········</span><span·class="p"·data-group-id="0355476588-11">}</span><span·class="w">
223 ·········</span><span·class="p"·data-group-id="0518908585-10">]</span><span·class="w">223 ·········</span><span·class="p"·data-group-id="0355476588-10">]</span><span·class="w">
224 ·······</span><span·class="p"·data-group-id="0518908585-9">}</span><span·class="w">224 ·······</span><span·class="p"·data-group-id="0355476588-9">}</span><span·class="w">
225 ······</span><span·class="p"·data-group-id="0518908585-8">}</span><span·class="w">225 ······</span><span·class="p"·data-group-id="0355476588-8">}</span><span·class="w">
226 ·····</span><span·class="p"·data-group-id="0518908585-7">]</span><span·class="w">226 ·····</span><span·class="p"·data-group-id="0355476588-7">]</span><span·class="w">
227 ····</span><span·class="p"·data-group-id="0518908585-6">}</span><span·class="w">227 ····</span><span·class="p"·data-group-id="0355476588-6">}</span><span·class="w">
228 ···</span><span·class="p"·data-group-id="0518908585-2">}</span><span·class="w">228 ···</span><span·class="p"·data-group-id="0355476588-2">}</span><span·class="w">
229 ··</span><span·class="p"·data-group-id="0518908585-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="0355476588-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>358 <p>Copyright·©·1996-2025·<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.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1345 <p>Copyright·©·1996-2025·<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.7.2/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="1643862952-1">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1643862952-2">[</span><span·class="p"·data-group-id="1643862952-2">]</span><span·class="p"·data-group-id="164386[·...·truncated·by·diffoscope;·len:·4,·SHA:·cb68dbec7d3df2537d3ad28cf2e941a2e2c6621049565051b63780573661e131·...·]-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="7551966056-1">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7551966056-2">[</span><span·class="p"·data-group-id="7551966056-2">]</span><span·class="p"·data-group-id="755196[·...·truncated·by·diffoscope;·len:·4,·SHA:·005fc4185b4f6096a1c6273010e11d67b436b338d6168bd54ccb9ecbaf2d7a27·...·]-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="1643862952-3">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1643862952-4">[</span><span·class="p"·data-group-id="1643862952-4">]</span><span·class="p"·data-group-id="164386[·...·truncated·by·diffoscope;·len:·4,·SHA:·cb68dbec7d3df2537d3ad28cf2e941a2e2c6621049565051b63780573661e131·...·]-3">)</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="7551966056-3">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7551966056-4">[</span><span·class="p"·data-group-id="7551966056-4">]</span><span·class="p"·data-group-id="755196[·...·truncated·by·diffoscope;·len:·4,·SHA:·005fc4185b4f6096a1c6273010e11d67b436b338d6168bd54ccb9ecbaf2d7a27·...·]-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="1643862952-5">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1643862952-6">[</span><span·class="p"·data-group-id="1643862952-6">]</span><span·class="p"·data-group-id="164386[·...·truncated·by·diffoscope;·len:·4,·SHA:·cb68dbec7d3df2537d3ad28cf2e941a2e2c6621049565051b63780573661e131·...·]-5">)</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="7551966056-5">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7551966056-6">[</span><span·class="p"·data-group-id="7551966056-6">]</span><span·class="p"·data-group-id="755196[·...·truncated·by·diffoscope;·len:·4,·SHA:·005fc4185b4f6096a1c6273010e11d67b436b338d6168bd54ccb9ecbaf2d7a27·...·]-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="1643862952-7">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1643862952-8">[</span><span·class="p"·data-group-id="1643862952-8">]</span><span·class="p"·data-group-id="164386[·...·truncated·by·diffoscope;·len:·4,·SHA:·cb68dbec7d3df2537d3ad28cf2e941a2e2c6621049565051b63780573661e131·...·]-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="7551966056-7">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7551966056-8">[</span><span·class="p"·data-group-id="7551966056-8">]</span><span·class="p"·data-group-id="755196[·...·truncated·by·diffoscope;·len:·4,·SHA:·005fc4185b4f6096a1c6273010e11d67b436b338d6168bd54ccb9ecbaf2d7a27·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>219 <p>Copyright·©·1996-2025·<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.59 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>440 <p>Copyright·©·1996-2025·<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.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>215 <p>Copyright·©·1996-2025·<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.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>207 <p>Copyright·©·1996-2025·<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.57 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>258 <p>Copyright·©·1996-2025·<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.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>336 <p>Copyright·©·1996-2025·<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.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1189 <p>Copyright·©·1996-2025·<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.44 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>830 <p>Copyright·©·1996-2025·<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.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>329 <p>Copyright·©·1996-2025·<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.7.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>192 <p>Copyright·©·1996-2025·<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.44 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/doc/html/megaco_udp.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>858 <p>Copyright·©·1996-2025·<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;
627 B
html2text {}
Max HTML report size reached
11.2 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.7.2/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="1906633258-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="1906633258-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="7753699495-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="7753699495-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="1399546589-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><s[·...·truncated·by·diffoscope;·len:·74,·SHA:·7203e09047217ff998884cb7a971d63a869c37418bb7fdd4a16a48f571a11653·...·]-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="1691373564-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><s[·...·truncated·by·diffoscope;·len:·74,·SHA:·002434fe669b1e167b8145ccbb8ef4e2f3f71869131aaaefc96247e7c7fa22fa·...·]-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="1124507353-1">(</span><span·class="p"·data-group-id="1124507353-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="1124507[·...·truncated·by·diffoscope;·len:·56,·SHA:·116b29422710f36c1598f2c1e0a89c7abf34cdbe1139868d48e753afc27d9613·...·]-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="2156934246-1">(</span><span·class="p"·data-group-id="2156934246-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="2156934[·...·truncated·by·diffoscope;·len:·56,·SHA:·1d2c5625a2b4d2544647c56025edbbcd926128a7952c61ad49ad89c493e336c7·...·]-2">}</span><span·class="w">
146 </span><span·class="nf">action_reply</span><span·class="p"·data-group-id="1124507353-3">(</span><span·class="p"·data-group-id="1124507353-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="112450735[·...·truncated·by·diffoscope;·len:·54,·SHA:·4c9305f8351ec71ea86cf404504e9e1ca5513ecc1675e094ecb67f0462d7fb13·...·]-4">}</span><span·class="w">146 </span><span·class="nf">action_reply</span><span·class="p"·data-group-id="2156934246-3">(</span><span·class="p"·data-group-id="2156934246-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="215693424[·...·truncated·by·diffoscope;·len:·54,·SHA:·3350a73cefdf42ace5659ae6214a84df572424a2e1206de171464d07cd05efbd·...·]-4">}</span><span·class="w">
147 </span><span·class="nf">error_desc</span><span·class="p"·data-group-id="1124507353-5">(</span><span·class="p"·data-group-id="1124507353-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="1124507353-6">{</span><span·class="p"·data-group-id="1124507353-6">}</span><span·class="w"> 
148 </span><span·class="nf">segment_no</span><span·class="p"·data-group-id="1124507353-7">(</span><span·class="p"·data-group-id="1124507353-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:·d4c36406e01282e97c4eb32701c65d5acb9a1cee4d864e9c3629553e05fe55e1·...·]147 </span><span·class="nf">error_desc</span><span·class="p"·data-group-id="2156934246-5">(</span><span·class="p"·data-group-id="2156934246-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:·50560eb69b7eb16394520aed048bdd2277b31fe7d1f40ebfca5c31f989740dfc·...·]
 148 </span><span·class="nf">segment_no</span><span·class="p"·data-group-id="2156934246-7">(</span><span·class="p"·data-group-id="2156934246-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="2156934246-8">(</span><span·class="p"·data-group-id="2156934246-8">)</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">conn_handle</span><span·class="p"·data-group-id="0192647766-1">(</span><span·class="p"·data-group-id="0192647766-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="0192647766-2">{</span><span·class="p"·data-group-id="0192647766-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1508 <p>Copyright·©·1996-2025·<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.7.2/doc/html/notes.html
    
Offset 1016, 15 lines modifiedOffset 1016, 15 lines modified
1016 ······<p·class="built-using">1016 ······<p·class="built-using">
1017 ········Built·using1017 ········Built·using
1018 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1018 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1019 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1019 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1020 ······</p>1020 ······</p>
1021 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1021 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1022 ····</footer>1022 ····</footer>
1023 ··</div>1023 ··</div>
1024 </main>1024 </main>
1025 </div>1025 </div>
1026 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1026 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1027 ··<script>1027 ··<script>
1028 ··let·initialized·=·false;1028 ··let·initialized·=·false;
589 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.23.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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/mnesia-4.23.5/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>204 <p>Copyright·©·1996-2025·<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.0 MB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.23.5/doc/html/mnesia.epub
3.96 KB
zipinfo {}
Max HTML report size reached
138 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·Jul·06·2026·03:08:36,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:36,·uncompressed·size·20,·method=store
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.2 KB
OEBPS/content.opf
Max HTML report size reached
52.2 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.23.5/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="7924926710-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7924926710-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="1267080807-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1267080807-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="7924926710-3">[</span><span·class="p"·data-group-id="7924926710-3">]</span><span·class="p"·data-group-id="7924926710-2">}</span><span·class="p"·data-group-id="7924926710-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="1267080807-3">[</span><span·class="p"·data-group-id="1267080807-3">]</span><span·class="p"·data-group-id="1267080807-2">}</span><span·class="p"·data-group-id="1267080807-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-15.2.7/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-15.2.7/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="0910293557-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="0910293557-2">(</span><span·class="p"·data-group-id="0910293557-2">)</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·102,·SHA:·054e0100f24a5ebc8e2a4a2ddae62da9db2ec6bfaa9e29424617005f1536c655·...·]-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="1050065483-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="1050065483-2">(</span><span·class="p"·data-group-id="1050065483-2">)</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·102,·SHA:·d379e146cc8208abffb2c4be8c2874208dbff74e738e5e2fbc329bae83953aa1·...·]-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="2877052051-1">(</span><span·class="ss">table</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2877052051-2">[</span><span·class="p"·data-group-id="2877052051-3">{</span><span·class="ss">ram_copies</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·689,·SHA:·182b5d2d714dae65b764499b1dd3510376f97af20458061e9abddedf127bb449·...·]-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="9392684966-1">(</span><span·class="ss">table</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9392684966-2">[</span><span·class="p"·data-group-id="9392684966-3">{</span><span·class="ss">ram_copies</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·689,·SHA:·b4f6422c29b5b809fcbfdf443269fdb717d0d0d4583b3f17cca9aefcd3eac6d2·...·]-6">}</span><span·class="p">,</span><span·class="w">
3040 ·······</span><span·class="p"·data-group-id="2877052051-8">{</span><span·class="ss">storage_properties</span><span·class="p">,</span><span·class="w">3040 ·······</span><span·class="p"·data-group-id="9392684966-8">{</span><span·class="ss">storage_properties</span><span·class="p">,</span><span·class="w">
3041 ········</span><span·class="p"·data-group-id="2877052051-9">[</span><span·class="p"·data-group-id="2877052051-10">{</span><span·class="ss">ets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2877052051-11">[</span><span·class="ss">compressed</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·872,·SHA:·d552c146bfa5080c80716b61f0455bb3a5ad2bbf3750eb610df11ec5571f1d7a·...·]-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="9392684966-9">[</span><span·class="p"·data-group-id="9392684966-10">{</span><span·class="ss">ets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9392684966-11">[</span><span·class="ss">compressed</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·872,·SHA:·1f2addb9e71caf82163ee943e035864ae5876845776cdf18aa1dc55cb081fffa·...·]-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="1796141225-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="1300785555-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">
3048 ····</span><span·class="p"·data-group-id="1796141225-2">[</span><span·class="p"·data-group-id="1796141225-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1796141225-4">[</span><span·class="n">N1</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·144,·SHA:·613d71bc195a9acbe63a49f90bdf2be462bb206e79bb7a09ba3eeb2bcd011529·...·]5-3">}</span><span·class="p">,</span><span·class="w">3048 ····</span><span·class="p"·data-group-id="1300785555-2">[</span><span·class="p"·data-group-id="1300785555-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1300785555-4">[</span><span·class="n">N1</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·144,·SHA:·ed17cb170d433f69737f0de85578c8b95e0bfc61c87a4a03cf0f9dbf5f916bce·...·]5-3">}</span><span·class="p">,</span><span·class="w">
3049 ·····</span><span·class="p"·data-group-id="1796141225-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="1796141225-6">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·242,·SHA:·559fe72c59fae6414c7f4074deb499d41d9eeab5089249b0c178a485332eb00c·...·]5-1">)</span><span·class="p">.</span></code></pre><p>If·it·is·required·that·Mnesia·must·build·and·maintain·an·extra·index·table·on3049 ·····</span><span·class="p"·data-group-id="1300785555-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="1300785555-6">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·242,·SHA:·99a8624ae11b48d99a174e81113ee7b4429909404904438b51c265a9f3adc9ec·...·]5-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="9110155535-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="7159701052-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">
3052 ····</span><span·class="p"·data-group-id="9110155535-2">[</span><span·class="p"·data-group-id="9110155535-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9110155535-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·ccf4882f94c1e64804ad867ced46bc4765653dd6f8a3b5888363f6bebdabcc66·...·]-3">}</span><span·class="p">,</span><span·class="w">3052 ····</span><span·class="p"·data-group-id="7159701052-2">[</span><span·class="p"·data-group-id="7159701052-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7159701052-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·d374325d26a0f37dd50efaa1676521a17fa3b2a65132e0f1c0875b4b71675544·...·]-3">}</span><span·class="p">,</span><span·class="w">
3053 ·····</span><span·class="p"·data-group-id="9110155535-5">{</span><span·class="ss">index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9110155535-6">[</span><span·class="ss">address</span><span·class="p"·data-group-id="9110155535-6">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·a7787387f96b87674dfc51afef81a784d0007ee4bb329e89e7f2ce3998105989·...·]-5">}</span><span·class="p">,</span><span·class="w">3053 ·····</span><span·class="p"·data-group-id="7159701052-5">{</span><span·class="ss">index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7159701052-6">[</span><span·class="ss">address</span><span·class="p"·data-group-id="7159701052-6">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·f0f291d8097f6b88920f93fe7333631b6c58e7e570f940d25803dd8fb4793c80·...·]-5">}</span><span·class="p">,</span><span·class="w">
3054 ·····</span><span·class="p"·data-group-id="9110155535-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="9110155535-8">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·244,·SHA:·4b4524f2a164848515c71b2d56264eeae3c8df05b66e42df65959bcc3033ade2·...·]-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="7159701052-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="7159701052-8">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·244,·SHA:·73abab198e0923a2af8871738e28dc94e887f095c7c450ec0506cb2fd3a23ffa·...·]-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-6.2.2/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-6.2.2/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-15.2.7/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-15.2.7/doc/html/index.html">ERTS</a>
5161 User's·Guide·and·the·<a·href="../../../../lib/stdlib-6.2.2/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="3453574710-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:·bef0fc53707205954ef0ff2df1095e90401d17ebcbfda0b0b1fb4162e2660bf2·...·]-1">}</span><span·class="p">,</span><span·class="w">5161 User's·Guide·and·the·<a·href="../../../../lib/stdlib-6.2.2/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="0538463081-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:·307bf3ff2887a396a5ff2d33ae4f5df8532a409a17e8316e8a7e5de8da8c75a5·...·]-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="3453574710-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="3453574[·...·truncated·by·diffoscope;·len:·3,·SHA:·4ec24a2d7f1dfae1f98882eabf0400cd9483dd2de78b926b625c46e8787f3816·...·]-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="0538463081-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="0538463[·...·truncated·by·diffoscope;·len:·3,·SHA:·8daea4d2b044cd2b5e634f1ecf141633c74d141aae20fc426945317f4f5f8177·...·]-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="3453574710-3">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="p"·data-group-id="3453574710-4">[</span><span·class="p"·data-group-id="3453574710-5">{</span><span·class="n">MatchHead</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·466,·SHA:·ce48a3704705f43e7ca679ea51975aad166e99983c303d7c378a8ca714378377·...·]-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="0538463081-3">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="p"·data-group-id="0538463081-4">[</span><span·class="p"·data-group-id="0538463081-5">{</span><span·class="n">MatchHead</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·466,·SHA:·19dee2fe6321ee921a1f36479985f23a2960d5ce8d24ccab41e1b7848860f6e3·...·]-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="7633221440-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="6381933779-1">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">
5443 ····</span><span·class="p"·data-group-id="7633221440-2">[</span><span·class="p"·data-group-id="7633221440-3">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7633221440-4">[</span><span·class="p"·data-group-id="7633221440-5">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7633221440-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="7633221440-6">}</span><span·class="p"·data-group-id="7633221440-5">}</span><span·class="p"·data-group-id="7633221440-4">]</span><span·class="p"·data-group-id="7633221440-3">}</span><span·class="p">,</span><span·class="w"> 
5444 ·····</span><span·class="p"·data-group-id="7633221440-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="7633221440-8">(</span><span·class="ss">fields</[·...·truncated·by·diffoscope;·len:·470,·SHA:·36b409fad18532f3678e3b32b90b9ea62d68fe2205e61737f30efcafd786f57c·...·]5443 ····</span><span·class="p"·data-group-id="6381933779-2">[</span><span·class="p"·data-group-id="6381933779-3">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6381933779-4">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·528,·SHA:·5b29f0acf792d6a0215222c5e82bf55609997096cf8fe268a2ffaea67eeccaac·...·]
 5444 ·····</span><span·class="p"·data-group-id="6381933779-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="6381933779-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="6381933779-8">)</span><span·class="p"·data-group-id="6381933779-7">}</span><span·class="p"·data-group-id="6381933779-2">]</span><span·class="p"·data-group-id="6381933779-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="2310616479-1">(</span><span·class="p"·data-group-id="2310616479-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:·a1ac839a404aba922c0914516ab3df333a5db64af9a26930c06f8a4012f4f313·...·]-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="9634360314-1">(</span><span·class="p"·data-group-id="9634360314-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:·7df75d0e2ab8ddcace4daa2ff364c3c5f6d69edf8de5f5552126c22c474af885·...·]-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="2310616479-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:·14dfd94da645534a093a1e9106cf763768666d1eea7b6f6d9a5140f19f6287f0·...·]-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="9634360314-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:·c9f41574e77545549a0b65b2352537c622931b670f7a1d7cfca5fcbbaa6a4068·...·]-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="2310616479-4">(</span><span·class="p"·data-group-id="2310616479-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="9634360314-4">(</span><span·class="p"·data-group-id="9634360314-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="2310616479-5">(</span><span·class="n">F</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="2310616479-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="2310616479-6">}</span><span·class="p"·data-group-id="2310616479-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="2310616479-7">(</span><span·class="n">M</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="2310616479-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:·4805f96bf6f508235684d09636d506e582230847e9eba6d8f3257526cac2e68f·...·]">)</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="9634360314-5">(</span><span·class="n">F</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="9634360314-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:·58f33f0adae82916b0eb38dc96bac5ee5bcc39f8378fa78b3c58b0d018d2e2af·...·]">)</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="9634360314-7">(</span><span·class="n">M</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="9634360314-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="9634360314-8">}</span><span·class="p"·data-group-id="9634360314-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="2310616479-9">(</span><span·class="n">Child</span><span·class="p"·data-group-id="2310616479-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:·a28c24a8c37a358cad17a0f089d9c9662be995ee2f07c468cb3dc76589918f45·...·]-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="9634360314-9">(</span><span·class="n">Child</span><span·class="p"·data-group-id="9634360314-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:·f6c243f953a0f2723e690b34c9b3f3e86e53fdf12496c981d3ebf88f01257556·...·]-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="2310616479-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="2310616479-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="9634360314-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="9634360314-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="2310616479-12">(</span><span·class="n">Trans</span><span·class="p"·data-group-id="2310616479-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="9634360314-12">(</span><span·class="n">Trans</span><span·class="p"·data-group-id="9634360314-12">)</span><span·class="p">.</span><span·class="w">
  
6023 </span><span·class="nf">oid</span><span·class="p"·data-group-id="2310616479-13">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="2310616479-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2310616479-14">{</span><span·class="nf">elemen[·...·truncated·by·diffoscope;·len:·542,·SHA:·c8140f2edaccc6108b6c00e4978eb4c296da199bb32f426aa5d938540e818af1·...·]-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="9634360314-13">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="9634360314-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9634360314-14">{</span><span·class="nf">elemen[·...·truncated·by·diffoscope;·len:·542,·SHA:·8d71af17b246882d895272a55c31696e8abacb5822acfffa1a0e67dd71d40c02·...·]-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
6026 formatted,·or·the·executing·process·terminates·because·of·an·<code·class="inline">'EXIT'</code>·signal6026 formatted,·or·the·executing·process·terminates·because·of·an·<code·class="inline">'EXIT'</code>·signal
Max diff block lines reached; 7899/52531 bytes (15.04%) of diff not shown.
769 B
html2text {}
Max HTML report size reached
65.9 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.23.5/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="6509256487-1">(</span><span·class="ss">mnesia_backup</span><span·class="p"·data-group-id="6509256487-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="9930586277-1">(</span><span·class="ss">mnesia_backup</span><span·class="p"·data-group-id="9930586277-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="6509256487-2">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="6509256487-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="9930586277-2">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="9930586277-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="6509256487-3">(</span><span·class="p"·data-group-id="6509256487-4">[</span><span·class="w">166 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9930586277-3">(</span><span·class="p"·data-group-id="9930586277-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="6509256487-4">]</span><span·class="p"·data-group-id="6509256487-3">)</span><span·class="p">.</span><span·class="w">176 ········</span><span·class="p"·data-group-id="9930586277-4">]</span><span·class="p"·data-group-id="9930586277-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="6509256487-5">(</span><span·class="ss">backup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6509256487-6">{</span><span·class="ss">tmp_file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file</[·...·truncated·by·diffoscope;·len:·179,·SHA:·9411422506346493bb2f2c10e4c2ad48ddfb042e87975fff5a91c02b891877c6·...·]7-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="9930586277-5">(</span><span·class="ss">backup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9930586277-6">{</span><span·class="ss">tmp_file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file</[·...·truncated·by·diffoscope;·len:·179,·SHA:·01732f0f60ce2a4fd634e45c22b7975fd2f45caf978f286eb926f0c0ce328ebb·...·]7-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="6509256487-7">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="6509256487-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="9930586277-7">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="9930586277-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="6509256487-8">(</span><span·class="p"·data-group-id="6509256487-9">[</span><span·class="n">File</span><span·class="p">,</span><span·class="s">&quot;.BUPTMP&quot;</span><span·class="p"·data-group-id="6509256487-9">]</span><span·class="p"·data-group-id="6509[·...·truncated·by·diffoscope;·len:·5,·SHA:·e07cb1b317c995c922d06694ef895e04964e5ba395caf61ac32a74d7c4ed1cb4·...·]7-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="9930586277-8">(</span><span·class="p"·data-group-id="9930586277-9">[</span><span·class="n">File</span><span·class="p">,</span><span·class="s">&quot;.BUPTMP&quot;</span><span·class="p"·data-group-id="9930586277-9">]</span><span·class="p"·data-group-id="9930[·...·truncated·by·diffoscope;·len:·5,·SHA:·7ad7eb68a52264a89a01b766c4bac8fe0f8964230db9c65db82ecd6e6b336f86·...·]7-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="6509256487-10">(</span><span·class="n">Tmp</span><span·class="p"·data-group-id="6509256487-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="9930586277-10">(</span><span·class="n">Tmp</span><span·class="p"·data-group-id="9930586277-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="6509256487-11">(</span><span·class="p"·data-group-id="6509256487-12">[</span><span·class="p"·data-group-id="6509256487-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:·131,·SHA:·832b59012dbba9be99fad6530929567d91cfe5c513107248236db76ef907ac8b·...·]7-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="9930586277-11">(</span><span·class="p"·data-group-id="9930586277-12">[</span><span·class="p"·data-group-id="9930586277-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:·131,·SHA:·060943b69ccfe28f31f3efab4a3cf5976ea0a23c6885564dc153bc86cf5890e8·...·]7-13">}</span><span·class="p">,</span><span·class="w">
188 ························</span><span·class="p"·data-group-id="6509256487-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="6509256487-15">}</span><span·class="p">,</span><span·class="w">188 ························</span><span·class="p"·data-group-id="9930586277-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="9930586277-15">}</span><span·class="p">,</span><span·class="w">
189 ························</span><span·class="p"·data-group-id="6509256487-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="6509256487-16">}</span><span·class="p">,</span><span·class="w">189 ························</span><span·class="p"·data-group-id="9930586277-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="9930586277-16">}</span><span·class="p">,</span><span·class="w">
190 ························</span><span·class="p"·data-group-id="6509256487-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="6509256487-18">(</span><span·class="p"·data-group-id="6509256487-18">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·129,·SHA:·22134331a91a0b4702cadca1679be2f83c682b6104be663aec0cfb4c8a335db5·...·]7-11">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">190 ························</span><span·class="p"·data-group-id="9930586277-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="9930586277-18">(</span><span·class="p"·data-group-id="9930586277-18">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·129,·SHA:·84dafb169cf1256222aa89ec292956ee1055419eab7be882402edba420fc118b·...·]7-11">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
191 ········</span><span·class="p"·data-group-id="6509256487-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="6509256487-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">191 ········</span><span·class="p"·data-group-id="9930586277-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="9930586277-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
192 ············</span><span·class="p"·data-group-id="6509256487-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="6509256487-21">{</span><span·class="ss">tmp_file</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·526,·SHA:·4dcdca700dbc5a2720324f7408b3608e0ba12a74d92fa007da65f7dde05c38ad·...·]7-20">}</span><span·class="p">;</span><span·class="w">192 ············</span><span·class="p"·data-group-id="9930586277-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="9930586277-21">{</span><span·class="ss">tmp_file</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·526,·SHA:·21ebb0e9faf934e4937b59decd5ad153d86e24cf029f86a7e083405b619d4045·...·]7-20">}</span><span·class="p">;</span><span·class="w">
193 ········</span><span·class="p"·data-group-id="6509256487-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="6509256487-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 ········</span><span·class="p"·data-group-id="9930586277-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="9930586277-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ············</span><span·class="p"·data-group-id="6509256487-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="6509256487-23">}</span><span·class="w">194 ············</span><span·class="p"·data-group-id="9930586277-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="9930586277-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="6509256487-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="6509256487-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="9930586277-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="9930586277-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="6509256487-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:·24,·SHA:·ecec5edbadfc9d94a0ba8d44af0b5529edb1c77d92f0736f2651ae138f268723·...·]7-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="9930586277-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:·24,·SHA:·97824914b94cc212332edaa52045150a7323f0abfe31460ce1a5cf15b71c747a·...·]7-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="6509256487-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="6509256487-26">}</span><span·class="p">;</span><span·class="w">203 ············</span><span·class="p"·data-group-id="9930586277-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="9930586277-26">}</span><span·class="p">;</span><span·class="w">
204 ········</span><span·class="p"·data-group-id="6509256487-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="6509256487-27">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 ········</span><span·class="p"·data-group-id="9930586277-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="9930586277-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="6509256487-28">(</span><span·class="n">B</span><span·class="p"·data-group-id="6509256487-28">)</span><span·class="p">,</span><span·class="w">205 ············</span><span·class="nf">abort_write</span><span·class="p"·data-group-id="9930586277-28">(</span><span·class="n">B</span><span·class="p"·data-group-id="9930586277-28">)</span><span·class="p">,</span><span·class="w">
206 ············</span><span·class="p"·data-group-id="6509256487-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="6509256487-29">}</span><span·class="w">206 ············</span><span·class="p"·data-group-id="9930586277-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="9930586277-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="6509256487-30">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="6509256487-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="9930586277-30">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="9930586277-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="6509256487-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="6509256487-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="9930586277-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="9930586277-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="6509256487-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="6509256487-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="9930586277-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="9930586277-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="6509256487-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="6509256487-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="9930586277-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="9930586277-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="6509256487-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:·119,·SHA:·beec1586176db2ad67b7702db0f736c32b446bb35f2233135ddf05a886c26cee·...·]7-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="9930586277-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:·119,·SHA:·2cca6f9e0b1b0a611c42ef069ad831777784a0131f8e9b2085e39dab50bd1814·...·]7-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="6509256487-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:·11,·SHA:·aae8aa5f2903f82263e2195501a6980ad5ed082af8b224364fffe7b4ef5541aa·...·]7-35">}</span><span·class="p">;</span><span·class="w">220 ····························</span><span·class="p"·data-group-id="9930586277-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:·11,·SHA:·1d0a9492e4b6262d40d20ad3bde4bcaf87691b5a6d2ae883474df4b63f3b5fc1·...·]7-35">}</span><span·class="p">;</span><span·class="w">
221 ························</span><span·class="p"·data-group-id="6509256487-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="6509256487-36">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">221 ························</span><span·class="p"·data-group-id="9930586277-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="9930586277-36">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
222 ····························</span><span·class="p"·data-group-id="6509256487-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="6509256487-37">}</span><span·class="w">222 ····························</span><span·class="p"·data-group-id="9930586277-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="9930586277-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="6509256487-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="6509256487-38">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 ················</span><span·class="p"·data-group-id="9930586277-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="9930586277-38">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ····················</span><span·class="p"·data-group-id="6509256487-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="6509256487-39">}</span><span·class="w">225 ····················</span><span·class="p"·data-group-id="9930586277-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="9930586277-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="6509256487-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="6509256487-40">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 ········</span><span·class="p"·data-group-id="9930586277-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="9930586277-40">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 ············</span><span·class="p"·data-group-id="6509256487-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="6509256487-41">}</span><span·class="w">228 ············</span><span·class="p"·data-group-id="9930586277-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="9930586277-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="6509256487-42">(</span><span·class="n">BackupRef</span><span·class="p"·data-group-id="6509256487-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="9930586277-42">(</span><span·class="n">BackupRef</span><span·class="p"·data-group-id="9930586277-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="6509256487-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="6509256487-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="9930586277-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="9930586277-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="6509256487-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="6509256487-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="9930586277-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="9930586277-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="6509256487-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:·19,·SHA:·4171c19b845e4648f778f89034b265f100edc4bf71430bf7eea6d5b98a194141·...·]7-45">}</span><span·class="p">;</span><span·class="w">238 ············</span><span·class="p"·data-group-id="9930586277-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:·19,·SHA:·6dd01b646799584ac978dd03af45a3a9a40c8126ae746ef24d4f3d526f027018·...·]7-45">}</span><span·class="p">;</span><span·class="w">
239 ········</span><span·class="p"·data-group-id="6509256487-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="6509256487-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">239 ········</span><span·class="p"·data-group-id="9930586277-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="9930586277-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ············</span><span·class="p"·data-group-id="6509256487-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="6509256487-47">}</span><span·class="w">240 ············</span><span·class="p"·data-group-id="9930586277-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="9930586277-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="6509256487-48">(</span><span·class="ss">restore</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6509256487-49">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file_de[·...·truncated·by·diffoscope;·len:·179,·SHA:·0a53fddffcce0b60950ce4ef455fb85118f935c5e44b6eee84a4838cc522b6f8·...·]7-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="9930586277-48">(</span><span·class="ss">restore</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9930586277-49">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file_de[·...·truncated·by·diffoscope;·len:·179,·SHA:·0fd1ffad082a487dac976bbc221a106814a4f0bf30e9a2951083ca63a89bdc4c·...·]7-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="6509256487-50">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="6509256487-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="9930586277-50">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="9930586277-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="6509256487-51">(</span><span·class="n">File</span><span·class="p"·data-group-id="6509256487-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="9930586277-51">(</span><span·class="n">File</span><span·class="p"·data-group-id="9930586277-51">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
252 ········</span><span·class="p"·data-group-id="6509256487-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="6509256487-52">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">252 ········</span><span·class="p"·data-group-id="9930586277-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="9930586277-52">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
253 ············</span><span·class="p"·data-group-id="6509256487-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="6509256487-53">}</span><span·class="p">;</span><span·class="w">253 ············</span><span·class="p"·data-group-id="9930586277-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="9930586277-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="6509256487-54">(</span><span·class="p"·data-group-id="6509256487-55">[</span><span·class="p"·data-group-id="6509256487-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:·18,·SHA:·276afa53fb5225ba7787a48e91fc407fb0a99915eec0048c6f3a6b3096b2d6d7·...·]7-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="9930586277-54">(</span><span·class="p"·data-group-id="9930586277-55">[</span><span·class="p"·data-group-id="9930586277-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:·18,·SHA:·6d3c81dac410e329eee2ec0e3ebac5e3b2b7cf5d6c373df85228b9943aece7fa·...·]7-56">}</span><span·class="p">,</span><span·class="w">
256 ································</span><span·class="p"·data-group-id="6509256487-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="6509256487-58">(</span><span·class="p"·data-group-id="6509256487-58">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·b2fd779555cceef7eb55b477daa22d6b502b25dc8fde2ef903c0f2bad75159f4·...·]7-57">}</span><span·class="p">,</span><span·class="w">256 ································</span><span·class="p"·data-group-id="9930586277-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="9930586277-58">(</span><span·class="p"·data-group-id="9930586277-58">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·f7f905f3b4bc13140f3106f4938e3914aeab17023898a8816599247360e35cf3·...·]7-57">}</span><span·class="p">,</span><span·class="w">
257 ································</span><span·class="p"·data-group-id="6509256487-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="6509256487-59">}</span><span·class="p">,</span><span·class="w">257 ································</span><span·class="p"·data-group-id="9930586277-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="9930586277-59">}</span><span·class="p">,</span><span·class="w">
258 ································</span><span·class="p"·data-group-id="6509256487-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="6509256487-60">}</span><span·class="p">,</span><span·class="w">258 ································</span><span·class="p"·data-group-id="9930586277-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="9930586277-60">}</span><span·class="p">,</span><span·class="w">
259 ································</span><span·class="p"·data-group-id="6509256487-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="6509256487-62">(</span><span·class="p"·data-group-id="6509256487-62">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·129,·SHA:·87279b727045ffca10b71cf4af61d38fcd6af901b410cbce013a730308864bd6·...·]7-54">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">259 ································</span><span·class="p"·data-group-id="9930586277-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="9930586277-62">(</span><span·class="p"·data-group-id="9930586277-62">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·129,·SHA:·9bd868651fda3f8c2704dbdee44a2a430a735cade6e10817979bfe37e0c2e807·...·]7-54">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
260 ················</span><span·class="p"·data-group-id="6509256487-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="6509256487-63">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">260 ················</span><span·class="p"·data-group-id="9930586277-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="9930586277-63">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 ····················</span><span·class="p"·data-group-id="6509256487-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="6509256487-65">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·526,·SHA:·c35ba163d80e645023c89eb41f5dbab3dfcbbb4dab8de809b368596412835a98·...·]7-64">}</span><span·class="p">;</span><span·class="w">261 ····················</span><span·class="p"·data-group-id="9930586277-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="9930586277-65">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·526,·SHA:·632f952e77308f01cefb05dfcd7ed88e3761d83071da2acf79c6e4a248a28818·...·]7-64">}</span><span·class="p">;</span><span·class="w">
262 ················</span><span·class="p"·data-group-id="6509256487-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:·245,·SHA:·bd2e78f40993cfe16072d72d8ba1c5722dc3ca1c9e3a169d3062357277020515·...·]7-66">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">262 ················</span><span·class="p"·data-group-id="9930586277-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:·245,·SHA:·11d393bd8b02ea75f68fd85957cddbe25805af723f94dc02019151411dbfb8a8·...·]7-66">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
263 ····················</span><span·class="p"·data-group-id="6509256487-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="6509256487-69">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·526,·SHA:·db40d25527ffbc1475566fce93beb17e74579e3b2aaea01df14e57f83ba3fa0f·...·]7-68">}</span><span·class="p">;</span><span·class="w">263 ····················</span><span·class="p"·data-group-id="9930586277-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="9930586277-69">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·526,·SHA:·e268967436388488b3f723e5efbeb8a604653aa0c8a70a867f7b00a84d8af415·...·]7-68">}</span><span·class="p">;</span><span·class="w">
264 ················</span><span·class="p"·data-group-id="6509256487-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:·56,·SHA:·05b6194725b3a046ff71bc16fb2dd013eea3f6c329584ecd8fc54577244b232f·...·]7-70">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">264 ················</span><span·class="p"·data-group-id="9930586277-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:·56,·SHA:·2399ee597f22737f1130fe43a58f24da4b594fa19360f3cbbcc73639f582674d·...·]7-70">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
265 ····················</span><span·class="p"·data-group-id="6509256487-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="6509256487-72">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·526,·SHA:·b73e4dc30341edf525c921276774e380ef8e6e217761fe6f3b664ee7f0790805·...·]7-71">}</span><span·class="p">;</span><span·class="w">265 ····················</span><span·class="p"·data-group-id="9930586277-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="9930586277-72">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·526,·SHA:·fed537b180a8293c5a43f60b9c195772375b781fa0e1a57431152fb33bd0ca41·...·]7-71">}</span><span·class="p">;</span><span·class="w">
266 ················</span><span·class="p"·data-group-id="6509256487-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="6509256487-73">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">266 ················</span><span·class="p"·data-group-id="9930586277-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="9930586277-73">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
267 ····················</span><span·class="p"·data-group-id="6509256487-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="6509256487-74">}</span><span·class="w">267 ····················</span><span·class="p"·data-group-id="9930586277-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="9930586277-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.23.5/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="9368377809-1">(</span><span·class="ss">mnesia_frag</span><span·class="p"·data-group-id="9368377809-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="6366245361-1">(</span><span·class="ss">mnesia_frag</span><span·class="p"·data-group-id="6366245361-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="9368377809-2">(</span><span·class="p"·data-group-id="9368377809-3">[</span><span·class="w">135 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6366245361-2">(</span><span·class="p"·data-group-id="6366245361-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="9368377809-3">]</span><span·class="p"·data-group-id="9368377809-2">)</span><span·class="p">.</span><span·class="w">144 ········</span><span·class="p"·data-group-id="6366245361-3">]</span><span·class="p"·data-group-id="6366245361-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="9368377809-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="9368377809-5">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·277,·SHA:·43a6bbc357275e683145da1a44865a8183f6830882d4375c355974142af7a030·...·]-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="6366245361-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="6366245361-5">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·277,·SHA:·cef39da0f34abf0820296a81a295b6f259027be2d0ff2443f288533b4f4ead84·...·]-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="9368377809-6">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="9368377809-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="6366245361-6">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="6366245361-6">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
150 ········</span><span·class="p"·data-group-id="9368377809-7">[</span><span·class="n">Tab</span><span·class="p"·data-group-id="9368377809-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">150 ········</span><span·class="p"·data-group-id="6366245361-7">[</span><span·class="n">Tab</span><span·class="p"·data-group-id="6366245361-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="9368377809-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="9368377809-9">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·253,·SHA:·b04e7fc0238dd766ecbf8157d39f0c2235cff81576ef5babe787757234af9560·...·]-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="6366245361-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="6366245361-9">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·253,·SHA:·d2b2094e4658a70cd4d0df973e5adb04298e8ea95e7ca348863ac7aacea32726·...·]-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="9368377809-10">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="9368377809-11">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">[·...·truncated·by·diffoscope;·len:·390,·SHA:·f76f3aec23eea9079ea53442bc42c983d38295ce8ddbd38ba4f748fdc2bbacfe·...·]-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="6366245361-10">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="6366245361-11">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">[·...·truncated·by·diffoscope;·len:·390,·SHA:·c013596785f440d2d3bd7925e025eb0ab2c412efff410adf807adfe876ce9c7e·...·]-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="9368377809-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="6366245361-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="9368377809-13">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="9368377809-14">(</span><span·class="n">DeepNs</span><span·class="p"·data-group-id="9368377809-14">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·cb798ea144b5d333f8872e6957e53a9725c9ec1b0f0f2fe3dfd9854624740119·...·]-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="6366245361-13">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="6366245361-14">(</span><span·class="n">DeepNs</span><span·class="p"·data-group-id="6366245361-14">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·40a2bd1a58ca69380688f44d03f9835b5b27b07f3c751628f2aafab2ca154f4c·...·]-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="9368377809-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:·12b8fb11244611636b5fe0daa1dee3e007fb0316e9f1ad7c1661813f6d1aa051·...·]-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="6366245361-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:·c899e05afe9794556d4871f91e1f18ea9c936eef7bc7261c423df99883a08a7f·...·]-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="9368377809-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:·12b8fb11244611636b5fe0daa1dee3e007fb0316e9f1ad7c1661813f6d1aa051·...·]-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="6366245361-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:·c899e05afe9794556d4871f91e1f18ea9c936eef7bc7261c423df99883a08a7f·...·]-16">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">write</span><span·class="p"·data-group-id="9368377809-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:·a2f727c2621cd6938d7a767204ff67304fdf6469d84ee0d573c71827adaa2b7e·...·]-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="6366245361-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:·2843dd77ab05c005a4bcca4bdbdf3eed27dc7bb05ac118b618d3bd75768cbba1·...·]-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="9368377809-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="9368377809-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="6366245361-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="6366245361-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="9368377809-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:·e0758f017495d8988a43277da64c4abf063ead8bc2a0d5ab1f94b8f7e9d6ebb9·...·]-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="6366245361-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:·91f4dd2ff2a3003f022b60b9e3041d0e536dc187e74ef2ec299a218d2b4e312d·...·]-19">)</span><span·class="p">.</span><span·class="w">
  
162 </span><span·class="nf">delete</span><span·class="p"·data-group-id="9368377809-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:·cfaca486c6ce803620d31bf5bba815ff36f28eca09a8e65ff642c9ec9e9a9128·...·]-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="6366245361-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:·a3e2eba0b25df2d279156c982091675c4c43dd0f142cd5f30af070569d98af2c·...·]-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="9368377809-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="9368377809-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="6366245361-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="6366245361-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="9368377809-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:·b39e849023bd9b63418fafbc219e5a67ff065b4401fe9088e8582670224cf895·...·]-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="6366245361-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:·f4debc51f0535db5fc683771ad0c0b9358105eeb04e419829992b15802baa7a8·...·]-22">)</span><span·class="p">.</span><span·class="w">
  
165 </span><span·class="nf">delete_object</span><span·class="p"·data-group-id="9368377809-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:·a2f727c2621cd6938d7a767204ff67304fdf6469d84ee0d573c71827adaa2b7e·...·]-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="6366245361-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:·2843dd77ab05c005a4bcca4bdbdf3eed27dc7bb05ac118b618d3bd75768cbba1·...·]-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="9368377809-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="9368377809-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="6366245361-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="6366245361-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="9368377809-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:·e0758f017495d8988a43277da64c4abf063ead8bc2a0d5ab1f94b8f7e9d6ebb9·...·]-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="6366245361-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:·91f4dd2ff2a3003f022b60b9e3041d0e536dc187e74ef2ec299a218d2b4e312d·...·]-25">)</span><span·class="p">.</span><span·class="w">
  
168 </span><span·class="nf">read</span><span·class="p"·data-group-id="9368377809-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:·cfaca486c6ce803620d31bf5bba815ff36f28eca09a8e65ff642c9ec9e9a9128·...·]-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="6366245361-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:·a3e2eba0b25df2d279156c982091675c4c43dd0f142cd5f30af070569d98af2c·...·]-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="9368377809-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="9368377809-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="6366245361-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="6366245361-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="9368377809-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:·b39e849023bd9b63418fafbc219e5a67ff065b4401fe9088e8582670224cf895·...·]-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="6366245361-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:·f4debc51f0535db5fc683771ad0c0b9358105eeb04e419829992b15802baa7a8·...·]-28">)</span><span·class="p">.</span><span·class="w">
  
171 </span><span·class="nf">match_object</span><span·class="p"·data-group-id="9368377809-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:·0d2ecdf25cf25a2a9cc40771d30cf44260e20fdf29e673e77c20f48b4cccd661·...·]-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="6366245361-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:·d248c6435698dca1446202f4093387d8b4f3679912f242d92a966d6e54ea2c08·...·]-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="9368377809-30">[</span><span·class="p"·data-group-id="9368377809-31">{</span><span·class="n">HeadPat</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9368377809-32">[</span><span·class="p"·data-group-id="9368377809-32">][·...·truncated·by·diffoscope;·len:·294,·SHA:·8a8b977a4c498764dae96a133cb1f6f24008d7d763cda795333aad521cfa632d·...·]-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="6366245361-30">[</span><span·class="p"·data-group-id="6366245361-31">{</span><span·class="n">HeadPat</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6366245361-32">[</span><span·class="p"·data-group-id="6366245361-32">][·...·truncated·by·diffoscope;·len:·294,·SHA:·0285c5a82834928ce5d4dab80994065814cd42765431d72e75bb7bcde1fbd587·...·]-30">]</span><span·class="p">,</span><span·class="w">
173 ····</span><span·class="nf">select</span><span·class="p"·data-group-id="9368377809-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:·06c6b2ac42625a8db0483adeb9d663bca223abadf1c95b8d49859827ef266002·...·]-34">)</span><span·class="p">.</span><span·class="w">173 ····</span><span·class="nf">select</span><span·class="p"·data-group-id="6366245361-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:·ecb0f182c3ee9c8151dd79e34bfbd31711b50679967c0248cc4a2073f282ce44·...·]-34">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">select</span><span·class="p"·data-group-id="9368377809-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:·06c6b2ac42625a8db0483adeb9d663bca223abadf1c95b8d49859827ef266002·...·]-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="6366245361-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:·ecb0f182c3ee9c8151dd79e34bfbd31711b50679967c0248cc4a2073f282ce44·...·]-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="9368377809-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:·06c6b2ac42625a8db0483adeb9d663bca223abadf1c95b8d49859827ef266002·...·]-36">)</span><span·class="p">.</span><span·class="w">175 ····</span><span·class="nf">do_select</span><span·class="p"·data-group-id="6366245361-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:·ecb0f182c3ee9c8151dd79e34bfbd31711b50679967c0248cc4a2073f282ce44·...·]-36">)</span><span·class="p">.</span><span·class="w">
  
  
176 </span><span·class="nf">select</span><span·class="p"·data-group-id="9368377809-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:·89e1569302cedf3581cfa1bf6234e3a45ac498d7daf34a0ed510d28307a30cba·...·]-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="6366245361-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:·3026bd1d47aacd97b8d1144c9c8f5968cc0a9ec0d75ca7f62b3efa31b7346929·...·]-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="9368377809-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:·89e1569302cedf3581cfa1bf6234e3a45ac498d7daf34a0ed510d28307a30cba·...·]-38">)</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="nf">init_select</span><span·class="p"·data-group-id="6366245361-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:·3026bd1d47aacd97b8d1144c9c8f5968cc0a9ec0d75ca7f62b3efa31b7346929·...·]-38">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="9368377809-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="9368377809-40">{</span><span·class="ss">frag_cont</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·370,·SHA:·e97ab83a0a89cafe6c6bdac7b2041284430bf6ad6f3e3ee7cb8cbfc247587a42·...·]-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="6366245361-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="6366245361-40">{</span><span·class="ss">frag_cont</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·370,·SHA:·f83fc84e52b2fcd8bf9920ac3e8a78738479460798ab040b6e89c86039ccb9fd·...·]-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="9368377809-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="9368377809-43">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·637,·SHA:·e895d7eb858d6b1e987974f7d99f25597314f4232f5a07559cfddca96b83d808·...·]-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="6366245361-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="6366245361-43">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·637,·SHA:·53350529a6a83e3dca38d479d48f621245a3369be2d5a13b349d41d63d53fa18·...·]-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="9368377809-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="9368377809-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="6366245361-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="6366245361-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="9368377809-47">(</span><span·class="n">FixedSpec</span><span·class="p"·data-group-id="9368377809-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:·a5a41bf80c7119c750bb4d004965f87c3d91d6a8cf0861a35957e3eab7190134·...·]-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="6366245361-47">(</span><span·class="n">FixedSpec</span><span·class="p"·data-group-id="6366245361-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:·db0c05c6f580ff83191f82b8effb0957cf5010e5a7c0ca8d68bf28bf17d9297c·...·]-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="9368377809-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:·f0e8290d2293fbee8509da8d31c1fcc07024adacc8913cfec8d155d84040fc93·...·]-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="6366245361-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:·57ab5a1ea307dbd62e17512d940e0ae87cc5e8d3b9357b344e349dfe7002914f·...·]-49">)</span><span·class="p">,</span><span·class="w">
183 ····</span><span·class="nf">frag_sel_cont</span><span·class="p"·data-group-id="9368377809-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="9368377809-50">)</span><span·class="p">;</span><span·class="w">183 ····</span><span·class="nf">frag_sel_cont</span><span·class="p"·data-group-id="6366245361-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="6366245361-50">)</span><span·class="p">;</span><span·class="w">
184 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="9368377809-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="9368377809-52">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·273,·SHA:·c1ba1d620ce7bc30260504aa1fe1deb2cf6bf46f93eace38557368cdc9c30614·...·]-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="6366245361-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="6366245361-52">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·273,·SHA:·0d8efb85ae3854f8cb7730f8267da6ef3caef7750b6394d693570d63d5e91e76·...·]-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="9368377809-53">(</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">select_cont</span><span·class="p"·data-group-id="9368377809-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:·e6220436da0d2ce6b7a141ce63d8ba5de92e4ed1baa64d3b7e636d931a1e44a4·...·]-53">)</span><span·class="p">;</span><span·class="w">185 ····</span><span·class="nf">frag_sel_cont</span><span·class="p"·data-group-id="6366245361-53">(</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">select_cont</span><span·class="p"·data-group-id="6366245361-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:·32d85cc24e875f1c58d7e36bf41838b923839cd63909e65ffa6622e2de6f5083·...·]-53">)</span><span·class="p">;</span><span·class="w">
186 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="9368377809-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="9368377809-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="6366245361-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="6366245361-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="9368377809-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="9368377809-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="6366245361-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="6366245361-56">)</span><span·class="p">.</span><span·class="w">
  
188 </span><span·class="nf">all_keys</span><span·class="p"·data-group-id="9368377809-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:·05c86342fd776fe32fcace6dbb7a7dd7c6ee501865930b9c1f4ff327087cba21·...·]-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="6366245361-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:·0c2174883a633f3542d235fe695aff56d4a56e47a500e77830f7e760621e7980·...·]-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="9368377809-58">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">all_keys</span><span·class="p"·data-group-id="9368377809-59">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·212,·SHA:·6470b163b3480d594f8a00c87b4ce97759019b0662129dffc9d4e775a5a668ca·...·]-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="6366245361-58">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">all_keys</span><span·class="p"·data-group-id="6366245361-59">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·212,·SHA:·23e12298b7be8f9896c20aca305d92effdf608a292f0ca971b0431eea19d648e·...·]-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="9368377809-60">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="9368377809-60">)</span><span·class="p"·data-group-id="9368377809-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="6366245361-60">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="6366245361-60">)</span><span·class="p"·data-group-id="6366245361-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="9368377809-61">(</span><span·class="n">Match</span><span·class="p"·data-group-id="9368377809-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="6366245361-61">(</span><span·class="n">Match</span><span·class="p"·data-group-id="6366245361-61">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="nf">clear_table</span><span·class="p"·data-group-id="9368377809-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:·26f016323d262df0b19829a8224ddb90673ef562a9a860b4782fab293ba3d3b4·...·]-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="6366245361-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:·fbbaafc661d11a8b469dd60990e21c2fedda2d46b7befa08ff92f05321bf0e22·...·]-62">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="9368377809-63">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">clear_table</span><span·class="p"·data-group-id="9368377809-64">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·609,·SHA:·103da821439686734e02bf2582a1600cb4f7eb67b40f81ea15b6089dee23aba4·...·]-63">]</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="p"·data-group-id="6366245361-63">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">clear_table</span><span·class="p"·data-group-id="6366245361-64">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·609,·SHA:·3e06ebca5dbf69e88e4160e06bbcb8b2080b369dcf8655df4c47d4e24b28c858·...·]-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="9368377809-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:·4b91e825af402a357a31e58ef89a89ebbab8d5d41b2663840c720d10d9cf6050·...·]-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="6366245361-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:·c19c433c74785f7ac5e89ae30f4fb9a8f2211ad8093720f6e2af9a04c8c11cb2·...·]-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="9368377809-67">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_match_object</span><span·class="p"·data-group-id="9368377809-68">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·371,·SHA:·839c38551a666845813d4a95881a6f7475b816a375aa2906c50bea1ba24824b7·...·]-68">)</span><span·class="w">197 ········</span><span·class="p"·data-group-id="6366245361-67">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_match_object</span><span·class="p"·data-group-id="6366245361-68">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·371,·SHA:·6a58305b672485424a1406f81d6441342166726d9428e12c1b5247b47ed12051·...·]-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="9368377809-69">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="9368377809-69">)</span><span·class="p"·data-group-id="9368377809-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="6366245361-69">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="6366245361-69">)</span><span·class="p"·data-group-id="6366245361-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="9368377809-70">(</span><span·class="n">Match</span><span·class="p"·data-group-id="9368377809-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="6366245361-70">(</span><span·class="n">Match</span><span·class="p"·data-group-id="6366245361-70">)</span><span·class="p">.</span><span·class="w">
  
200 </span><span·class="nf">index_read</span><span·class="p"·data-group-id="9368377809-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:·7a37275f77386cc69abab0b9668d917ff23c1dc804c916a4cc6d73d10de87a4a·...·]-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="6366245361-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:·da358f8b8ea0e59abc5dd1fff4043f96201196fc7bc4a5da42bd68fb533d6646·...·]-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="9368377809-72">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_read</span><span·class="p"·data-group-id="9368377809-73">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·363,·SHA:·ee1e27c22e880321dcc66160cbe02be73a279fb99c3fc94c437e9ced268b21f5·...·]-73">)</span><span·class="w">202 ········</span><span·class="p"·data-group-id="6366245361-72">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_read</span><span·class="p"·data-group-id="6366245361-73">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·363,·SHA:·8c68c5f950e840f95ce565568a95259912a85f8ec29ff6608e6ae10379d32d70·...·]-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="9368377809-74">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="9368377809-74">)</span><span·class="p"·data-group-id="9368377809-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="6366245361-74">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="6366245361-74">)</span><span·class="p"·data-group-id="6366245361-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="9368377809-75">(</span><span·class="n">Match</span><span·class="p"·data-group-id="9368377809-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="6366245361-75">(</span><span·class="n">Match</span><span·class="p"·data-group-id="6366245361-75">)</span><span·class="p">.</span><span·class="w">
  
205 </span><span·class="nf">foldl</span><span·class="p"·data-group-id="9368377809-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:·3a71ed8c295eec573d960f35ae0c53f6813a9d83e008356a8576dab5c3f35886·...·]-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="6366245361-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:·9a77e08d6531905c3051d6e9c221bd61d8870be67b56f8fab96ce134c56f5828·...·]-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="9368377809-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="9368377809-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="6366245361-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="6366245361-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="9368377809-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:·4f6529ad9f4b498637acd838826456c309cebcb852359a439c4bf33f71dda94f·...·]-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="6366245361-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:·eda6cf1c949943241a5a029bddb580d10d8f9f1405fd8cc020e210ec1a02c769·...·]-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="9368377809-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="9368377809-80">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·81a0a191b4db3b3dcc9e12be1ff7219c6266fa258c20baeb982ccd23b01ca064·...·]-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="6366245361-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="6366245361-80">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·edff192c752fa3887ea94491212d11ba4ca87af250dd44ea99a664de74fdd6fa·...·]-79">)</span><span·class="p">.</span><span·class="w">
  
210 </span><span·class="nf">foldr</span><span·class="p"·data-group-id="9368377809-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:·3a71ed8c295eec573d960f35ae0c53f6813a9d83e008356a8576dab5c3f35886·...·]-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="6366245361-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:·9a77e08d6531905c3051d6e9c221bd61d8870be67b56f8fab96ce134c56f5828·...·]-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="9368377809-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="9368377809-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="6366245361-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="6366245361-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="9368377809-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:·4f6529ad9f4b498637acd838826456c309cebcb852359a439c4bf33f71dda94f·...·]-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="6366245361-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:·eda6cf1c949943241a5a029bddb580d10d8f9f1405fd8cc020e210ec1a02c769·...·]-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="9368377809-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="9368377809-85">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·20c165fba127907b1b735d0a5f530a0cf7a6309aa23a179c76dd0be882e07a50·...·]-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="6366245361-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="6366245361-85">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·4a97eefd6239fd22037f6c44fc8c5098043d13b5290c914b21d4c2ff5e5a6373·...·]-84">)</span><span·class="p">.</span><span·class="w">
  
215 </span><span·class="nf">table_info</span><span·class="p"·data-group-id="9368377809-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="9368377809-87">{</span><span·class="n">Tab</[·...·truncated·by·diffoscope;·len:·249,·SHA:·af180f9a8cc11926994d5e5094dca1b6418be4e7a5f817a926f0725b682dd6bc·...·]-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="6366245361-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="6366245361-87">{</span><span·class="n">Tab</[·...·truncated·by·diffoscope;·len:·249,·SHA:·3bc0f7a119693b512f02922b4047138a5a7c473381b30d821ff8dff92fe3e0a4·...·]-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="9368377809-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="9368377809-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="6366245361-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="6366245361-88">)</span><span·class="p">,</span><span·class="w">
217 ····</span><span·class="nf">table_info2</span><span·class="p"·data-group-id="9368377809-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:·6ad25cd88fa3e3c8d35028fd33ae33ea01f3903004d09bc7dadf95a4201e812b·...·]-89">)</span><span·class="p">;</span><span·class="w">217 ····</span><span·class="nf">table_info2</span><span·class="p"·data-group-id="6366245361-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:·20bfa8e3596a76a51d59024735ab1a4b0ba3401621a24e33ba9eb667acba0dac·...·]-89">)</span><span·class="p">;</span><span·class="w">
218 </span><span·class="nf">table_info</span><span·class="p"·data-group-id="9368377809-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:·3138f38eec23c8d626c64cef0050a824dc63bb08797caf53db2765bc829b246e·...·]-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="6366245361-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:·c45d4f7416d3ba3dbd29944cdf52e1f1974ddffa99beed06980d247beed43fa5·...·]-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="9368377809-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:·5f10d40af3388ae86a7d7e8aecc6de94ed34aa15026f2c8313f19e53bc98dc3c·...·]-91">)</span><span·class="p">.</span><span·class="w">219 ····</span><span·class="nf">table_info2</span><span·class="p"·data-group-id="6366245361-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:·f55659c6665a7687d63d4d1b7e30142bbbf4c0ad4ad462adb181c277b3fef8b0·...·]-91">)</span><span·class="p">.</span><span·class="w">
  
220 </span><span·class="nf">table_info2</span><span·class="p"·data-group-id="9368377809-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:·6ad25cd88fa3e3c8d35028fd33ae33ea01f3903004d09bc7dadf95a4201e812b·...·]-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="6366245361-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:·20bfa8e3596a76a51d59024735ab1a4b0ba3401621a24e33ba9eb667acba0dac·...·]-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="9368377809-93">(</span><span·class="p"·data-group-id="9368377809-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="9368377809-94">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·53aabbeef2b23f3f7c1e27c88945bbb45c59c537e40848049f3edd37fccf402a·...·]-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="6366245361-93">(</span><span·class="p"·data-group-id="6366245361-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="6366245361-94">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·3bc8841acbf51673225c07e8c0837a1aae511ce26f236922bd2ac9f8e96b3cd3·...·]-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="9368377809-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="9368377809-96">(</s[·...·truncated·by·diffoscope;·len:·283,·SHA:·df6c72b69eb24df702859f77dfd2286c208ab8b2eb575d10eb1c1ac667e42f65·...·]-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="6366245361-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="6366245361-96">(</s[·...·truncated·by·diffoscope;·len:·283,·SHA:·ff18d88d4c6423bba48e678eb6cbbd9a188e00691fbbf1c7680441920567282d·...·]-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="9368377809-97">(</span><span·class="p"·data-group-id="9368377809-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="9368377809-98">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·53aabbeef2b23f3f7c1e27c88945bbb45c59c537e40848049f3edd37fccf402a·...·]-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="6366245361-97">(</span><span·class="p"·data-group-id="6366245361-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="6366245361-98">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·3bc8841acbf51673225c07e8c0837a1aae511ce26f236922bd2ac9f8e96b3cd3·...·]-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="9368377809-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="9368377809-100">([·...·truncated·by·diffoscope;·len:·287,·SHA:·3e97d6dd37396eab454ee659e220315f4e9798bb8b1d4a76119aa63d98b60d02·...·]-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="6366245361-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="6366245361-100">([·...·truncated·by·diffoscope;·len:·287,·SHA:·3387a945ede2480664b21a310f0a9a154c0069950e6b2240e01b5c7b2df1cd1d·...·]-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="9368377809-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="9368377809-101">)</span><span·class="p">;</span><span·class="w">229 ············</span><span·class="nf">lookup_prop</span><span·class="p"·data-group-id="6366245361-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="6366245361-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="9368377809-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="9368377809-102">)</span><span·class="p">;</span><span·class="w">231 ············</span><span·class="nf">lookup_prop</span><span·class="p"·data-group-id="6366245361-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="6366245361-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.23.5/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="6625952085-1">(</span><span·class="ss">mnesia_frag_hash</span><span·class="p"·data-group-id="6625952085-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="1301987612-1">(</span><span·class="ss">mnesia_frag_hash</span><span·class="p"·data-group-id="1301987612-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="6625952085-2">(</span><span·class="p"·data-group-id="6625952085-3">[</span><span·class="p"·data-group-id="6625952085-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:·461,·SHA:·ff2973d6cc29977523cec6823208017c0f452bbc064d508321f826e6010053a1·...·]-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="1301987612-2">(</span><span·class="p"·data-group-id="1301987612-3">[</span><span·class="p"·data-group-id="1301987612-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:·461,·SHA:·58e802a27c199833b138b0466c6743fc2c8f0e44208cbba75ffb516e42d439aa·...·]-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="6625952085-7">(</span><span·class="p"·data-group-id="6625952085-8">[</span><span·class="w">136 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1301987612-7">(</span><span·class="p"·data-group-id="1301987612-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="6625952085-8">]</span><span·class="p"·data-group-id="6625952085-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="2142489391-1">(</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="w">142 ········</span><span·class="p"·data-group-id="1301987612-8">]</span><span·class="p"·data-group-id="1301987612-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="2179282485-1">(</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="w">
143 ····</span><span·class="p"·data-group-id="2142489391-2">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="w">143 ····</span><span·class="p"·data-group-id="2179282485-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="2142489391-2">}</span><span·class="p"·data-group-id="2142489391-1">)</span><span·class="p">.</span><span·class="w">146 ·····</span><span·class="ss">function</span><span·class="p"·data-group-id="2179282485-2">}</span><span·class="p"·data-group-id="2179282485-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="2142489391-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="2142489391-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="2179282485-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="2179282485-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="2142489391-4">(</span><span·class="p"·data-group-id="2142489391-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="2179282485-4">(</span><span·class="p"·data-group-id="2179282485-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="2142489391-5">(</span><span·class="p"·data-group-id="2142489391-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="2179282485-5">(</span><span·class="p"·data-group-id="2179282485-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="2142489391-6">(</span><span·class="p"·data-group-id="2142489391-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="2179282485-6">(</span><span·class="p"·data-group-id="2179282485-6">)</span><span·class="p">.</span><span·class="w">
152 </span><span·class="nf">init_state</span><span·class="p"·data-group-id="2142489391-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="2142489391-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="2179282485-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="2179282485-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="2142489391-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="2179282485-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="2142489391-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="2179282485-8">}</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">convert_old_state</span><span·class="p"·data-group-id="2142489391-9">(</span><span·class="p"·data-group-id="2142489391-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><spa[·...·truncated·by·diffoscope;·len:·163,·SHA:·a3cd1a1cc3bc52bcbc7ebb6ff0955c0951d2814b214102c600cab521de2ac141·...·]-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="2179282485-9">(</span><span·class="p"·data-group-id="2179282485-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><spa[·...·truncated·by·diffoscope;·len:·163,·SHA:·7a753467972fb4bda01fafe90ca2d8d6fde7c6409348294b59dff53c1b535706·...·]-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="2142489391-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="2179282485-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="2142489391-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="2179282485-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="2142489391-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="2142489391-13">(</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·451,·SHA:·2773333d9f8a57ab257515d233cdc2941ffa75be17897db000cf7a84179997c3·...·]-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="2179282485-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="2179282485-13">(</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·451,·SHA:·ed68fad28a85fc54edd4b3855fa858d78e247c7e22dc6ed486c5940ef411fb82·...·]-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="2142489391-15">(</span><span·class="p"·data-group-id="2142489391-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="2179282485-15">(</span><span·class="p"·data-group-id="2179282485-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="2142489391-16">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2142489391-17">(</span><span·class="p"·data-group-id="2142489391-17">)</span><span·class="p"·data-group-id="2142489391-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="2179282485-16">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2179282485-17">(</span><span·class="p"·data-group-id="2179282485-17">)</span><span·class="p"·data-group-id="2179282485-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="2142489391-18">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2142489391-19">(</span><span·class="p"·data-group-id="2142489391-19">)</span><span·class="p"·data-group-id="2142489391-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="2179282485-18">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2179282485-19">(</span><span·class="p"·data-group-id="2179282485-19">)</span><span·class="p"·data-group-id="2179282485-18">]</span><span·class="p">.</span><span·class="w">
168 </span><span·class="nf">add_frag</span><span·class="p"·data-group-id="2142489391-20">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2142489391-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:·568,·SHA:·14cee4f14846b8f439c74122bb81915fd0f293584b79214f7f6e7e58d337cf49·...·]-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="2179282485-20">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2179282485-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:·568,·SHA:·369af8e4416dcf420af3303274bea0885dce61e25462abd16098fad0690bac0b·...·]-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="2142489391-22">(</span><span·class="n">L</span><span·class="p"·data-group-id="2142489391-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="2179282485-22">(</span><span·class="n">L</span><span·class="p"·data-group-id="2179282485-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="2142489391-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="2179282485-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="2142489391-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="2179282485-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="2142489391-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="2179282485-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="2142489391-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="2179282485-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="2142489391-25">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2142489391-26">[</span><span·class="n">SplitN</span><span·class="p"·data-group-id="2142489391-26">]</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·203,·SHA:·2da6030bd3ebf225be04bd5bf1fd8eac9d3f503c32b6d405b01a3ed1d245f501·...·]-25">}</span><span·class="p">;</span><span·class="w">180 ····</span><span·class="p"·data-group-id="2179282485-25">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2179282485-26">[</span><span·class="n">SplitN</span><span·class="p"·data-group-id="2179282485-26">]</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·203,·SHA:·247294cc962025374c2d4d1a29bac69378f6f8b3cc4c1bcb7d5463df1226a8bc·...·]-25">}</span><span·class="p">;</span><span·class="w">
181 </span><span·class="nf">add_frag</span><span·class="p"·data-group-id="2142489391-28">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2142489391-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="2179282485-28">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2179282485-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="2142489391-29">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2142489391-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="2179282485-29">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2179282485-29">)</span><span·class="p">,</span><span·class="w">
183 ····</span><span·class="nf">add_frag</span><span·class="p"·data-group-id="2142489391-30">(</span><span·class="n">State</span><span·class="p"·data-group-id="2142489391-30">)</span><span·class="p">.</span><span·class="w">183 ····</span><span·class="nf">add_frag</span><span·class="p"·data-group-id="2179282485-30">(</span><span·class="n">State</span><span·class="p"·data-group-id="2179282485-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="2142489391-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="2142489391-32">(</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·451,·SHA:·59cfa35e25f20447c076658ab28d56d6d027324f9c1475f6d126df669e499a3e·...·]-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="2179282485-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="2179282485-32">(</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·451,·SHA:·cd59fe19a01787375a0a20dc2a2845eaf8f5e7983f89a674c0e3304f5d1322a2·...·]-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="2142489391-34">(</span><span·class="p"·data-group-id="2142489391-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="2179282485-34">(</span><span·class="p"·data-group-id="2179282485-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="2142489391-35">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2142489391-36">(</span><span·class="p"·data-group-id="2142489391-36">)</span><span·class="p"·data-group-id="2142489391-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="2179282485-35">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2179282485-36">(</span><span·class="p"·data-group-id="2179282485-36">)</span><span·class="p"·data-group-id="2179282485-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="2142489391-37">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2142489391-38">(</span><span·class="p"·data-group-id="2142489391-38">)</span><span·class="p"·data-group-id="2142489391-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="2179282485-37">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2179282485-38">(</span><span·class="p"·data-group-id="2179282485-38">)</span><span·class="p"·data-group-id="2179282485-37">]</span><span·class="p">.</span><span·class="w">
190 </span><span·class="nf">del_frag</span><span·class="p"·data-group-id="2142489391-39">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2142489391-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:·568,·SHA:·51849cb432ea861c5d7a7d80143b6eef9f9029a3b14b857d94831d5fb703b720·...·]-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="2179282485-39">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2179282485-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:·568,·SHA:·0c20eabfe261f36e602b38ff5ec4489d86317a589b241fea2a780a7a76a6f56b·...·]-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="2142489391-41">(</span><span·class="n">L2</span><span·class="p"·data-group-id="2142489391-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="2179282485-41">(</span><span·class="n">L2</span><span·class="p"·data-group-id="2179282485-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="2142489391-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="2179282485-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="2142489391-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="2179282485-42">}</span><span·class="p">,</span><span·class="w">
199 ············</span><span·class="p"·data-group-id="2142489391-43">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2142489391-44">[</span><span·class="n">N</span><span·class="p"·data-group-id="2142489391-44">]</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·200,·SHA:·3f9d94f3bbf737c56555f51b260bf03a4bcab93be87aec8fe4def6402ac799c9·...·]-43">}</span><span·class="p">;</span><span·class="w">199 ············</span><span·class="p"·data-group-id="2179282485-43">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2179282485-44">[</span><span·class="n">N</span><span·class="p"·data-group-id="2179282485-44">]</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·200,·SHA:·c8c63a273e5f5bab01e61c211ad54a683dcf56d314bedaee7b6b8b2fa1382da6·...·]-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="2142489391-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="2179282485-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="2142489391-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="2179282485-46">}</span><span·class="p">,</span><span·class="w">
204 ············</span><span·class="p"·data-group-id="2142489391-47">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2142489391-48">[</span><span·class="n">N</span><span·class="p"·data-group-id="2142489391-48">]</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·200,·SHA:·8ee50d1f1ad8c77a584dea84a84a5f6eb030bee48045e6cd4c6d05ee406825df·...·]-47">}</span><span·class="w">204 ············</span><span·class="p"·data-group-id="2179282485-47">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2179282485-48">[</span><span·class="n">N</span><span·class="p"·data-group-id="2179282485-48">]</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·200,·SHA:·9ff3b032b08a76e745dc1a5d9bbb9e93f5d773578dd3632d7aec674d1dde2cc0·...·]-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="2142489391-50">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2142489391-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="2179282485-50">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2179282485-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="2142489391-51">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2142489391-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="2179282485-51">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2179282485-51">)</span><span·class="p">,</span><span·class="w">
208 ····</span><span·class="nf">del_frag</span><span·class="p"·data-group-id="2142489391-52">(</span><span·class="n">State</span><span·class="p"·data-group-id="2142489391-52">)</span><span·class="p">.</span><span·class="w">208 ····</span><span·class="nf">del_frag</span><span·class="p"·data-group-id="2179282485-52">(</span><span·class="n">State</span><span·class="p"·data-group-id="2179282485-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="2142489391-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="2142489391-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="2179282485-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="2179282485-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="2142489391-54">(</span><span·class="p"·data-group-id="2142489391-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="2179282485-54">(</span><span·class="p"·data-group-id="2179282485-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="2142489391-55">(</span><span·class="p"·data-group-id="2142489391-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="2179282485-55">(</span><span·class="p"·data-group-id="2179282485-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="2142489391-56">(</span><span·class="p"·data-group-id="2142489391-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="2179282485-56">(</span><span·class="p"·data-group-id="2179282485-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="2142489391-57">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2142489391-58">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">ph[·...·truncated·by·diffoscope;·len:·535,·SHA:·305e24c868f8e196ef31d0adfb22787a81d1e1bdabf4b6d6550cfcdaf45a5010·...·]-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="2179282485-57">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2179282485-58">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">ph[·...·truncated·by·diffoscope;·len:·535,·SHA:·6b75605eed6f554b2440bfe4bf1640a3121820a67e190da6f558746049686940·...·]-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="2142489391-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="2142489391-60">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><span[·...·truncated·by·diffoscope;·len:·139,·SHA:·0f0a26773f26cc3d4f5ef221cae924ae6496a011cdd6a83d8c8dc3498dfe8f56·...·]-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="2179282485-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="2179282485-60">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><span[·...·truncated·by·diffoscope;·len:·139,·SHA:·d475a0ac1c4583b85151de8d306bfb05e6a083b385e89f8ed85b86e1de040e27·...·]-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="2142489391-61">(</span><span·class="n">L</span><span·class="p"·data-group-id="2142489391-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="2179282485-61">(</span><span·class="n">L</span><span·class="p"·data-group-id="2179282485-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="2142489391-62">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2142489391-63">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">ph[·...·truncated·by·diffoscope;·len:·536,·SHA:·d85587e40889f23db4bf700e495637cf9dede2bb7e6e508c56c0243300f13cbd·...·]-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="2179282485-62">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2179282485-63">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">ph[·...·truncated·by·diffoscope;·len:·536,·SHA:·551383dc725272a57b2e3a2ad22db11a7e3986b390e15c38e68705647d8fdbe2·...·]-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="2142489391-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="2142489391-65">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><span[·...·truncated·by·diffoscope;·len:·139,·SHA:·ea85d8010e1bd1a8360b9a4aef92b78dc7d7d3fe1e5bdbf2a978117050bd3059·...·]-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="2179282485-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="2179282485-65">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><span[·...·truncated·by·diffoscope;·len:·139,·SHA:·f16f93100f90bf48c647b7c1aebb0d8037b31f96a3a9a5cf3dd29beee345f28a·...·]-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="2142489391-66">(</span><span·class="n">L</span><span·class="p"·data-group-id="2142489391-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="2179282485-66">(</span><span·class="n">L</span><span·class="p"·data-group-id="2179282485-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="2142489391-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="2142489391-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="2179282485-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="2179282485-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="2142489391-68">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2142489391-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="2179282485-68">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2179282485-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="2142489391-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="2142489391-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="2179282485-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="2179282485-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="2142489391-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="2142489391-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="2179282485-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="2179282485-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="2142489391-71">(</span><span·class="p"·data-group-id="2142489391-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="2179282485-71">(</span><span·class="p"·data-group-id="2179282485-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="2142489391-72">(</span><span·class="p"·data-group-id="2142489391-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="2179282485-72">(</span><span·class="p"·data-group-id="2179282485-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="2142489391-73">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2142489391-74">(</span><span·class="p"·data-group-id="2142489391-74">)</span><span·class="p"·data-group-id="2142489391-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="2179282485-73">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2179282485-74">(</span><span·class="p"·data-group-id="2179282485-74">)</span><span·class="p"·data-group-id="2179282485-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="2142489391-75">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2142489391-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:·283,·SHA:·ce237f8818c8cfb0c54e283d225ba5e155f19ce705a59d90ddf389270b7a8cca·...·]-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="2179282485-75">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2179282485-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:·283,·SHA:·abc1d1c24869b81a6c644999ffcd533dfe6e97a80d90f521fd01a986c70d1e8b·...·]-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="2142489391-77">[</span><span·class="p"·data-group-id="2142489391-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·c[·...·truncated·by·diffoscope;·len:·553,·SHA:·11682059f629206cdfe75918b14d4f2a83e5feb3d09aee2fd306e3fead86a00c·...·]-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="2179282485-77">[</span><span·class="p"·data-group-id="2179282485-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·c[·...·truncated·by·diffoscope;·len:·553,·SHA:·aaa0cdbc2d6f7b24a03b56c50f66b2f454afc3b9f54ded30f517a66d997f7468·...·]-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="2142489391-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="2142489391-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="2179282485-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="2179282485-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="2142489391-82">(</span><span·class="n">KeyPat</span><span·class="p"·data-group-id="2142489391-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="2179282485-82">(</span><span·class="n">KeyPat</span><span·class="p"·data-group-id="2179282485-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="2142489391-83">[</span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="2142489391-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="214[·...·truncated·by·diffoscope;·len:·61,·SHA:·05e8571a60a86930234793513271957a4b4f59c3c80bc7141a768b5a957576fa·...·]-83">]</span><span·class="p">;</span><span·class="w">244 ····················</span><span·class="p"·data-group-id="2179282485-83">[</span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="2179282485-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="217[·...·truncated·by·diffoscope;·len:·61,·SHA:·d9ba184241e3a14fe854e81572ad270c37f857bf7abe7d7c4b6b97e3bf24cfaf·...·]-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.54 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.23.5/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2025·<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.23.5/doc/html/mnesia_chap2.html
    
Offset 133, 47 lines modifiedOffset 133, 47 lines modified
133 ··<a·href="#starting-mnesia-for-the-first-time"·class="hover-link">133 ··<a·href="#starting-mnesia-for-the-first-time"·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">Starting·Mnesia·for·the·First·Time</span>136 ··<span·class="text">Starting·Mnesia·for·the·First·Time</span>
137 </h2>137 </h2>
138 <p>This·section·provides·a·simplified·demonstration·of·a·<code·class="inline">Mnesia</code>·system·startup.138 <p>This·section·provides·a·simplified·demonstration·of·a·<code·class="inline">Mnesia</code>·system·startup.
139 The·dialogue·from·the·Erlang·shell·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-mnesia·dir·&#39;&quot;/tmp/funky&quot;&#39;</span><span·class="w">139 The·dialogue·from·the·Erlang·shell·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-mnesia·dir·&#39;&quot;/tmp/funky&quot;&#39;</span><span·class="w">
140 </span><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="9718288725-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="9718288725-1">]</span><span·class="w">140 </span><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="9641777882-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="9641777882-1">]</span><span·class="w">
  
141 </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="9718288725-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><spa[·...·truncated·by·diffoscope;·len:·398,·SHA:·8761c39997a1eb9d74ebeecc0faa9873c853cc8ee46003952ab07fd04a25db8c·...·]-2">)</span><span·class="gp·unselectable">141 </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="9641777882-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><spa[·...·truncated·by·diffoscope;·len:·398,·SHA:·91590504ed21dcea5f1e33f5d2d71f447536502c156ca5c51b05f3fef3c70ae8·...·]-2">)</span><span·class="gp·unselectable">
142 1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_schema</span><span·class="p"·data-group-id="9718288725-4">(</span><span·class="p"·data-group-id="9718288725-5">[</span><span·class="nf">node</span><span·class="p"·data-group-id="9718288725-6">(</span><span·class="p"·data-group-id="9718288725-6">)</span><span·class="p"·data-group-id="9718288725-5">]</[·...·truncated·by·diffoscope;·len:·46,·SHA:·79b04480a42b10f30612877090d65a215805076a2299ad248b02822b8b769555·...·]-4">)</span><span·class="p">.</span><span·class="w">142 1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_schema</span><span·class="p"·data-group-id="9641777882-4">(</span><span·class="p"·data-group-id="9641777882-5">[</span><span·class="nf">node</span><span·class="p"·data-group-id="9641777882-6">(</span><span·class="p"·data-group-id="9641777882-6">)</span><span·class="p"·data-group-id="9641777882-5">]</[·...·truncated·by·diffoscope;·len:·46,·SHA:·6f0a91aaaa5878dc470dec3d9591df578f7046f61c6d1762cc04927c1ab084f9·...·]-4">)</span><span·class="p">.</span><span·class="w">
143 </span><span·class="ss">ok</span><span·class="gp·unselectable">143 </span><span·class="ss">ok</span><span·class="gp·unselectable">
144 2&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="9718288725-7">(</span><span·class="p"·data-group-id="9718288725-7">)</span><span·class="p">.</span><span·class="w">144 2&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="9641777882-7">(</span><span·class="p"·data-group-id="9641777882-7">)</span><span·class="p">.</span><span·class="w">
145 </span><span·class="ss">ok</span><span·class="gp·unselectable">145 </span><span·class="ss">ok</span><span·class="gp·unselectable">
146 3&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9718288725-8">(</span><span·class="ss">funky</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9718288725-9">[</span><span·class="p"·data-group-id="9718288725-9">]</span><span·class="p"·data-group-id="9718288725-8">)</span><span·class="p">.</span><span·class="w">146 3&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9641777882-8">(</span><span·class="ss">funky</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9641777882-9">[</span><span·class="p"·data-group-id="9641777882-9">]</span><span·class="p"·data-group-id="9641777882-8">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p"·data-group-id="9718288725-10">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="9718288725-10">}</span><span·class="gp·unselectable">147 </span><span·class="p"·data-group-id="9641777882-10">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="9641777882-10">}</span><span·class="gp·unselectable">
148 4&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">info</span><span·class="p"·data-group-id="9718288725-11">(</span><span·class="p"·data-group-id="9718288725-11">)</span><span·class="p">.</span><span·class="w">148 4&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">info</span><span·class="p"·data-group-id="9641777882-11">(</span><span·class="p"·data-group-id="9641777882-11">)</span><span·class="p">.</span><span·class="w">
149 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Processes</span><span·class="w">·</span><span·class="ss">holding</span><span·class="w">·</span><span·class="ss">locks</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">·149 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Processes</span><span·class="w">·</span><span·class="ss">holding</span><span·class="w">·</span><span·class="ss">locks</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">·
150 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Processes</span><span·class="w">·</span><span·class="ss">waiting</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">locks</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">·150 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Processes</span><span·class="w">·</span><span·class="ss">waiting</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">locks</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">·
151 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Participant</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">·151 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Participant</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">·
152 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Coordinator</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">152 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Coordinator</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">
153 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Uncertain</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">·153 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Uncertain</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">·
154 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Active</span><span·class="w">·</span><span·class="ss">tables</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">·154 </span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Active</span><span·class="w">·</span><span·class="ss">tables</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="w">·
155 </span><span·class="ss">funky</span><span·class="w">··········</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">········</span><span·class="ss">records</span><span·class="w">·</span><span·class="ss">occupying</span><span·class="w">·</span><span·class="mi">305</span><span·class="w">······</span><span·class="ss">words</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">mem</span><span·class="w">155 </span><span·class="ss">funky</span><span·class="w">··········</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">········</span><span·class="ss">records</span><span·class="w">·</span><span·class="ss">occupying</span><span·class="w">·</span><span·class="mi">305</span><span·class="w">······</span><span·class="ss">words</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">mem</span><span·class="w">
156 </span><span·class="ss">schema</span><span·class="w">·········</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">········</span><span·class="ss">records</span><span·class="w">·</span><span·class="ss">occupying</span><span·class="w">·</span><span·class="mi">533</span><span·class="w">······</span><span·class="ss">words</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">mem</span><span·class="w">156 </span><span·class="ss">schema</span><span·class="w">·········</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">········</span><span·class="ss">records</span><span·class="w">·</span><span·class="ss">occupying</span><span·class="w">·</span><span·class="mi">533</span><span·class="w">······</span><span·class="ss">words</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">mem</span><span·class="w">
157 </span><span·class="o">==</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">System</span><span·class="w">·</span><span·class="ss">info</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="s">&quot;4.23.2&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">debug</span><span·class="w">·</span><span·class="ss">level</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">none</span><span·class="w">·</span><span·class="o">&lt;=</span><span·class="o">==</span><span·class="w">157 </span><span·class="o">==</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">System</span><span·class="w">·</span><span·class="ss">info</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="s">&quot;4.23.2&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">debug</span><span·class="w">·</span><span·class="ss">level</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">none</span><span·class="w">·</span><span·class="o">&lt;=</span><span·class="o">==</span><span·class="w">
158 </span><span·class="ss">opt_disc</span><span·class="p">.</span><span·class="w">·</span><span·class="n">Directory</span><span·class="w">·</span><span·class="s">&quot;/tmp/funky&quot;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">used</span><span·class="p">.</span><span·class="w">158 </span><span·class="ss">opt_disc</span><span·class="p">.</span><span·class="w">·</span><span·class="n">Directory</span><span·class="w">·</span><span·class="s">&quot;/tmp/funky&quot;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">used</span><span·class="p">.</span><span·class="w">
159 </span><span·class="ss">use</span><span·class="w">·</span><span·class="ss">fallback</span><span·class="w">·</span><span·class="ss">at</span><span·class="w">·</span><span·class="ss">restart</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">159 </span><span·class="ss">use</span><span·class="w">·</span><span·class="ss">fallback</span><span·class="w">·</span><span·class="ss">at</span><span·class="w">·</span><span·class="ss">restart</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">
160 </span><span·class="ss">running</span><span·class="w">·</span><span·class="ss">db</span><span·class="w">·</span><span·class="nb">nodes</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9718288725-12">[</span><span·class="ss">nonode@nohost</span><span·class="p"·data-group-id="9718288725-12">]</span><span·class="w">160 </span><span·class="ss">running</span><span·class="w">·</span><span·class="ss">db</span><span·class="w">·</span><span·class="nb">nodes</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9641777882-12">[</span><span·class="ss">nonode@nohost</span><span·class="p"·data-group-id="9641777882-12">]</span><span·class="w">
161 </span><span·class="ss">stopped</span><span·class="w">·</span><span·class="ss">db</span><span·class="w">·</span><span·class="nb">nodes</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9718288725-13">[</span><span·class="p"·data-group-id="9718288725-13">]</span><span·class="w">161 </span><span·class="ss">stopped</span><span·class="w">·</span><span·class="ss">db</span><span·class="w">·</span><span·class="nb">nodes</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9641777882-13">[</span><span·class="p"·data-group-id="9641777882-13">]</span><span·class="w">
162 </span><span·class="ss">master</span><span·class="w">·</span><span·class="nb">node</span><span·class="w">·</span><span·class="ss">tables</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9718288725-14">[</span><span·class="p"·data-group-id="9718288725-14">]</span><span·class="w">162 </span><span·class="ss">master</span><span·class="w">·</span><span·class="nb">node</span><span·class="w">·</span><span·class="ss">tables</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9641777882-14">[</span><span·class="p"·data-group-id="9641777882-14">]</span><span·class="w">
163 </span><span·class="ss">remote</span><span·class="w">·············</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9718288725-15">[</span><span·class="p"·data-group-id="9718288725-15">]</span><span·class="w">163 </span><span·class="ss">remote</span><span·class="w">·············</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9641777882-15">[</span><span·class="p"·data-group-id="9641777882-15">]</span><span·class="w">
164 </span><span·class="ss">ram_copies</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9718288725-16">[</span><span·class="ss">funky</span><span·class="p"·data-group-id="9718288725-16">]</span><span·class="w">164 </span><span·class="ss">ram_copies</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9641777882-16">[</span><span·class="ss">funky</span><span·class="p"·data-group-id="9641777882-16">]</span><span·class="w">
165 </span><span·class="ss">disc_copies</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9718288725-17">[</span><span·class="ss">schema</span><span·class="p"·data-group-id="9718288725-17">]</span><span·class="w">165 </span><span·class="ss">disc_copies</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9641777882-17">[</span><span·class="ss">schema</span><span·class="p"·data-group-id="9641777882-17">]</span><span·class="w">
166 </span><span·class="ss">disc_only_copies</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9718288725-18">[</span><span·class="p"·data-group-id="9718288725-18">]</span><span·class="w">166 </span><span·class="ss">disc_only_copies</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9641777882-18">[</span><span·class="p"·data-group-id="9641777882-18">]</span><span·class="w">
167 </span><span·class="p"·data-group-id="9718288725-19">[</span><span·class="p"·data-group-id="9718288725-20">{</span><span·class="ss">nonode@nohost</span><span·class="p">,</span><span·class="ss">disc_copies</span><span·class="p"·data-group-id="9718288725-20">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·221,·SHA:·08985686a05e4159718a5275da69c295dac398087cc6f5ddb22318c953ed3d12·...·]-21">]</span><span·class="w">167 </span><span·class="p"·data-group-id="9641777882-19">[</span><span·class="p"·data-group-id="9641777882-20">{</span><span·class="ss">nonode@nohost</span><span·class="p">,</span><span·class="ss">disc_copies</span><span·class="p"·data-group-id="9641777882-20">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·221,·SHA:·ecae073684d1213c1473afb7825f7bf61b87751fbc6d3067fd76163e2de28c7b·...·]-21">]</span><span·class="w">
168 </span><span·class="p"·data-group-id="9718288725-22">[</span><span·class="p"·data-group-id="9718288725-23">{</span><span·class="ss">nonode@nohost</span><span·class="p">,</span><span·class="ss">ram_copies</span><span·class="p"·data-group-id="9718288725-23">}</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·219,·SHA:·e5e9a430f89af958fb2aada76a6e01de7d0cf8ce6d6f1ef7933a02a4d55c5f58·...·]-24">]</span><span·class="w">168 </span><span·class="p"·data-group-id="9641777882-22">[</span><span·class="p"·data-group-id="9641777882-23">{</span><span·class="ss">nonode@nohost</span><span·class="p">,</span><span·class="ss">ram_copies</span><span·class="p"·data-group-id="9641777882-23">}</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·219,·SHA:·78becb2d868aaace0d5f5f3535c41bc6cb4c8737c105fac877a680b0fc8c1d5d·...·]-24">]</span><span·class="w">
169 </span><span·class="mi">3</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="w">·</span><span·class="ss">committed</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">aborted</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">restarted</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">logged</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">disc</span><span·class="w">169 </span><span·class="mi">3</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="w">·</span><span·class="ss">committed</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">aborted</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">restarted</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">logged</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">disc</span><span·class="w">
170 </span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">held</span><span·class="w">·</span><span·class="ss">locks</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">queue</span><span·class="p">;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">local</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">remote</span><span·class="w">170 </span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">held</span><span·class="w">·</span><span·class="ss">locks</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">queue</span><span·class="p">;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">local</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">remote</span><span·class="w">
171 </span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="w">·</span><span·class="ss">waits</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">other</span><span·class="w">·</span><span·class="nc">nodes</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9718288725-25">[</span><span·class="p"·data-group-id="9718288725-25">]</span><span·class="w">171 </span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">transactions</span><span·class="w">·</span><span·class="ss">waits</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">other</span><span·class="w">·</span><span·class="nc">nodes</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9641777882-25">[</span><span·class="p"·data-group-id="9641777882-25">]</span><span·class="w">
172 </span><span·class="ss">ok</span></code></pre><p>In·this·example,·the·following·actions·are·performed:</p><ul><li><em>Step·1:</em>·The·Erlang·system·is·started·from·the·UNIX·prompt·with·a·flag172 </span><span·class="ss">ok</span></code></pre><p>In·this·example,·the·following·actions·are·performed:</p><ul><li><em>Step·1:</em>·The·Erlang·system·is·started·from·the·UNIX·prompt·with·a·flag
173 <code·class="inline">-mnesia·dir·'&quot;/tmp/funky&quot;'</code>,·which·indicates·in·which·directory·to·store·the173 <code·class="inline">-mnesia·dir·'&quot;/tmp/funky&quot;'</code>,·which·indicates·in·which·directory·to·store·the
174 data.</li><li><em>Step·2:</em>·A·new·empty·schema·is·initialized·on·the·local·node·by·evaluating174 data.</li><li><em>Step·2:</em>·A·new·empty·schema·is·initialized·on·the·local·node·by·evaluating
175 <a·href="mnesia.html#create_schema/1"><code·class="inline">mnesia:create_schema([node()])</code></a>.·The·schema175 <a·href="mnesia.html#create_schema/1"><code·class="inline">mnesia:create_schema([node()])</code></a>.·The·schema
176 contains·information·about·the·database·in·general.·This·is·explained·in176 contains·information·about·the·database·in·general.·This·is·explained·in
177 detail·later.</li><li><em>Step·3:</em>·The·DBMS·is·started·by·evaluating177 detail·later.</li><li><em>Step·3:</em>·The·DBMS·is·started·by·evaluating
178 <a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>.</li><li><em>Step·4:</em>·A·first·table·is·created,·called·<code·class="inline">funky</code>,·by·evaluating·the178 <a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>.</li><li><em>Step·4:</em>·A·first·table·is·created,·called·<code·class="inline">funky</code>,·by·evaluating·the
Offset 225, 36 lines modifiedOffset 225, 36 lines modified
225 relationship.</li></ol></li></ul><h3·id="defining-structure-and-content"·class="section-heading">225 relationship.</li></ol></li></ul><h3·id="defining-structure-and-content"·class="section-heading">
226 ··<a·href="#defining-structure-and-content"·class="hover-link">226 ··<a·href="#defining-structure-and-content"·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">Defining·Structure·and·Content</span>229 ··<span·class="text">Defining·Structure·and·Content</span>
230 </h3>230 </h3>
231 <p>First·the·record·definitions·are·entered·into·a·text·file·named·<code·class="inline">company.hrl</code>.231 <p>First·the·record·definitions·are·entered·into·a·text·file·named·<code·class="inline">company.hrl</code>.
232 This·file·defines·the·following·structure·for·the·example·database:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0483956278-1">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0483956278-2">{</span><span·class="ss">emp_no</span><span·class="p">,</span><span·class="w">232 This·file·defines·the·following·structure·for·the·example·database:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="1331132275-1">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1331132275-2">{</span><span·class="ss">emp_no</span><span·class="p">,</span><span·class="w">
233 ···················</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">233 ···················</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">
234 ···················</span><span·class="ss">salary</span><span·class="p">,</span><span·class="w">234 ···················</span><span·class="ss">salary</span><span·class="p">,</span><span·class="w">
235 ···················</span><span·class="ss">sex</span><span·class="p">,</span><span·class="w">235 ···················</span><span·class="ss">sex</span><span·class="p">,</span><span·class="w">
236 ···················</span><span·class="ss">phone</span><span·class="p">,</span><span·class="w">236 ···················</span><span·class="ss">phone</span><span·class="p">,</span><span·class="w">
237 ···················</span><span·class="ss">room_no</span><span·class="p"·data-group-id="0483956278-2">}</span><span·class="p"·data-group-id="0483956278-1">)</span><span·class="p">.</span><span·class="w">237 ···················</span><span·class="ss">room_no</span><span·class="p"·data-group-id="1331132275-2">}</span><span·class="p"·data-group-id="1331132275-1">)</span><span·class="p">.</span><span·class="w">
238 </span><span·class="w">238 </span><span·class="w">
239 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0483956278-3">(</span><span·class="ss">dept</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0483956278-4">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="w">239 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="1331132275-3">(</span><span·class="ss">dept</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1331132275-4">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="w">
240 ···············</span><span·class="ss">name</span><span·class="p"·data-group-id="0483956278-4">}</span><span·class="p"·data-group-id="0483956278-3">)</span><span·class="p">.</span><span·class="w">240 ···············</span><span·class="ss">name</span><span·class="p"·data-group-id="1331132275-4">}</span><span·class="p"·data-group-id="1331132275-3">)</span><span·class="p">.</span><span·class="w">
241 </span><span·class="w">241 </span><span·class="w">
242 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0483956278-5">(</span><span·class="ss">project</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0483956278-6">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">242 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="1331132275-5">(</span><span·class="ss">project</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1331132275-6">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">
243 ··················</span><span·class="ss">number</span><span·class="p"·data-group-id="0483956278-6">}</span><span·class="p"·data-group-id="0483956278-5">)</span><span·class="p">.</span><span·class="w">243 ··················</span><span·class="ss">number</span><span·class="p"·data-group-id="1331132275-6">}</span><span·class="p"·data-group-id="1331132275-5">)</span><span·class="p">.</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="0483956278-7">(</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0483956278-8">{</span><span·class="ss">emp</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="1331132275-7">(</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1331132275-8">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="w">
246 ··················</span><span·class="ss">dept</span><span·class="p"·data-group-id="0483956278-8">}</span><span·class="p"·data-group-id="0483956278-7">)</span><span·class="p">.</span><span·class="w">246 ··················</span><span·class="ss">dept</span><span·class="p"·data-group-id="1331132275-8">}</span><span·class="p"·data-group-id="1331132275-7">)</span><span·class="p">.</span><span·class="w">
247 </span><span·class="w">247 </span><span·class="w">
248 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0483956278-9">(</span><span·class="ss">at_dep</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0483956278-10">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="w">248 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="1331132275-9">(</span><span·class="ss">at_dep</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1331132275-10">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="w">
249 ·················</span><span·class="ss">dept_id</span><span·class="p"·data-group-id="0483956278-10">}</span><span·class="p"·data-group-id="0483956278-9">)</span><span·class="p">.</span><span·class="w">249 ·················</span><span·class="ss">dept_id</span><span·class="p"·data-group-id="1331132275-10">}</span><span·class="p"·data-group-id="1331132275-9">)</span><span·class="p">.</span><span·class="w">
250 </span><span·class="w">250 </span><span·class="w">
251 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0483956278-11">(</span><span·class="ss">in_proj</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0483956278-12">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="w">251 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="1331132275-11">(</span><span·class="ss">in_proj</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1331132275-12">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="w">
252 ··················</span><span·class="ss">proj_name</span><span·class="p"·data-group-id="0483956278-12">}</span><span·class="p"·data-group-id="0483956278-11">)</span><span·class="p">.</span></code></pre><p>The·structure·defines·six·tables·in·the·database.·In·<code·class="inline">Mnesia</code>,·the·function252 ··················</span><span·class="ss">proj_name</span><span·class="p"·data-group-id="1331132275-12">}</span><span·class="p"·data-group-id="1331132275-11">)</span><span·class="p">.</span></code></pre><p>The·structure·defines·six·tables·in·the·database.·In·<code·class="inline">Mnesia</code>,·the·function
253 <a·href="mnesia.html#create_table/2"><code·class="inline">mnesia:create_table(Name,·Opts)</code></a>·creates·tables.253 <a·href="mnesia.html#create_table/2"><code·class="inline">mnesia:create_table(Name,·Opts)</code></a>·creates·tables.
254 <code·class="inline">Name</code>·is·the·table·name.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·current·version·of·<code·class="inline">Mnesia</code>·does·not·require·that·the·name·of·the·table·is254 <code·class="inline">Name</code>·is·the·table·name.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·current·version·of·<code·class="inline">Mnesia</code>·does·not·require·that·the·name·of·the·table·is
255 the·same·as·the·record·name,·see255 the·same·as·the·record·name,·see
256 <a·href="mnesia_chap4.html#recordnames_tablenames">Record·Names·versus·Table·Names.</a>.</p></section><p>For·example,·the·table·for·employees·is·created·with·the·function256 <a·href="mnesia_chap4.html#recordnames_tablenames">Record·Names·versus·Table·Names.</a>.</p></section><p>For·example,·the·table·for·employees·is·created·with·the·function
257 <code·class="inline">mnesia:create_table(employee,·[{attributes,·record_info(fields,·employee)}])</code>.257 <code·class="inline">mnesia:create_table(employee,·[{attributes,·record_info(fields,·employee)}])</code>.
258 The·table·name·<code·class="inline">employee</code>·matches·the·name·for·records·specified·in·<code·class="inline">Opts</code>.258 The·table·name·<code·class="inline">employee</code>·matches·the·name·for·records·specified·in·<code·class="inline">Opts</code>.
259 The·expression·<code·class="inline">record_info(fields,·RecordName)</code>·is·processed·by·the·Erlang259 The·expression·<code·class="inline">record_info(fields,·RecordName)</code>·is·processed·by·the·Erlang
Offset 263, 52 lines modifiedOffset 263, 52 lines modified
263 ··<a·href="#program"·class="hover-link">263 ··<a·href="#program"·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">Program</span>266 ··<span·class="text">Program</span>
267 </h3>267 </h3>
268 <p>The·following·shell·interaction·starts·<code·class="inline">Mnesia</code>·and·initializes·the·schema·for268 <p>The·following·shell·interaction·starts·<code·class="inline">Mnesia</code>·and·initializes·the·schema·for
269 the·<code·class="inline">Company</code>·database:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-mnesia·dir·&#39;&quot;/ldisc/scratch/Mnesia.Company&quot;&#39;</span><span·class="w">269 the·<code·class="inline">Company</code>·database:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-mnesia·dir·&#39;&quot;/ldisc/scratch/Mnesia.Company&quot;&#39;</span><span·class="w">
270 </span><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="3772129582-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="3772129582-1">]</span><span·class="w">270 </span><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="0887699487-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="0887699487-1">]</span><span·class="w">
  
271 </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="3772129582-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:·a5b550b53385d8db8ff5f9db580f45369a77ae330987cbbfada1cbc5322cd938·...·]-2">)</span><span·class="gp·unselectable">271 </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="0887699487-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:·d911724ed9cb0043a0474c536ba23033a832e9347f7f49a870c7731f1c2359b3·...·]-2">)</span><span·class="gp·unselectable">
272 1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_schema</span><span·class="p"·data-group-id="3772129582-4">(</span><span·class="p"·data-group-id="3772129582-5">[</span><span·class="nf">node</span><span·class="p"·data-group-id="3772129582-6">(</span><span·class="p"·data-group-id="3772129582-6">)</span><span·class="p"·data-group-id="3772129582-5">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·c5f92efb19c3681a3a0cca4c224d7e07323049cf99256aeae9110d1dae4a039e·...·]-4">)</span><span·class="p">.</span><span·class="w">272 1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_schema</span><span·class="p"·data-group-id="0887699487-4">(</span><span·class="p"·data-group-id="0887699487-5">[</span><span·class="nf">node</span><span·class="p"·data-group-id="0887699487-6">(</span><span·class="p"·data-group-id="0887699487-6">)</span><span·class="p"·data-group-id="0887699487-5">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·ec375926113f9c33f82c941aec7ad8fbb36994ade3788911bc0c24ef012c2100·...·]-4">)</span><span·class="p">.</span><span·class="w">
273 </span><span·class="ss">ok</span><span·class="gp·unselectable">273 </span><span·class="ss">ok</span><span·class="gp·unselectable">
274 2&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="3772129582-7">(</span><span·class="p"·data-group-id="3772129582-7">)</span><span·class="p">.</span><span·class="w">274 2&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0887699487-7">(</span><span·class="p"·data-group-id="0887699487-7">)</span><span·class="p">.</span><span·class="w">
275 </span><span·class="ss">ok</span></code></pre><p>The·following·program·module·creates·and·populates·previously·defined·tables:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="9249273462-1">(</span><span·class="s">&quot;stdlib/include/qlc.hrl&quot;</span><span·class="p"·data-group-id="9249273462-1">)</span><span·class="p">.</span><span·class="w">275 </span><span·class="ss">ok</span></code></pre><p>The·following·program·module·creates·and·populates·previously·defined·tables:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="4556321527-1">(</span><span·class="s">&quot;stdlib/include/qlc.hrl&quot;</span><span·class="p"·data-group-id="4556321527-1">)</span><span·class="p">.</span><span·class="w">
276 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="9249273462-2">(</span><span·class="s">&quot;company.hrl&quot;</span><span·class="p"·data-group-id="9249273462-2">)</span><span·class="p">.</span><span·class="w">276 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="4556321527-2">(</span><span·class="s">&quot;company.hrl&quot;</span><span·class="p"·data-group-id="4556321527-2">)</span><span·class="p">.</span><span·class="w">
  
277 </span><span·class="nf">init</span><span·class="p"·data-group-id="9249273462-3">(</span><span·class="p"·data-group-id="9249273462-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">277 </span><span·class="nf">init</span><span·class="p"·data-group-id="4556321527-3">(</span><span·class="p"·data-group-id="4556321527-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
278 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9249273462-4">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">278 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="4556321527-4">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">
279 ························</span><span·class="p"·data-group-id="9249273462-5">[</span><span·class="p"·data-group-id="9249273462-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="9249273462-7">(</span><span·class[·...·truncated·by·diffoscope;·len:·299,·SHA:·89774f579a80b62f3ecd3b21411b3dd4db04f9ded9c427c2bed877970c013dfe·...·]-4">)</span><span·class="p">,</span><span·class="w">279 ························</span><span·class="p"·data-group-id="4556321527-5">[</span><span·class="p"·data-group-id="4556321527-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="4556321527-7">(</span><span·class[·...·truncated·by·diffoscope;·len:·299,·SHA:·c765e095c0c59773e3cd0ff0d38a95c323b853f8596b8087d3954483d759b0d8·...·]-4">)</span><span·class="p">,</span><span·class="w">
280 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9249273462-8">(</span><span·class="ss">dept</span><span·class="p">,</span><span·class="w">280 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="4556321527-8">(</span><span·class="ss">dept</span><span·class="p">,</span><span·class="w">
281 ························</span><span·class="p"·data-group-id="9249273462-9">[</span><span·class="p"·data-group-id="9249273462-10">{</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="9249273462-11">(</span><span·cla[·...·truncated·by·diffoscope;·len:·299,·SHA:·aed43ec91437c02d2f3bedfeabd6b50e7a3cd4c1fc040d89396ac59d14546e75·...·]-8">)</span><span·class="p">,</span><span·class="w">281 ························</span><span·class="p"·data-group-id="4556321527-9">[</span><span·class="p"·data-group-id="4556321527-10">{</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="4556321527-11">(</span><span·cla[·...·truncated·by·diffoscope;·len:·299,·SHA:·a7033a7293e4adfb1ed28e7a7d174b018c5300e5883d6abd4a89df7b35cacab5·...·]-8">)</span><span·class="p">,</span><span·class="w">
282 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9249273462-12">(</span><span·class="ss">project</span><span·class="p">,</span><span·class="w">282 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="4556321527-12">(</span><span·class="ss">project</span><span·class="p">,</span><span·class="w">
283 ························</span><span·class="p"·data-group-id="9249273462-13">[</span><span·class="p"·data-group-id="9249273462-14">{</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="9249273462-15">(</span><span·cl[·...·truncated·by·diffoscope;·len:·304,·SHA:·de84ed3dfa2ce2537a88abb4dabaf6058bf29fd13decbd11de6994ccaecb339b·...·]-12">)</span><span·class="p">,</span><span·class="w">283 ························</span><span·class="p"·data-group-id="4556321527-13">[</span><span·class="p"·data-group-id="4556321527-14">{</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="4556321527-15">(</span><span·cl[·...·truncated·by·diffoscope;·len:·304,·SHA:·c2f94a67888cfaf204dd0218ab011cf19abc1457a093ad1f614547606662df78·...·]-12">)</span><span·class="p">,</span><span·class="w">
284 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9249273462-16">(</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9249273462-17">[</span><span·class="p"·data-group-id="9249273462-18">{</span><span·class="ss">type</span><span·class="p">,<[·...·truncated·by·diffoscope;·len:·98,·SHA:·9763cc72ede9c6b7864b7bb827746796b6f378f992607614d86eca646e492659·...·]-18">}</span><span·class="p">,</span><span·class="w">284 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="4556321527-16">(</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4556321527-17">[</span><span·class="p"·data-group-id="4556321527-18">{</span><span·class="ss">type</span><span·class="p">,<[·...·truncated·by·diffoscope;·len:·98,·SHA:·2b9bfa87298f89ec8563a26ca5e8df411ebaf7ea9ad1117e70cd30522f741b93·...·]-18">}</span><span·class="p">,</span><span·class="w">
285 ··································</span><span·class="p"·data-group-id="9249273462-19">{</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="9249273462-20">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·855c046e87fcd8cc69a5b51e84b4de9e596a55c1e9a19f29129b17ad2826477a·...·]-16">)</span><span·class="p">,</span><span·class="w">285 ··································</span><span·class="p"·data-group-id="4556321527-19">{</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="4556321527-20">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·762853fedb05dcbecb3af71402f63a1468105ad982b9e3a7a7f6ee57a74cfda6·...·]-16">)</span><span·class="p">,</span><span·class="w">
286 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9249273462-21">(</span><span·class="ss">at_dep</span><span·class="p">,</span><span·class="w">286 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="4556321527-21">(</span><span·class="ss">at_dep</span><span·class="p">,</span><span·class="w">
287 ·························</span><span·class="p"·data-group-id="9249273462-22">[</span><span·class="p"·data-group-id="9249273462-23">{</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="9249273462-24">(</span><span·cl[·...·truncated·by·diffoscope;·len:·303,·SHA:·1ba088f6efeb4d2711198f44a7cb0499ae8eb112fd9e86a9c20b527f66838ab2·...·]-21">)</span><span·class="p">,</span><span·class="w">287 ·························</span><span·class="p"·data-group-id="4556321527-22">[</span><span·class="p"·data-group-id="4556321527-23">{</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="4556321527-24">(</span><span·cl[·...·truncated·by·diffoscope;·len:·303,·SHA:·3e8a84415d7fee12d3e1e9b6085317ad60e7acf941a99ec8068b6cf8dfe5f33f·...·]-21">)</span><span·class="p">,</span><span·class="w">
288 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9249273462-25">(</span><span·class="ss">in_proj</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9249273462-26">[</span><span·class="p"·data-group-id="9249273462-27">{</span><span·class="ss">type</span><span·class="p">,<[·...·truncated·by·diffoscope;·len:·98,·SHA:·9763cc72ede9c6b7864b7bb827746796b6f378f992607614d86eca646e492659·...·]-27">}</span><span·class="p">,</span><span·class="w">288 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="4556321527-25">(</span><span·class="ss">in_proj</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4556321527-26">[</span><span·class="p"·data-group-id="4556321527-27">{</span><span·class="ss">type</span><span·class="p">,<[·...·truncated·by·diffoscope;·len:·98,·SHA:·2b9bfa87298f89ec8563a26ca5e8df411ebaf7ea9ad1117e70cd30522f741b93·...·]-27">}</span><span·class="p">,</span><span·class="w">
289 ··································</span><span·class="p"·data-group-id="9249273462-28">{</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="9249273462-29">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·419871f20bf010ace90c268a2764a5560946b43d2efe3497c1296ff1a258a998·...·]-25">)</span><span·class="p">.</span></code></pre><h3·id="program-explained"·class="section-heading">289 ··································</span><span·class="p"·data-group-id="4556321527-28">{</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="4556321527-29">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·fa9850c0b13053d2abb7f757a6f37d817bd9652f828cf2eaabad4606fb96e690·...·]-25">)</span><span·class="p">.</span></code></pre><h3·id="program-explained"·class="section-heading">
290 ··<a·href="#program-explained"·class="hover-link">290 ··<a·href="#program-explained"·class="hover-link">
291 ····<i·class="ri-link-m"·aria-hidden="true"></i>291 ····<i·class="ri-link-m"·aria-hidden="true"></i>
292 ··</a>292 ··</a>
293 ··<span·class="text">Program·Explained</span>293 ··<span·class="text">Program·Explained</span>
294 </h3>294 </h3>
295 <p>The·following·commands·and·functions·are·used·to·initiate·the·<code·class="inline">Company</code>295 <p>The·following·commands·and·functions·are·used·to·initiate·the·<code·class="inline">Company</code>
296 database:</p><ul><li><code·class="inline">%·erl·-mnesia·dir·'&quot;/ldisc/scratch/Mnesia.Company&quot;'</code>.·This·is·a·UNIX296 database:</p><ul><li><code·class="inline">%·erl·-mnesia·dir·'&quot;/ldisc/scratch/Mnesia.Company&quot;'</code>.·This·is·a·UNIX
297 command-line·entry·that·starts·the·Erlang·system.·The·flag·<code·class="inline">-mnesia·dir·Dir</code>297 command-line·entry·that·starts·the·Erlang·system.·The·flag·<code·class="inline">-mnesia·dir·Dir</code>
298 specifies·the·location·of·the·database·directory.·The·system·responds·and298 specifies·the·location·of·the·database·directory.·The·system·responds·and
299 waits·for·further·input·with·the·prompt·<code·class="inline">1&gt;</code>.</li><li><a·href="mnesia.html#create_schema/1"><code·class="inline">mnesia:create_schema([node()])</code></a>.·This·function·has299 waits·for·further·input·with·the·prompt·<code·class="inline">1&gt;</code>.</li><li><a·href="mnesia.html#create_schema/1"><code·class="inline">mnesia:create_schema([node()])</code></a>.·This·function·has
300 the·format·<code·class="inline">mnesia:create_schema(DiscNodeList)</code>·and·initiates·a·new·schema.·In300 the·format·<code·class="inline">mnesia:create_schema(DiscNodeList)</code>·and·initiates·a·new·schema.·In
301 this·example,·a·non-distributed·system·using·only·one·node·is·created.·Schemas301 this·example,·a·non-distributed·system·using·only·one·node·is·created.·Schemas
302 are·fully·explained·in·<a·href="mnesia_chap3.html#def_schema">Define·a·Schema</a>.</li><li><a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>.·This·function·starts·<code·class="inline">Mnesia</code>·and·is·fully302 are·fully·explained·in·<a·href="mnesia_chap3.html#def_schema">Define·a·Schema</a>.</li><li><a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>.·This·function·starts·<code·class="inline">Mnesia</code>·and·is·fully
Max diff block lines reached; 115141/165721 bytes (69.48%) of diff not shown.
618 B
html2text {}
Max HTML report size reached
53.7 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.23.5/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="0101864590-1">(</span><span·class="ss">old</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0101864590-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:·89,·SHA:·d9fc61c1637c68dfabbe07f4b600ed285a9882cc085cb43fbbe656e403968c94·...·]0-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="9401379780-1">(</span><span·class="ss">old</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9401379780-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:·89,·SHA:·9ad4afde64a2eb4eeac917299d207baf036015b7667a10dda07567e0cd6a6f87·...·]0-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="0101864590-3">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0101864590-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:·166,·SHA:·135f1f1e501afb1d43c633ae1bdc28dc7dc7ca34cd9359f4daf5d47a8b36afa9·...·]0-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="9401379780-3">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9401379780-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:·166,·SHA:·125f885c55c3f370abad06949ef85f3730c696d688f48604f48eb265002e8b10·...·]0-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="0101864590-5">(</span><span·class="n">X</span><span·class="p"·data-group-id="0101864590-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="0101864590-6">(</span[·...·truncated·by·diffoscope;·len:·140,·SHA:·9cdef8fc43f7a0a6adb7991b116b8a6f52238a49759cf456cf76e058864145c4·...·]0-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="9401379780-5">(</span><span·class="n">X</span><span·class="p"·data-group-id="9401379780-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="9401379780-6">(</span[·...·truncated·by·diffoscope;·len:·140,·SHA:·6d79a4d654f8b1646893ee86d91974f39b4fd7b5c3ee772029f4de6e4a64cf63·...·]0-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="0101864590-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="9401379780-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="0101864590-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="9401379780-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="0101864590-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="0101864590-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·128,·SHA:·edb6dede9793ce36712e1a73f8eda6fe79413a74d35d3504a537292d0d4f0aa9·...·]0-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="9401379780-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="9401379780-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·128,·SHA:·55a3d26149935d66c005441e348d4b197b4b7664f11fccf096452272b114c037·...·]0-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="0101864590-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="0101864590-10">)</span><span·class="p">,</span><span·class="w">187 ······································</span><span·class="nf">record_info</span><span·class="p"·data-group-id="9401379780-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="9401379780-10">)</span><span·class="p">,</span><span·class="w">
188 ······································</span><span·class="ss">new</span><span·class="p"·data-group-id="0101864590-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="9401379780-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="0965653066-1">(</span><span·class="p"·data-group-id="0965653066-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="0965653066-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·a936b9923dab0a4ff01bf4e8a17d80eaf49936b296743b80103d8c5459bbb1f4·...·]-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="9077810699-1">(</span><span·class="p"·data-group-id="9077810699-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="9077810699-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·0f546355b50e2d8961d49e8d24265294108bd97f7ed1f5714b2857ee282e295a·...·]-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="4157848115-1">(</span><span·class="p"·data-group-id="4157848115-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="5951051836-1">(</span><span·class="p"·data-group-id="5951051836-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="4157848115-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="5951051836-2">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">
244 ·························</span><span·class="p"·data-group-id="4157848115-3">[</span><span·class="p"·data-group-id="4157848115-4">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4157848115-5">[</span><span·class="ss">a@gin</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·158,·SHA:·097dc33ae9a31bb95e0c86d4380b66be51231fe08191ac40ef0195afa51a0fbd·...·]-4">}</span><span·class="p">,</span><span·class="w">244 ·························</span><span·class="p"·data-group-id="5951051836-3">[</span><span·class="p"·data-group-id="5951051836-4">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5951051836-5">[</span><span·class="ss">a@gin</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·158,·SHA:·95351c1cb9560d0a02cb43ff15d2e46fc5b26451c82cb4a3cc7bdfbbdb6101ff·...·]-4">}</span><span·class="p">,</span><span·class="w">
245 ··························</span><span·class="p"·data-group-id="4157848115-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="4157848115-7">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">245 ··························</span><span·class="p"·data-group-id="5951051836-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="5951051836-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="4157848115-7">)</span><span·class="p"·data-group-id="4157848115-6">}</span><span·class="p"·data-group-id="4157848115-3">]</span><span·class="p"·data-group-id="4157848115-2">)</span><span·class="p">,</span><span·class="w">246 ···················································</span><span·class="ss">employee</span><span·class="p"·data-group-id="5951051836-7">)</span><span·class="p"·data-group-id="5951051836-6">}</span><span·class="p"·data-group-id="5951051836-3">]</span><span·class="p"·data-group-id="5951051836-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="4157848115-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="5951051836-8">(</span><span·class="ss">dept</span><span·class="p">,</span><span·class="w">
248 ·························</span><span·class="p"·data-group-id="4157848115-9">[</span><span·class="p"·data-group-id="4157848115-10">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4157848115-11">[</span><span·class="ss">a@gin</span><span·class="p"[·...·truncated·by·diffoscope;·len:·161,·SHA:·ca053b0f74fb538483d5cb1681446b4624c6ecee88818e4f3f528a4083824ac6·...·]-10">}</span><span·class="p">,</span><span·class="w">248 ·························</span><span·class="p"·data-group-id="5951051836-9">[</span><span·class="p"·data-group-id="5951051836-10">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5951051836-11">[</span><span·class="ss">a@gin</span><span·class="p"[·...·truncated·by·diffoscope;·len:·161,·SHA:·e9a80fcb8ef566189b14de88b3ff655038fd03e31407368a8dca1e84030a9be1·...·]-10">}</span><span·class="p">,</span><span·class="w">
249 ··························</span><span·class="p"·data-group-id="4157848115-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="4157848115-13">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·246,·SHA:·d3c03aa434e31f9c58d8ffa05b1693f43162be4c5aa06dd0278be33808077150·...·]-8">)</span><span·class="p">,</span><span·class="w">249 ··························</span><span·class="p"·data-group-id="5951051836-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="5951051836-13">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·246,·SHA:·2208c106867becf728e9ace8abc8d0bd359fc55711f2ce3a4748d4a745e0f786·...·]-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="4157848115-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="5951051836-14">(</span><span·class="ss">project</span><span·class="p">,</span><span·class="w">
251 ·························</span><span·class="p"·data-group-id="4157848115-15">[</span><span·class="p"·data-group-id="4157848115-16">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4157848115-17">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·89f8b9092493a26720c4ed27e5f888a24f43c5db7e6d18a4bdeb99cd0a3a6d7f·...·]-16">}</span><span·class="p">,</span><span·class="w">251 ·························</span><span·class="p"·data-group-id="5951051836-15">[</span><span·class="p"·data-group-id="5951051836-16">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5951051836-17">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·6883d47bcaffa9e5d5e9b65f577c88a7c0821063946451f2bbda8ca3cbdc79d7·...·]-16">}</span><span·class="p">,</span><span·class="w">
252 ··························</span><span·class="p"·data-group-id="4157848115-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="4157848115-19">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·b676c7942f2f8c52f3b66f59c9af7a1fee9ae6134800d7cb39419c2c63e3dc44·...·]-14">)</span><span·class="p">,</span><span·class="w">252 ··························</span><span·class="p"·data-group-id="5951051836-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="5951051836-19">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·8d0b068c0d7c7d64caf5e42ccddf9b3da45282ae0cc9441c9731a24271c02fe3·...·]-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="4157848115-20">(</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4157848115-21">[</span><span·class="p"·data-group-id="4157848115-22">{</span><span·class="ss">type</span><span·class="p">,<[·...·truncated·by·diffoscope;·len:·98,·SHA:·23fe2718920cbb705f3541993772098cd29908020240902878f170bc8256a49a·...·]-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="5951051836-20">(</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5951051836-21">[</span><span·class="p"·data-group-id="5951051836-22">{</span><span·class="ss">type</span><span·class="p">,<[·...·truncated·by·diffoscope;·len:·98,·SHA:·5f0bac73c08541af7eb5a80d5ad518fe8111022ad4e1c2ebda43d4da3ee6d7f2·...·]-22">}</span><span·class="p">,</span><span·class="w">
254 ··································</span><span·class="p"·data-group-id="4157848115-23">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4157848115-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:·891c370704dd9f96da0253ea2e31d8650bd2f79cdb735fa0f8c5da7ec242070f·...·]-23">}</span><span·class="p">,</span><span·class="w">254 ··································</span><span·class="p"·data-group-id="5951051836-23">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5951051836-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:·802ea72eeb1d799b03ab931f7f201d2fe4284cfcb9809aea494fa559efc78b86·...·]-23">}</span><span·class="p">,</span><span·class="w">
255 ··································</span><span·class="p"·data-group-id="4157848115-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="4157848115-26">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">255 ··································</span><span·class="p"·data-group-id="5951051836-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="5951051836-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="4157848115-26">)</span><span·class="p"·data-group-id="4157848115-25">}</span><span·class="p"·data-group-id="4157848115-21">]</span><span·class="p"·data-group-id="4157848115-20">)</span><span·class="p">,</span><span·class="w">256 ···························································</span><span·class="ss">manager</span><span·class="p"·data-group-id="5951051836-26">)</span><span·class="p"·data-group-id="5951051836-25">}</span><span·class="p"·data-group-id="5951051836-21">]</span><span·class="p"·data-group-id="5951051836-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="4157848115-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="5951051836-27">(</span><span·class="ss">at_dep</span><span·class="p">,</span><span·class="w">
258 ·························</span><span·class="p"·data-group-id="4157848115-28">[</span><span·class="p"·data-group-id="4157848115-29">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4157848115-30">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·3e66456bcff4fd425ca726dfec37f35e42157d69f05c9788b4943fde25324385·...·]-29">}</span><span·class="p">,</span><span·class="w">258 ·························</span><span·class="p"·data-group-id="5951051836-28">[</span><span·class="p"·data-group-id="5951051836-29">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5951051836-30">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·f9c2f55f052658640e98f1e85607e9961abc46581d6c0e77f644ba30afa21915·...·]-29">}</span><span·class="p">,</span><span·class="w">
259 ··························</span><span·class="p"·data-group-id="4157848115-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="4157848115-32">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·249,·SHA:·92b5637d40c4d6c2fbdd872f4879544316235bb03c092495ad31a56bc023f985·...·]-27">)</span><span·class="p">,</span><span·class="w">259 ··························</span><span·class="p"·data-group-id="5951051836-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="5951051836-32">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·249,·SHA:·be28146a7a3368119e6c3a592510ad00541dcb6ae5c08f0c2baac1c7c1bd4f50·...·]-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="4157848115-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="5951051836-33">(</span><span·class="ss">in_proj</span><span·class="p">,</span><span·class="w">
261 ························</span><span·class="p"·data-group-id="4157848115-34">[</span><span·class="p"·data-group-id="4157848115-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="4157848115-35">}</span><span·class="p">,</span><span·class="w">261 ························</span><span·class="p"·data-group-id="5951051836-34">[</span><span·class="p"·data-group-id="5951051836-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="5951051836-35">}</span><span·class="p">,</span><span·class="w">
262 ·························</span><span·class="p"·data-group-id="4157848115-36">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4157848115-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:·a54e69c26d6d6d5b2696360f0d25d10f6274f9da1701e0e52692a250e001d03e·...·]-36">}</span><span·class="p">,</span><span·class="w">262 ·························</span><span·class="p"·data-group-id="5951051836-36">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5951051836-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:·b967a95d9a73856f2c308dd6d60c8bf60202934bc019f99758ae2502008877e2·...·]-36">}</span><span·class="p">,</span><span·class="w">
263 ·························</span><span·class="p"·data-group-id="4157848115-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="4157848115-39">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·cb19b98e53ebb8371efb3352a5bc231bf22eaa9a8a34bb3bfd1562c5f6c2a1ab·...·]-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="5951051836-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="5951051836-39">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·e37ebf21b3b94df87c3f0c338874c6da439cd0cdb47c0c86c56254cb3ed8688b·...·]-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="0351155523-1">(</span><span·class="p"·data-group-id="0351155523-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="9910460743-1">(</span><span·class="p"·data-group-id="9910460743-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="9609911223-1">(</span><span·class="p"·data-group-id="9609911223-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="9609911223-2">]</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·87,·SHA:·a66a8b4433a15282f47aa7435238763b39186b2e1cfaa95014ed0f4764a319e9·...·]3-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="0763489413-1">(</span><span·class="p"·data-group-id="0763489413-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="0763489413-2">]</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·87,·SHA:·79a3923ddf1c4e7983fafcc3f8abfc9e8f0f156dedaa20d0391141249309cc04·...·]3-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
304 ··</span><span·class="p"·data-group-id="9609911223-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="9609911223-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">304 ··</span><span·class="p"·data-group-id="0763489413-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="0763489413-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="9609911223-4">(</span><span·class="n">RemainingTabs</span><span·class="p"·data-group-id="9609911223-4">)</span><span·class="p">;</span><span·class="w">305 ····</span><span·class="nf">panic</span><span·class="p"·data-group-id="0763489413-4">(</span><span·class="n">RemainingTabs</span><span·class="p"·data-group-id="0763489413-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="1638338634-1">(</span><span·class="p"·data-group-id="1638338634-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="5752861774-1">(</span><span·class="p"·data-group-id="5752861774-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="1638338634-2">(</span><span·class="p"·data-group-id="1638338634-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="5752861774-2">(</span><span·class="p"·data-group-id="5752861774-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="1638338634-3">(</span><span·class="p"·data-group-id="1638338634-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:·85,·SHA:·ed7cedf5c942e4589d7c3ee23fb6688f0ad6caa0ea31cd38067ae035f71fe6e7·...·]4-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="5752861774-3">(</span><span·class="p"·data-group-id="5752861774-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:·85,·SHA:·e9c35ceed0c66084f271dc2b78d7cf2bb4077ca17e9908199a4bfdd75d5ee1f0·...·]4-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="1638338634-5">(</span><span·class="p"·data-group-id="1638338634-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:·85,·SHA:·30a578cb03d8fe25fe145f82258b9bf3b69f148632c6204abb8513696b13fab0·...·]4-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="5752861774-5">(</span><span·class="p"·data-group-id="5752861774-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:·85,·SHA:·36156f51b6ae2f7a5a0916a41234bd5ef54691e220a544d81d4494f2b782ede2·...·]4-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="1638338634-7">(</span><span·class="p"·data-group-id="1638338634-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="1638338634-8">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·12,·SHA:·1490fea3ed47f3cd9c2d84df194ceb174256654edda67653d3711a4a70c0cc0f·...·]4-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="5752861774-7">(</span><span·class="p"·data-group-id="5752861774-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="5752861774-8">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·12,·SHA:·166bf2db169b0ab95f927e76a1031e5ab1299e5e636a8f4a17c633359c252376·...·]4-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="1638338634-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="1638338634-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="5752861774-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="5752861774-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.23.5/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="5947327369-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="5947327369-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="5757259389-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="5757259389-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="5947327369-2">(</span><span·class="p"·data-group-id="5947327369-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="5757259389-2">(</span><span·class="p"·data-group-id="5757259389-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
150 ················</span><span·class="p"·data-group-id="5947327369-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="5947327369-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><spa[·...·truncated·by·diffoscope;·len:·272,·SHA:·4597af7eab33cc1616213d395c2bf45b06475e46a005aab733b485d8f916048c·...·]9-4">)</span><span·class="p">,</span><span·class="w">150 ················</span><span·class="p"·data-group-id="5757259389-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="5757259389-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><spa[·...·truncated·by·diffoscope;·len:·272,·SHA:·dd73d2320b22bda00b6ed5bd6c56345cb54da2a4761f247db78ce5ef53e7c7bd·...·]9-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="5947327369-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="5947327369-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="5757259389-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="5757259389-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="5947327369-6">(</span><span·class="n">New</span><span·class="p"·data-group-id="5947327369-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="5757259389-6">(</span><span·class="n">New</span><span·class="p"·data-group-id="5757259389-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="5947327369-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="5947327369-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="5757259389-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="5757259389-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="7376784204-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="7376784204-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="6521535103-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="6521535103-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="7376784204-2">(</span><span·class="p"·data-group-id="7376784204-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="6521535103-2">(</span><span·class="p"·data-group-id="6521535103-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
251 ················</span><span·class="p"·data-group-id="7376784204-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="7376784204-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:·fe864318a035799efee3ee4939b644712ca5614ce5b64b5b3e23d0fb7faebfe3·...·]-4">)</span><span·class="p">,</span><span·class="w">251 ················</span><span·class="p"·data-group-id="6521535103-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="6521535103-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:·06e27e69fa15207ccdbcb107b842054222ae5f57f97bbc443f30efa5e9b3c1b7·...·]-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="7376784204-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="7376784204-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="6521535103-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="6521535103-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="7376784204-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="7376784204-8">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·73ba6c15e4d0dc565c4803c89e24272cd72293c82eb80b8c59834c8269c58a8c·...·]-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="6521535103-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="6521535103-8">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·73e445197457c515a1a7baf279a11f66e70b756792d022f7a5dbb5d1837f119e·...·]-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="7376784204-9">(</span><span·class="n">New</span><span·class="p"·data-group-id="7376784204-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="6521535103-9">(</span><span·class="n">New</span><span·class="p"·data-group-id="6521535103-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="7376784204-10">(</span><span·class="n">F</span><span·class="p"·data-group-id="7376784204-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="6521535103-10">(</span><span·class="n">F</span><span·class="p"·data-group-id="6521535103-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="5210353196-1">(</span><span·class="p"·data-group-id="5210353196-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="0082563516-1">(</span><span·class="p"·data-group-id="0082563516-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="5210353196-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="5210353196-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:·89,·SHA:·def28aa99bed59247b033e464710c49fbbc42579cc7fec3c5a3ad5e1b360718b·...·]6-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="0082563516-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="0082563516-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:·89,·SHA:·a72c503957a7db8b1474df1eb8c1bf8df84e54c2a674b323852fe67a1b44cccd·...·]6-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="5210353196-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="5210353196-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·cla[·...·truncated·by·diffoscope;·len:·556,·SHA:·04c4acc4b0e31712712bb14898549987ef81fad1fc95a4ee98218280ff6dbdbe·...·]9-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="0082563516-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="0082563516-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·cla[·...·truncated·by·diffoscope;·len:·556,·SHA:·a2f5028a743eb52ae081f394e558d8d835a900229ce4dbff52ae24491f0ba25a·...·]9-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="2667252969-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="2667252969-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:·89,·SHA:·8d1050c10d9a6f8476452e994414cc1add683594ec945e9db37d7281b5e52dec·...·]9-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="7621002709-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="7621002709-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:·89,·SHA:·3b42c56dacd8299d9426f1ef67857f1fccfff4ac483cfc4d78285102a6e3c3c9·...·]9-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="2667252969-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="2667252969-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="7621002709-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="7621002709-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="9014236169-1">(</span><span·class="p"·data-group-id="9014236169-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="9014236169-2">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">read</span><span·class="p"·data-group-id="9014236169-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="9014236169-3">(</span><span·class="p"·data-group-id="9014236169-4">{</span><span·class="ss">table</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·345,·SHA:·cf5b0d1ca419214259f8f03c2a9473f62f79b96343be08dec04ca4e88900b029·...·]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:·887dce3c69f34a64efa3b70c38d5d6fb0cacca7aa426f97d0a8dc282526446e8·...·]
 337 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="8161416870-3">(</span><span·class="p"·data-group-id="8161416870-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="8161416870-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">write</span><span·class="p"·data-group-id="8161416870-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="4808090704-1">(</span><span·class="ss">subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4808090704-2">[</span><span·class="p"·data-group-id="4808090704-2">]</span><span·class="p"·data-group-id="4808090704-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="7893432688-1">(</span><span·class="ss">subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7893432688-2">[</span><span·class="p"·data-group-id="7893432688-2">]</span><span·class="p"·data-group-id="7893432688-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="7718193284-1">[</span><span·class="p"·data-group-id="7718193284-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="7718193284-2">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·61f12f2442f50f1abb21a8cc9cfb1db374475e163949e74351a563628efdbdd7·...·]-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="9742343430-1">[</span><span·class="p"·data-group-id="9742343430-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="9742343430-2">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·a2079461e98a2c59e3403dc92b4f5aced5d13b41641b7ee88a8006ee108c33d4·...·]-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="7718193284-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="7718193284-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="9742343430-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="9742343430-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="7718193284-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="7718193284-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="9742343430-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="9742343430-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="8160178314-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="8160178314-2">{</span><span·class="p"·data-group-id="8160178314[·...·truncated·by·diffoscope;·len:·130,·SHA:·c26f66fb30a4fa7de0ae7651136d771966863b2603c27c04f0248d50f92efc88·...·]-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="7111909788-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="7111909788-2">{</span><span·class="p"·data-group-id="7111909788[·...·truncated·by·diffoscope;·len:·130,·SHA:·dba7dc3131a4178f99f9bbd48860a482ed56aba527b3921fc24aec5f5daa3275·...·]-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="8160178314-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="8160178314-4">{</span><span·class="p"·data-group-id="8160178[·...·truncated·by·diffoscope;·len:·140,·SHA:·0ced00d9db33fb68cb92467fce94528ec51a27b86208c68cd302237ab855d615·...·]-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="7111909788-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="7111909788-4">{</span><span·class="p"·data-group-id="7111909[·...·truncated·by·diffoscope;·len:·140,·SHA:·e455bf9ca8e26a905ecc33df3a99d9f2017d24acbfa1af732d611f3bd517b511·...·]-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="8160178314-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="8160178314-6">{</span><span·class="p"·data-group-id="81601[·...·truncated·by·diffoscope;·len:·135,·SHA:·37335767f516ee265ac75e766eb0e694da365f0d45e36dc60b6748273e09deaa·...·]-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="7111909788-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="7111909788-6">{</span><span·class="p"·data-group-id="71119[·...·truncated·by·diffoscope;·len:·135,·SHA:·a747bc80b915fa9216f1850c1bc13c5f6d45d4bf2858e3628af3fe5b8ec36cab·...·]-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="9033408642-1">(</span><span·class="n">Record</span><span·class="p"·data-group-id="9033408642-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="2592414802-1">(</span><span·class="n">Record</span><span·class="p"·data-group-id="2592414802-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="9033408642-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="9033408642-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="2592414802-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="2592414802-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="9033408642-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="9033408642-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="2592414802-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="2592414802-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="9033408642-4">(</span><span·class="p"·data-group-id="9033408642-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="9033408642-5">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·12,·SHA:·ea0974c0da46da903e63ac34fc886ef6245d424b6a9910211e01d1f5e80af2e8·...·]2-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="2592414802-4">(</span><span·class="p"·data-group-id="2592414802-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="2592414802-5">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·12,·SHA:·503e88fbfbc8b6bc0fd3dfb18d361d9d0da9710c7bcf4e2f4ba37d68d1017ea0·...·]2-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="9033408642-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="9033408642-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="2592414802-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="2592414802-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="9033408642-7">(</span><span·class="n">Record</span><span·class="p"·data-group-id="9033408642-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="2592414802-7">(</span><span·class="n">Record</span><span·class="p"·data-group-id="2592414802-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="9033408642-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="9033408642-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="2592414802-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="2592414802-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="9033408642-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="9033408642-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="2592414802-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="2592414802-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="9033408642-10">(</span><span·class="p"·data-group-id="9033408642-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="9033408642-11">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·90,·SHA:·5ad992fc7bd95ba8294b652ff0835a930963f1c90e937559601ecb4ca1abca79·...·]2-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="2592414802-10">(</span><span·class="p"·data-group-id="2592414802-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="2592414802-11">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·90,·SHA:·8f1b01e42fe1581a9e5a11a9698ad11435279717b6e2dc528f7aabc1a620bb38·...·]2-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="9033408642-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="9033408642-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="2592414802-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="2592414802-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="9033408642-13">(</span><span·class="p"·data-group-id="9033408642-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="9033408642-14">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·15,·SHA:·cffb9d677e5b73a8cf7b22d7ca45369a928815f0d3fe13f2a13fd45d17cc0b95·...·]2-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="2592414802-13">(</span><span·class="p"·data-group-id="2592414802-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="2592414802-14">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·15,·SHA:·0169edd4f343eee54c620802d86c77c51ef5df7e68491fca67bbba481f5a3c98·...·]2-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="9033408642-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="9033408642-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="2592414802-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="2592414802-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="9033408642-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="9033408642-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="2592414802-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="2592414802-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="9033408642-17">(</span><span·class="n">Pattern</span><span·class="p"·data-group-id="9033408642-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="2592414802-17">(</span><span·class="n">Pattern</span><span·class="p"·data-group-id="2592414802-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="9033408642-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="9033408642-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="2592414802-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="2592414802-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="9033408642-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="9033408642-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="2592414802-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="2592414802-19">)</span><span·class="p">.</span><span·class="w">
  
Max diff block lines reached; 95648/144816 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.23.5/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="0750023876-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="3528698877-1">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">
171 ····················</span><span·class="p"·data-group-id="0750023876-2">[</span><span·class="p"·data-group-id="0750023876-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0750023876-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·8ba1ebdb3c4d3708e992fbe2ad73e708f1a5d9627ce1a49cfc04e56f97f134a2·...·]-3">}</span><span·class="p">,</span><span·class="w">171 ····················</span><span·class="p"·data-group-id="3528698877-2">[</span><span·class="p"·data-group-id="3528698877-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3528698877-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·a841fe563d8a9787dacc5cdeaecb15b834c723138fc8e844de9cced4ebcceab9·...·]-3">}</span><span·class="p">,</span><span·class="w">
172 ·····················</span><span·class="p"·data-group-id="0750023876-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="0750023876-6">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·241,·SHA:·2da71448f4e28cd221ea67c53f71a4e401192576676873f78f7efe9d4c455fe4·...·]-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="3528698877-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="3528698877-6">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·241,·SHA:·cdeaed8621702140a3a407ade95af6c54bf278559f3653fb552494b83c3b8cea·...·]-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="5579801445-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:·25865a97a60ed504680eee49eecafb85db86d58b113f288ed1a027d4658efe99·...·]-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="7764429601-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:·ff719cb4ba142ca1461801931fe540cb99b7aceb51b0d79eb88fb3ca44ae4494·...·]-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="5579801445-3">(</span><span·class="p"·data-group-id="5579801445-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="7764429601-3">(</span><span·class="p"·data-group-id="7764429601-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="5579801445-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="5579801445-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">syste[·...·truncated·by·diffoscope;·len:·147,·SHA:·4fdc3bace64d2e1b482e792f6f28310e6490744aab30fd36ab5df426e1d4af8c·...·]-5">)</span><span·class="p">.</span><span·class="w">228 </span><span·class="p"·data-group-id="7764429601-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="7764429601-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">syste[·...·truncated·by·diffoscope;·len:·147,·SHA:·0c6214797c058eb10b89ad1964d426139aff7567233db04ad0cb1be96eaaf474·...·]-5">)</span><span·class="p">.</span><span·class="w">
229 </span><span·class="p"·data-group-id="5579801445-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="5579801445-6">]</span><span·class="gp·unselectable">229 </span><span·class="p"·data-group-id="7764429601-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="7764429601-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="5579801445-7">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="5579801445-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">creat[·...·truncated·by·diffoscope;·len:·692,·SHA:·4eeb01f0ca3e46d89ec617c91edaae56cf8430b98fbe94823620b784cfd4dae9·...·]-8">)</span><span·class="p">.</span><span·class="w">232 </span><span·class="p"·data-group-id="7764429601-7">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="7764429601-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">creat[·...·truncated·by·diffoscope;·len:·692,·SHA:·815e712cb70d2770f2ad4427d164e9d5c753b0b8ce9c1885dee9d2b3e5379323·...·]-8">)</span><span·class="p">.</span><span·class="w">
233 </span><span·class="p"·data-group-id="5579801445-12">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="5579801445-12">}</span><span·class="gp·unselectable">233 </span><span·class="p"·data-group-id="7764429601-12">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="7764429601-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="5579801445-13">(</span><span·class="n">Keys</span><span·class="p"·data-group-id="5579801445-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5579801445-14">[</span><span·class="nc">mnesi[·...·truncated·by·diffoscope;·len:·664,·SHA:·1142528d9ea2bd26b96ebb5ee612c53c4aaf7689ddc81c0c9f2bbc1bb331e04d·...·]-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="7764429601-13">(</span><span·class="n">Keys</span><span·class="p"·data-group-id="7764429601-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7764429601-14">[</span><span·class="nc">mnesi[·...·truncated·by·diffoscope;·len:·664,·SHA:·f0d88640aeeaebb031e6716c3b2ebb3260eb22b6aec8f50e91e4e4c6cc85061e·...·]-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="5579801445-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="5579801445-18">[</span><span·class="nc">list[·...·truncated·by·diffoscope;·len:·445,·SHA:·b425b8b8f89f6a61ede9a1fb2f11e135dec60673f736478023e04fba13dcd1c5·...·]-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="7764429601-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="7764429601-18">[</span><span·class="nc">list[·...·truncated·by·diffoscope;·len:·445,·SHA:·d3c697b680f24eaed833f528f382df9696655cb1b306039955cd1c2d719c6f02·...·]-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="5579801445-20">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="5579801445-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">cha[·...·truncated·by·diffoscope;·len:·486,·SHA:·8d779282163493bf7db06d63888d88d2de8fba733667b6205152d64944a8b177·...·]-21">)</span><span·class="p">.</span><span·class="w">238 </span><span·class="p"·data-group-id="7764429601-20">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="7764429601-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">cha[·...·truncated·by·diffoscope;·len:·486,·SHA:·e9f2f11deb98a3d12dd74203784df6bf4cb048de580bab97994b8dae9ce06860·...·]-21">)</span><span·class="p">.</span><span·class="w">
239 </span><span·class="p"·data-group-id="5579801445-24">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="5579801445-24">}</span><span·class="gp·unselectable">239 </span><span·class="p"·data-group-id="7764429601-24">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="7764429601-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="5579801445-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="5579801445-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="7764429601-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="7764429601-25">)</span><span·class="p">.</span><span·class="w">
241 </span><span·class="p"·data-group-id="5579801445-26">[</span><span·class="p"·data-group-id="5579801445-27">{</span><span·class="ss">base_table</span><span·class="p">,</span><span·class="ss">dictionary</span><span·class="p"·data-group-id="5579801445-27">}</span><span·class="p">,</span><span·class="w">241 </span><span·class="p"·data-group-id="7764429601-26">[</span><span·class="p"·data-group-id="7764429601-27">{</span><span·class="ss">base_table</span><span·class="p">,</span><span·class="ss">dictionary</span><span·class="p"·data-group-id="7764429601-27">}</span><span·class="p">,</span><span·class="w">
242 ·</span><span·class="p"·data-group-id="5579801445-28">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="5579801445-28">}</span><span·class="p">,</span><span·class="w">242 ·</span><span·class="p"·data-group-id="7764429601-28">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="7764429601-28">}</span><span·class="p">,</span><span·class="w">
243 ·</span><span·class="p"·data-group-id="5579801445-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="5579801445-29">}</span><span·class="p">,</span><span·class="w">243 ·</span><span·class="p"·data-group-id="7764429601-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="7764429601-29">}</span><span·class="p">,</span><span·class="w">
244 ·</span><span·class="p"·data-group-id="5579801445-30">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="p"·data-group-id="5579801445-31">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="m[·...·truncated·by·diffoscope;·len:·209,·SHA:·656f760e7665f5810670bf9d549a5cd98c5598778f915c21d02700ff3568ffb9·...·]-30">}</span><span·class="p">,</span><span·class="w">244 ·</span><span·class="p"·data-group-id="7764429601-30">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="p"·data-group-id="7764429601-31">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="m[·...·truncated·by·diffoscope;·len:·209,·SHA:·86a38ab17cbe0f253b648185a93b3f32ae2a52ae64d727c91f0ff12f8090e13c·...·]-30">}</span><span·class="p">,</span><span·class="w">
245 ·</span><span·class="p"·data-group-id="5579801445-32">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5579801445-32">}</span><span·class="p">,</span><span·class="w">245 ·</span><span·class="p"·data-group-id="7764429601-32">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7764429601-32">}</span><span·class="p">,</span><span·class="w">
246 ·</span><span·class="p"·data-group-id="5579801445-33">{</span><span·class="ss">node_pool</span><span·class="p">,</span><span·class="p"·data-group-id="5579801445-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:·162,·SHA:·df0df47224a9c24deaa173fe39472453519f5d4c53c373c5366d21e65b503f66·...·]-26">]</span><span·class="gp·unselectable">246 ·</span><span·class="p"·data-group-id="7764429601-33">{</span><span·class="ss">node_pool</span><span·class="p">,</span><span·class="p"·data-group-id="7764429601-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:·162,·SHA:·5bdfe7ad947df598f1331d97387c60ddcbfa77def6bcf32fd9a53178779b1050·...·]-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="5579801445-35">(</span><span·class="n">Item</span><span·class="p"·data-group-id="5579801445-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:·208,·SHA:·5476823673f445d9cebc3c623b87c512d535271aea89f38ca8bf62f74db39969·...·]-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="7764429601-35">(</span><span·class="n">Item</span><span·class="p"·data-group-id="7764429601-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:·208,·SHA:·91ee6c4c6f132887b7a12bb130699974e54da37d877f22b8bfb479f776172213·...·]-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="5579801445-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="5579801445-38">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·638633acab04ed8575b64e7228414d57b4218d76989712c5267f172f5a0235f2·...·]-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="7764429601-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="7764429601-38">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·69b884dd5f59cddeffc0922c137ee50762228b169823dd0cae8d3068473c9ac8·...·]-37">)</span><span·class="p">.</span><span·class="w">
250 </span><span·class="p"·data-group-id="5579801445-39">[</span><span·class="p"·data-group-id="5579801445-40">{</span><span·class="ss">c@sam</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="5579801445-40">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·a977aadd54e9fd82f716a76affb9ce84721b54cb14c1a5af97be738dc8ed007c·...·]-39">]</span><span·class="gp·unselectable">250 </span><span·class="p"·data-group-id="7764429601-39">[</span><span·class="p"·data-group-id="7764429601-40">{</span><span·class="ss">c@sam</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="7764429601-40">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·119f2bb7d15c1eafe24571892b9006bfdd0aa665541a35a817eb3f312d3b3c87·...·]-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="5579801445-43">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5579801445-44">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·1898d615bbb487646227cd63189fdfc75263be075c5e533f738c9c294f9bec65·...·]-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="7764429601-43">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7764429601-44">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·f85156fa038311777e0c4b943a2a83c9fcc1573c2a82ec36c99d6de37737bb74·...·]-43">)</span><span·class="p">.</span><span·class="w">
252 </span><span·class="p"·data-group-id="5579801445-45">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="5579801445-45">}</span><span·class="gp·unselectable">252 </span><span·class="p"·data-group-id="7764429601-45">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="7764429601-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="5579801445-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="5579801445-47">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·c5ddd1b2de857f5c6fc34b99aae016397dda33d45c75783f1bb3b9361418f0d1·...·]-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="7764429601-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="7764429601-47">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·68d206903ccd4ab3469cebe88f3e4ad9091fc2e9c479923b7f93f62dd3b64830·...·]-46">)</span><span·class="p">.</span><span·class="w">
254 </span><span·class="p"·data-group-id="5579801445-48">[</span><span·class="p"·data-group-id="5579801445-49">{</span><span·class="ss">b@sam</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5579801445-49">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·f2a76801a45e1f5f2027acc8111c87806b621e552589b92df96bb24b503572af·...·]-48">]</span><span·class="gp·unselectable">254 </span><span·class="p"·data-group-id="7764429601-48">[</span><span·class="p"·data-group-id="7764429601-49">{</span><span·class="ss">b@sam</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7764429601-49">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·b76bbf2d6ea1f2f8a8fc1c671fb36265cc497193cb4b09f36220c41bf860b0ed·...·]-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="5579801445-52">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5579801445-53">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist2</sp[·...·truncated·by·diffoscope;·len:·98,·SHA:·bf3a41beaea4978362edba2ca91e1801a00a52e012fef25346eef7016fd3fb18·...·]-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="7764429601-52">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7764429601-53">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist2</sp[·...·truncated·by·diffoscope;·len:·98,·SHA:·33bd6151d5e105e4498d756786e932f0885269c9c9c81433f82e151034c32287·...·]-52">)</span><span·class="p">.</span><span·class="w">
256 </span><span·class="p"·data-group-id="5579801445-54">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="5579801445-54">}</span><span·class="gp·unselectable">256 </span><span·class="p"·data-group-id="7764429601-54">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="7764429601-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="5579801445-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="5579801445-56">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·21b218b0a22fc99421936f2f5d6541bb4ceff8571c1cc97d261805e8d7c46125·...·]-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="7764429601-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="7764429601-56">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·f4ad1a8cfc016fefb08854f967c32abd5d8558509b3b621329faef23d50f477b·...·]-55">)</span><span·class="p">.</span><span·class="w">
258 </span><span·class="p"·data-group-id="5579801445-57">[</span><span·class="p"·data-group-id="5579801445-58">{</span><span·class="ss">a@sam</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="5579801445-58">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·e070831f5c03706aff4a42166c28975dd7bc8674454f8d763c19a843a7aa6492·...·]-57">]</span><span·class="gp·unselectable">258 </span><span·class="p"·data-group-id="7764429601-57">[</span><span·class="p"·data-group-id="7764429601-58">{</span><span·class="ss">a@sam</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7764429601-58">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·e5d612904185a301c27c9ad576c2af4842ccceee4032bab7fa59c3c07650d412·...·]-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="5579801445-61">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5579801445-62">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist3</sp[·...·truncated·by·diffoscope;·len:·98,·SHA:·bd643cf7dc27a9f19179e44b452671c0acf970c73b0cb62dd852849a09532931·...·]-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="7764429601-61">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7764429601-62">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist3</sp[·...·truncated·by·diffoscope;·len:·98,·SHA:·9c8c91dfca52a96d2b16f6763d46d56fe9586a92d5d1e86d6422cf8a1258f3e6·...·]-61">)</span><span·class="p">.</span><span·class="w">
260 </span><span·class="p"·data-group-id="5579801445-63">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="5579801445-63">}</span><span·class="gp·unselectable">260 </span><span·class="p"·data-group-id="7764429601-63">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="7764429601-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="5579801445-64">(</span><span·class="n">Key</span><span·class="p"·data-group-id="5579801445-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</[·...·truncated·by·diffoscope;·len:·308,·SHA:·b1ae1e1394b393eb426b365bb2c6f95b8f1bc33f540ddd565972ef8734983b61·...·]-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="7764429601-64">(</span><span·class="n">Key</span><span·class="p"·data-group-id="7764429601-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</[·...·truncated·by·diffoscope;·len:·308,·SHA:·1c5aa9f1026799be9e1af720ae1171e4eea704111de66bcc6130a5505acda075·...·]-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="5579801445-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="5579801445-68">[</span><span·class="mi">12</[·...·truncated·by·diffoscope;·len:·183,·SHA:·54962f6cb5b0e1471d747ddfcb3a82b2ae51ffb94f4cdf11e5479518c2eab7d0·...·]-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="7764429601-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="7764429601-68">[</span><span·class="mi">12</[·...·truncated·by·diffoscope;·len:·183,·SHA:·37987bc258f7cbb7a48232ce894ae820537b0557915b5924b9c1c51fa45e12bd·...·]-67">)</span><span·class="p">.</span><span·class="w">
264 </span><span·class="p"·data-group-id="5579801445-69">[</span><span·class="p"·data-group-id="5579801445-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-[·...·truncated·by·diffoscope;·len:·74,·SHA:·b2f5feeef78f4a313148dbca49fc840dadb441d65e2219e6d15f16917c59cf25·...·]-69">]</span><span·class="gp·unselectable">264 </span><span·class="p"·data-group-id="7764429601-69">[</span><span·class="p"·data-group-id="7764429601-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-[·...·truncated·by·diffoscope;·len:·74,·SHA:·68a80793f54413423750efb5da9654b17d27550f3f55f6a6ed524a48c2475f58·...·]-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="5579801445-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="5579801445-72">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·9c75fbf9f1354f3e4e40ffc21d7da430cc20f1aadb315b050aa75fbc9a3b4818·...·]-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="7764429601-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="7764429601-72">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·e41d09836dd2752dd3f69a532690796474c8c633d7636e53faba51c54f018fc6·...·]-71">)</span><span·class="p">.</span><span·class="w">
266 </span><span·class="p"·data-group-id="5579801445-73">[</span><span·class="p"·data-group-id="5579801445-74">{</span><span·class="ss">dictionary</span><span·class="p">,</span><span·class="mi">57</span><span·class="p"·data-group-id="5579801445-74">}</span><span·class="p">,</span><span·class="w">266 </span><span·class="p"·data-group-id="7764429601-73">[</span><span·class="p"·data-group-id="7764429601-74">{</span><span·class="ss">dictionary</span><span·class="p">,</span><span·class="mi">57</span><span·class="p"·data-group-id="7764429601-74">}</span><span·class="p">,</span><span·class="w">
267 ·</span><span·class="p"·data-group-id="5579801445-75">{</span><span·class="ss">dictionary_frag2</span><span·class="p">,</span><span·class="mi">63</span><span·class="p"·data-group-id="5579801445-75">}</span><span·class="p">,</span><span·class="w">267 ·</span><span·class="p"·data-group-id="7764429601-75">{</span><span·class="ss">dictionary_frag2</span><span·class="p">,</span><span·class="mi">63</span><span·class="p"·data-group-id="7764429601-75">}</span><span·class="p">,</span><span·class="w">
268 ·</span><span·class="p"·data-group-id="5579801445-76">{</span><span·class="ss">dictionary_frag3</span><span·class="p">,</span><span·class="mi">62</span><span·class="p"·data-group-id="5579801445-76">}</span><span·class="p">,</span><span·class="w">268 ·</span><span·class="p"·data-group-id="7764429601-76">{</span><span·class="ss">dictionary_frag3</span><span·class="p">,</span><span·class="mi">62</span><span·class="p"·data-group-id="7764429601-76">}</span><span·class="p">,</span><span·class="w">
269 ·</span><span·class="p"·data-group-id="5579801445-77">{</span><span·class="ss">dictionary_frag4</span><span·class="p">,</span><span·class="mi">74</span><span·class="p"·data-group-id="5579801445-77">}</span><span·class="p"·data-group-id="5579801445-73">]</span><span·class="w">269 ·</span><span·class="p"·data-group-id="7764429601-77">{</span><span·class="ss">dictionary_frag4</span><span·class="p">,</span><span·class="mi">74</span><span·class="p"·data-group-id="7764429601-77">}</span><span·class="p"·data-group-id="7764429601-73">]</span><span·class="w">
270 </span><span·class="p"·data-group-id="5579801445-78">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="5579801445-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="7764429601-78">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="7764429601-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="0606611729-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:·89bbd891e066b8b26b9f16898d13e3f351318d6e186242ef03d80b2e11ff7fce·...·]-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="5810925943-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:·e9c32b56129ef8e0b415bc952a2ed8bcb3437f6d31c93186bc1ba8a942db17cf·...·]-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="0606611729-3">(</span><span·class="p"·data-group-id="0606611729-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="5810925943-3">(</span><span·class="p"·data-group-id="5810925943-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="0606611729-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="0606611729-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:·543de9d301f9f3046c6a0f9a316c9c86f9a5ce3dcf5de08c0a792816c6f1512e·...·]-5">]</span><span·class="p">.</span><span·class="w">315 </span><span·class="p"·data-group-id="5810925943-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="5810925943-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:·17c1ea83a8d81a2347f4664a3608a98fd69c3d44194f3a82df16e8786396074e·...·]-5">]</span><span·class="p">.</span><span·class="w">
316 </span><span·class="p"·data-group-id="0606611729-10">[</span><span·class="p"·data-group-id="0606611729-11">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="0606611729-11">}</span><span·class="p">,</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·326,·SHA:·9eea06678ca7d6e31de2c0b830ec2b31f55f2d2fbbfed342e11c234dc90b35f4·...·]-10">]</span><span·class="gp·unselectable">316 </span><span·class="p"·data-group-id="5810925943-10">[</span><span·class="p"·data-group-id="5810925943-11">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="5810925943-11">}</span><span·class="p">,</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·326,·SHA:·548af2a13736a4414ffa6b1dc1c4a63fd92cdc3084123b9122bf01a8fdaa401a·...·]-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="0606611729-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="5810925943-14">(</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="w">
318 ······························</span><span·class="p"·data-group-id="0606611729-15">[</span><span·class="p"·data-group-id="0606611729-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="0606611729-16">}</span><span·class="p">,</span><span·class="w">318 ······························</span><span·class="p"·data-group-id="5810925943-15">[</span><span·class="p"·data-group-id="5810925943-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="5810925943-16">}</span><span·class="p">,</span><span·class="w">
319 ·······························</span><span·class="p"·data-group-id="0606611729-17">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0606611729-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:·e71bafa7bb97d107781a41d75f0b2aa824db76d8dbfa1b2500310147259e7f34·...·]-14">)</span><span·class="p">.</span><span·class="w">319 ·······························</span><span·class="p"·data-group-id="5810925943-17">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5810925943-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:·99a28f32064d03b117abfc583f3c746131dff2a5f3d39a33f1a15c27ec3c8eea·...·]-14">)</span><span·class="p">.</span><span·class="w">
320 </span><span·class="p"·data-group-id="0606611729-19">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="0606611729-19">}</span><span·class="gp·unselectable">320 </span><span·class="p"·data-group-id="5810925943-19">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="5810925943-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="0606611729-20">[</span><span·class="p"·data-group-id="0606611729-21">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0606611729-22">{</span><span·class="ss">prim_dict</span><span·cla[·...·truncated·by·diffoscope;·len:·219,·SHA:·31b9a3e46d746a92fc05b18d72954c951ad546ed45a91990ad484df35eb4f7a8·...·]-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="5810925943-20">[</span><span·class="p"·data-group-id="5810925943-21">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5810925943-22">{</span><span·class="ss">prim_dict</span><span·cla[·...·truncated·by·diffoscope;·len:·219,·SHA:·52e5911f765c8b8e835dc65165c115e303bf36ced78232e0ce105f8611d5c622·...·]-20">]</span><span·class="p">.</span><span·class="w">
322 </span><span·class="p"·data-group-id="0606611729-23">[</span><span·class="p"·data-group-id="0606611729-24">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="p"·data-group-id="0606611729-25">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·171,·SHA:·4aafdd512c820c66b7480c4a1c67576312ea109a0440cdd04e58ff7afc5021df·...·]-23">]</span><span·class="gp·unselectable">322 </span><span·class="p"·data-group-id="5810925943-23">[</span><span·class="p"·data-group-id="5810925943-24">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="p"·data-group-id="5810925943-25">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·171,·SHA:·a9225e2866ad2a6ebf23d83ca37895b295af777e2d7736d1e92f33afb05dceea·...·]-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="0606611729-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="5810925943-26">(</span><span·class="ss">sec_dict</span><span·class="p">,</span><span·class="w">
324 ······························</span><span·class="p"·data-group-id="0606611729-27">[</span><span·class="p"·data-group-id="0606611729-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="0606611729-28">}</span><span·class="p">,</span><span·class="w">324 ······························</span><span·class="p"·data-group-id="5810925943-27">[</span><span·class="p"·data-group-id="5810925943-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="5810925943-28">}</span><span·class="p">,</span><span·class="w">
325 ·······························</span><span·class="p"·data-group-id="0606611729-29">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0606611729-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:·ed645bea1541e4e729e3b37c1ffffe8312601e5b4aef597d2cc34953ff40a49c·...·]-26">)</span><span·class="p">.</span><span·class="w">325 ·······························</span><span·class="p"·data-group-id="5810925943-29">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5810925943-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:·d76233b97a6daaeb056887440397ccaf4472156c7a7c0a5e6947e0dfc5d49cad·...·]-26">)</span><span·class="p">.</span><span·class="w">
326 </span><span·class="p"·data-group-id="0606611729-31">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="0606611729-31">}</span><span·class="gp·unselectable">326 </span><span·class="p"·data-group-id="5810925943-31">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="5810925943-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="0606611729-32">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="0606611729-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:·818c07d4ccd28b38d4b50464c8054e7fec6c0c04f3d139eac4efab4afc874874·...·]-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="5810925943-32">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="5810925943-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:·d9c9dca5f34578a61719a2911910574aef0510f6ac648341cfe10106af2cde8e·...·]-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="0606611729-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="5810925943-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="0606611729-35">[</span><span·class="p"·data-group-id="0606611729-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:·ed92cfe00f97b839325a5386f52c17b4e330e847cfab7876c2125b03a276246c·...·]-34">)</span><span·class="p">.</span><span·class="w">334 ··························</span><span·class="p"·data-group-id="5810925943-35">[</span><span·class="p"·data-group-id="5810925943-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:·9749bb3bfde2e1459ea4bbfcf1b2526fe8253fa7346981fdacc4e166248e834f·...·]-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="0606611729-37">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="0606611729-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:·ff1cf1bd8bae2bf731aa80db66dacc48ff6cd19e55f5f67e81567cb746cf1738·...·]-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="5810925943-37">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="5810925943-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:·2dd5105a23eb65282012a8553fef6bd7bfd7a524f36b90be5097015f492ba4b3·...·]-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="0606611729-39">[</span><span·class="p"·data-group-id="0606611729-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:·696235666eab07f10faa365fb0a8a91ba8c9e72a1fa9bf1ce09388c4e9abcdf3·...·]-38">)</span><span·class="p">.</span><span·class="w">337 ···························</span><span·class="p"·data-group-id="5810925943-39">[</span><span·class="p"·data-group-id="5810925943-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:·ccd8410669b15c93d572a6bb6a1c02b05f753da64e2333c50e39002fdee9132f·...·]-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="0606611729-41">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="0606611729-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:·8d3b967a914ce51fd1b6151133d66ffeebe8fb9e6f02260bd5489222a8d61ab5·...·]-42">)</span><span·class="p">.</span><span·class="w">339 </span><span·class="p"·data-group-id="5810925943-41">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="5810925943-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:·f1c3c94d37d489f3b406eef2ab2d41084f4d48df7cdad4861133141a2ac0714a·...·]-42">)</span><span·class="p">.</span><span·class="w">
340 </span><span·class="p"·data-group-id="0606611729-46">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="0606611729-46">}</span><span·class="gp·unselectable">340 </span><span·class="p"·data-group-id="5810925943-46">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="5810925943-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="0606611729-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="0606611729-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="5810925943-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="5810925943-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="0606611729-48">(</span><span·class="p"·data-group-id="0606611729-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="0606611729-49">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·179,·SHA:·8b27257d3718ce5add4f16b57defd13f5c7e2004d0f6429d8d820e121d636b18·...·]-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="5810925943-48">(</span><span·class="p"·data-group-id="5810925943-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="5810925943-49">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·179,·SHA:·28573b9ce6d824afd9ab319069dcf0da5b39543965af854f116315790d33c935·...·]-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="0606611729-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="5810925943-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="0606611729-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="0606611729-51">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_[·...·truncated·by·diffoscope;·len:·52,·SHA:·2da0eda79df6a00d01bae3bec16ac0240d65ef5beda51c19afc41c700884d19c·...·]-50">)</span><span·class="p">.</span><span·class="w">345 ···························</span><span·class="p"·data-group-id="5810925943-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="5810925943-51">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_[·...·truncated·by·diffoscope;·len:·52,·SHA:·71df92975cc74d36f5f007a6bd14189486c3e912e6df4fdf478403b9fd04db83·...·]-50">)</span><span·class="p">.</span><span·class="w">
346 </span><span·class="p"·data-group-id="0606611729-52">[</span><span·class="p"·data-group-id="0606611729-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="0606611729-53">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·e56ce2511006a6fd832f0060700b1c531b41886ceed8a5874d72ca9e86e366be·...·]-52">]</span><span·class="gp·unselectable">346 </span><span·class="p"·data-group-id="5810925943-52">[</span><span·class="p"·data-group-id="5810925943-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="5810925943-53">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·0f9a6853977289b6a91fa9c227f7e05a0aa0aa8341153b745e66ffdc97be4da3·...·]-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="0606611729-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="0606611729-54">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·282,·SHA:·b6235007ff7753fed93248434c5b312a0e87493d657faca965281fbb90cc1541·...·]-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="5810925943-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="5810925943-54">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·282,·SHA:·0f1e0193d1d42dd1ddb1d9f0441a4e3726287b509e8e5b8e761a74cc7e12abd7·...·]-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="0606611729-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="5810925943-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="0606611729-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="0606611729-57">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·59,·SHA:·16de6bd50791f86adc7bca568fdc03ce2606506f7a3dce4f37aee49feb6f7ec6·...·]-56">)</span><span·class="p">.</span><span·class="w">350 ···························</span><span·class="p"·data-group-id="5810925943-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="5810925943-57">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·59,·SHA:·fc36c34eaf5bcc6248990fb0ea3a2916d2fbdf15c5aa994e21f51c4247731237·...·]-56">)</span><span·class="p">.</span><span·class="w">
351 </span><span·class="p"·data-group-id="0606611729-58">[</span><span·class="p"·data-group-id="0606611729-59">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="0606611729-59">}</span><span·class="p">,</span><span·class="w">351 </span><span·class="p"·data-group-id="5810925943-58">[</span><span·class="p"·data-group-id="5810925943-59">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="5810925943-59">}</span><span·class="p">,</span><span·class="w">
352 ·</span><span·class="p"·data-group-id="0606611729-60">{</span><span·class="ss">prim_dict_frag2</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="0606611729-60">}</span><span·class="p">,</span><span·class="w">352 ·</span><span·class="p"·data-group-id="5810925943-60">{</span><span·class="ss">prim_dict_frag2</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="5810925943-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.23.5/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="3024938077-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="3024938077-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="1667143568-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="1667143568-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="3024938077-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:·9398cfc339ade421839a29ce153952f59b0c1b310fae3af3776c9f5bf522ce76·...·]-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="1667143568-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:·eb1140a2cfb81557167c37b3372dab34848261667d167ff19675d88b00602a5b·...·]-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="3024938077-4">(</span><span·class="p"·data-group-id="3024938077-5">[</span><span·class="nf">node</span><span·class="p"·data-group-id="3024938077-6">(</span><span·class="p"·data-group-id="3024938077-6">)</span><span·class="p"·data-group-id="3024938077-5">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·d108fa4dd5148c9926dbcf7b53a34ae5c31a6e2865905119b2ed27c684564bb1·...·]-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="1667143568-4">(</span><span·class="p"·data-group-id="1667143568-5">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1667143568-6">(</span><span·class="p"·data-group-id="1667143568-6">)</span><span·class="p"·data-group-id="1667143568-5">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·9e7d09c0faaad2ec374ec90476c78fd126854e6c229082ef295418b13aba9cb6·...·]-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="3024938077-7">(</span><span·class="ss">klacke@gin</span><span·class="p"·data-group-id="3024938077-7">)</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">240 </span><span·class="p"·data-group-id="1667143568-7">(</span><span·class="ss">klacke@gin</span><span·class="p"·data-group-id="1667143568-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="3024938077-8">[</span><span·class="mi">1</span><span·class="p"·data-group-id="3024938077-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="1667143568-8">[</span><span·class="mi">1</span><span·class="p"·data-group-id="1667143568-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="6506246115-1">(</span><span·class="p"·data-group-id="6506246115-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="2087287889-1">(</span><span·class="p"·data-group-id="2087287889-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="6560517810-1">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="p"·data-group-id="6560517810-2">[</span><span·class="p"·data-group-id="6560517810-3">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6560517810-4">[</span><span·class="nf">node</span><span·class="p"·data-group-id="6560517810-5">(</span><span·class="p"·data-group-id="6560517810-5">)</span><span·class="p"·data-group-id="6560517810-4">]</span><span·class="p"·data-group-id="6560517810-3">}</span><span·class="p"·data-group-id="6560517810-2">]</span><span·class="p"·data-group-id="6560517810-1">)</span><span·class="p">.</span><span·class="w"> 
254 </span><span·class="p"·data-group-id="6560517810-6">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="6560517810-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:·ad1326291b25b3941ac17fd3295055e2197c65dbbd91fe9fe27edb2223c73340·...·]
 254 </span><span·class="p"·data-group-id="4668903545-6">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4668903545-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-6.2.2/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-6.2.2/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-6.2.2/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-6.2.2/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="0036213162-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="0036213162-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·688,·SHA:·8f111ef176246b32ef75dcfd660262cd0de3113d7e42afbf2f7aa68dab879e11·...·]-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="4949584464-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="4949584464-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·688,·SHA:·62a761bed2c386641cae6f5e09bbd8705db1cc63e23c04c90976ac6cf9e2f71a·...·]-5">}</span><span·class="p">,</span><span·class="w">
300 </span><span·class="p"·data-group-id="0036213162-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="0036213162-6">}</span><span·class="p"·data-group-id="0036213162-3">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·7d4c44ac5dbec58288e3d0729c3a7b60afe3b686a19920f5e8c8135830f35e03·...·]-2">)</span><span·class="p">,</span><span·class="w">300 </span><span·class="p"·data-group-id="4949584464-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="4949584464-6">}</span><span·class="p"·data-group-id="4949584464-3">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·980877701b3d51b271d99eb9efa8e204a14951b4731fac81a798d0f1bfbb1b82·...·]-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="0036213162-7">(</span><span·class="n">X</span><span·class="p"·data-group-id="0036213162-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:·3a2df0539ed7ed2fcd4edd80f46be6c822993a63affc56cb65168ded2e4633b1·...·]-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="4949584464-7">(</span><span·class="n">X</span><span·class="p"·data-group-id="4949584464-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:·242a235964d3ba9c042ea9f6f9a71404f038c3a05c3738981d9864dc782f09d5·...·]-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="0036213162-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="0036213162-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="4949584464-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="4949584464-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="0036213162-11">(</span><span·class="n">N</span><span·class="p"·data-group-id="0036213162-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="4949584464-11">(</span><span·class="n">N</span><span·class="p"·data-group-id="4949584464-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="2915728430-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:·b916968b5d5d4897f90b6bd11a3348254209353910d9d2d4406c3b943ca48ab4·...·]-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="4015617366-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:·0b3dd31c9f884227cb3bbdf6eba45e3686f0f5c41eaac82fa14efabad345e665·...·]-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="2915728430-2">(</span><span·class="n">Node</span><span·class="p"·data-group-id="2915728430-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="4015617366-2">(</span><span·class="n">Node</span><span·class="p"·data-group-id="4015617366-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="2915728430-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="2915728430-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:·c83f0c4c3104cff60782a2ec405b33383acb9c6cdf2267f16bc09b4a0c04ddbe·...·]-4">)</span><span·class="p">;</span><span·class="w">540 ···········</span><span·class="p"·data-group-id="4015617366-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="4015617366-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:·c941a7a946aa577b0d98e4b8bbd40bd1b838f2b8887474fe4b002b90964d1737·...·]-4">)</span><span·class="p">;</span><span·class="w">
541 ···········</span><span·class="p"·data-group-id="2915728430-6">(</span><span·class="n">Node</span><span·class="p"·data-group-id="2915728430-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="4015617366-6">(</span><span·class="n">Node</span><span·class="p"·data-group-id="4015617366-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="2915728430-7">(</span><span·class="p"·data-group-id="2915728430-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:·b1c978dd0d28f5c0d3e8f55a30925ab64f67f111a4ba2f750dbac55fc14da4c1·...·]-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="4015617366-7">(</span><span·class="p"·data-group-id="4015617366-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:·ec29843157de82de4f619c053394ea9b7ced07df0fa2ab7d5deb90c9c66ff5f8·...·]-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
545 ················</span><span·class="p"·data-group-id="2915728430-9">{</span><span·class="p"·data-group-id="2915728430-10">[</span><span·class="p"·data-group-id="2915728430-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:·def4af613c00cec1f1892305f02cae3fc6a079c8cd031e0b12d77d2612ac30e6·...·]-9">}</span><span·class="p">;</span><span·class="w">545 ················</span><span·class="p"·data-group-id="4015617366-9">{</span><span·class="p"·data-group-id="4015617366-10">[</span><span·class="p"·data-group-id="4015617366-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:·9cfe45f48be12da51d86eda6f7efc189c2df49bea169b8098f6b97b5af583559·...·]-9">}</span><span·class="p">;</span><span·class="w">
546 ···········</span><span·class="p"·data-group-id="2915728430-12">(</span><span·class="p"·data-group-id="2915728430-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:·2aaf16d806030e50a83381ec3b7917b1905ed4bca9b130663e08b920470de759·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">546 ···········</span><span·class="p"·data-group-id="4015617366-12">(</span><span·class="p"·data-group-id="4015617366-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:·d70128355dad7d0a983d2ef793d7874c7c6130f755dd873d21829999f55e93fb·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
547 ················</span><span·class="p"·data-group-id="2915728430-14">{</span><span·class="p"·data-group-id="2915728430-15">[</span><span·class="p"·data-group-id="2915728430-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:·62f5ef23843550f74cdff9d015d1dd427968abbe783b27d8180ad0c35881a07b·...·]-14">}</span><span·class="p">;</span><span·class="w">547 ················</span><span·class="p"·data-group-id="4015617366-14">{</span><span·class="p"·data-group-id="4015617366-15">[</span><span·class="p"·data-group-id="4015617366-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:·9c6c5c1ba7696ecb585a97a11f4199652c196ef7503f5edbe458a2246dc50578·...·]-14">}</span><span·class="p">;</span><span·class="w">
548 ···········</span><span·class="p"·data-group-id="2915728430-17">(</span><span·class="p"·data-group-id="2915728430-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:·10562bdcc071b8b738d2eb1653d9e689a26cce15cc5d292922fc27e7715e5740·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">548 ···········</span><span·class="p"·data-group-id="4015617366-17">(</span><span·class="p"·data-group-id="4015617366-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:·de8a51c615f6242900e402c69033bedeaf4540767dd6404055255f5aaa246445·...·]-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="2915728430-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:·4a46fecf028eb085a5223fffaf47f0d900850a41342eadb21831720893f98dc7·...·]-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="4015617366-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:·6db20c8f74d2f9e198fcdb8df159950f2969218c9c2bb64b987b461a08fe7f13·...·]-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="2915728430-20">(</span><span·class="p"·data-group-id="2915728430-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="2915728430-21">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·9db071ec723901e7ab35154dc179d2fca106f0760658d4ba85bab0a31945db37·...·]-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="4015617366-20">(</span><span·class="p"·data-group-id="4015617366-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="4015617366-21">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·3f550985bff71056bd48a6d56e35d4bcb0a89a9bdbe10bda763e4718ad171664·...·]-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="2915728430-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="2915728430-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="4015617366-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="4015617366-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="2915728430-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="2915728430-24">(</span><span·class="n">Switch</s[·...·truncated·by·diffoscope;·len:·173,·SHA:·5bea5ca466b8f0582726e9b222c7db29d06f37bdb3890eb05b073fd56ccf52b5·...·]-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="4015617366-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="4015617366-24">(</span><span·class="n">Switch</s[·...·truncated·by·diffoscope;·len:·173,·SHA:·ae6d72d5c1534dc837daf56314f3fdfa53559a21f2b432861490e8f794ace8c9·...·]-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="2915728430-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="2915728430-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="4015617366-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="4015617366-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="2915728430-26">{</span><span·class="p"·data-group-id="2915728430-27">[</span><span·class="p"·data-group-id="2915728430-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:·ce8abaae3d559aafb927ff1f4023afcd0a434fa6460dc8cf879919e42cd796e4·...·]-26">}</span><span·class="p">;</span><span·class="w">557 ················</span><span·class="p"·data-group-id="4015617366-26">{</span><span·class="p"·data-group-id="4015617366-27">[</span><span·class="p"·data-group-id="4015617366-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:·8ffdf81c5a49e0b7d520a12d5dfe5e4fd3d2c121a1d7ef33a6d210d9adb14966·...·]-26">}</span><span·class="p">;</span><span·class="w">
558 ···········</span><span·class="p"·data-group-id="2915728430-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="2915728430-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">558 ···········</span><span·class="p"·data-group-id="4015617366-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="4015617366-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
559 ················</span><span·class="p"·data-group-id="2915728430-31">{</span><span·class="p"·data-group-id="2915728430-32">[</span><span·class="n">Other</span><span·class="p"·data-group-id="2915728430-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:·3ce53004c7b8ef5f77c37a92da3bd79169f98bcbc9aeb94d5e7f5fc7a7fba25b·...·]-31">}</span><span·class="w">559 ················</span><span·class="p"·data-group-id="4015617366-31">{</span><span·class="p"·data-group-id="4015617366-32">[</span><span·class="n">Other</span><span·class="p"·data-group-id="4015617366-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:·e709b352180dbc0da7096857e66f6b07d7b663cbc738df14f3059b54cb2de04a·...·]-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="2915728430-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:·ec2d223503ad76f36a4b47cfbadff59681895cce88eb5d679cecd423db35598e·...·]-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="4015617366-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:·ff29c80daca4b83d1e6f2bb650a2948535d7c5c04518c0d87431188ed908f1da·...·]-33">)</span><span·class="p">.</span><span·class="w">
  
562 </span><span·class="nf">view</span><span·class="p"·data-group-id="2915728430-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="2915728430-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="4015617366-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="4015617366-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="2915728430-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="2915728430-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="4015617366-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="4015617366-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="2915728430-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="2915728430-37">[</span><span·class="n">Item<[·...·truncated·by·diffoscope;·len:·101,·SHA:·86dc02c1ba9f5159bae635761d15ad4b00664414c1a2b75406329743a16c16b9·...·]-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="4015617366-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="4015617366-37">[</span><span·class="n">Item<[·...·truncated·by·diffoscope;·len:·101,·SHA:·fc0abbd289bc2e95fbff96c8f8351ad0632628df8b3523d8e50cebfe571d8ad0·...·]-36">)</span><span·class="p">,</span><span·class="w">
565 ···················</span><span·class="p"·data-group-id="2915728430-38">{</span><span·class="p"·data-group-id="2915728430-39">[</span><span·class="n">Item</span><span·class="p"·data-group-id="2915728430-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:·5bb5ba954fe9c06df5e5e85d8e846bf82b604c5474d62415d4b445b6cf65da43·...·]-38">}</span><span·class="w">565 ···················</span><span·class="p"·data-group-id="4015617366-38">{</span><span·class="p"·data-group-id="4015617366-39">[</span><span·class="n">Item</span><span·class="p"·data-group-id="4015617366-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:·5b7096004d90e7d5cf89392df511d77970f0fbdf555550e94c0bdefb3e84504d·...·]-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="2915728430-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:·aa5b87ef760364bb12c40bca7932842bf72edb4b158216e581fd34329fd79961·...·]-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="4015617366-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:·9060526f784655ee6eaa4c2fcf94c0f508f7d222de5506848a46e35cbd99bd67·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>710 <p>Copyright·©·1996-2025·<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.23.5/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>192 <p>Copyright·©·1996-2025·<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.54 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.23.5/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>410 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.23.5/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>244 <p>Copyright·©·1996-2025·<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.17 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.23.5/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-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>(),·Opt·::·[{<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>(),·<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>(),·Opt·::·[{<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>(),·<a·href="../../../../erts-15.2.7/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="1461805916-1">[</span><span·class="p"·data-group-id="1461805916-2">{</span><span·class="p"·data-group-id="1461805916-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:·b55b73b80b0831ecd385ae83952b0473f0e447b57c06848e5a96d4ed24db4bfb·...·]-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="3164788797-1">[</span><span·class="p"·data-group-id="3164788797-2">{</span><span·class="p"·data-group-id="3164788797-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:·dcacaaa6a31643583cc4fa3217eb974a2e7831b120b9565e9ad74789d46c9104·...·]-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="1461805916-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="1461805916-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="3164788797-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="3164788797-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>285 <p>Copyright·©·1996-2025·<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
1.48 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.23.5/doc/html/notes.html
    
Offset 1535, 15 lines modifiedOffset 1535, 15 lines modified
1535 ······<p·class="built-using">1535 ······<p·class="built-using">
1536 ········Built·using1536 ········Built·using
1537 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1537 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1538 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1538 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1539 ······</p>1539 ······</p>
1540 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1540 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1541 ····</footer>1541 ····</footer>
1542 ··</div>1542 ··</div>
1543 </main>1543 </main>
1544 </div>1544 </div>
1545 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1545 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1546 ··<script>1546 ··<script>
1547 ··let·initialized·=·false;1547 ··let·initialized·=·false;
680 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.23.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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/observer-2.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2025·<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.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>183 <p>Copyright·©·1996-2025·<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.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>372 <p>Copyright·©·1996-2025·<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.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>298 <p>Copyright·©·1996-2025·<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.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>424 <p>Copyright·©·1996-2025·<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.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>274 <p>Copyright·©·1996-2025·<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.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2025·<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.17/doc/html/notes.html
    
Offset 1164, 15 lines modifiedOffset 1164, 15 lines modified
1164 ······<p·class="built-using">1164 ······<p·class="built-using">
1165 ········Built·using1165 ········Built·using
1166 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1166 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1167 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1167 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1168 ······</p>1168 ······</p>
1169 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1169 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1170 ····</footer>1170 ····</footer>
1171 ··</div>1171 ··</div>
1172 </main>1172 </main>
1173 </div>1173 </div>
1174 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1174 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1175 ··<script>1175 ··<script>
1176 ··let·initialized·=·false;1176 ··let·initialized·=·false;
686 B
html2text {}
Max HTML report size reached
411 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.17/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·Jul·06·2026·03:08:52,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:50,·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.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>382 <p>Copyright·©·1996-2025·<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.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2025·<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.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>336 <p>Copyright·©·1996-2025·<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.17/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.17/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.2.7/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.2.7/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-15.2.7/doc/html/match_spec.html"><code·class="inline">Match·Specifications·in·Erlang</code></a>·in·ERTS,·which1853 <a·href="../../../../erts-15.2.7/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="4598960669-1">(</span><span·class="p"·data-group-id="4598960669-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="9159402982-1">(</span><span·class="p"·data-group-id="9159402982-1">)</span><span·class="p">.</span><span·class="w">
1856 </span><span·class="p"·data-group-id="4598960669-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4598960669-3">[</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="4598960669-3">]</span><span·class="p"·data-group-id="4598960669-2">}</span><span·class="gp·unselectable">1856 </span><span·class="p"·data-group-id="9159402982-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9159402982-3">[</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="9159402982-3">]</span><span·class="p"·data-group-id="9159402982-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="4598960669-4">(</span><span·class="ss">all</span><span·class="p">,</span><span·class="ss">call</span><span·class="p"·data-group-id="4598960669-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="9159402982-4">(</span><span·class="ss">all</span><span·class="p">,</span><span·class="ss">call</span><span·class="p"·data-group-id="9159402982-4">)</span><span·class="p">.</span><span·class="w">
1858 </span><span·class="p"·data-group-id="4598960669-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4598960669-6">{</span><span·class="p"·data-group-id="4598960669-7">[</span><span·class="ss">all</span><span·class="p"·data-group-id="4598960669-7">]</spa[·...·truncated·by·diffoscope;·len:·254,·SHA:·595589eb65ea8b5e77f641d28656452abfb14b594b802e8e7922a0bbf1cef177·...·]-5">}</span><span·class="gp·unselectable">1858 </span><span·class="p"·data-group-id="9159402982-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9159402982-6">{</span><span·class="p"·data-group-id="9159402982-7">[</span><span·class="ss">all</span><span·class="p"·data-group-id="9159402982-7">]</spa[·...·truncated·by·diffoscope;·len:·254,·SHA:·27757c665d1f241ef9cb2e58cb8a3d50d9965bff7d6bf27a494c8b4f5dec98b5·...·]-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="4598960669-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="4598960669-[·...·truncated·by·diffoscope;·len:·107,·SHA:·822f09d601aff73ad0a815f883c6f116a36f3cdeb975f343253eb5c8c459de5e·...·]-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="9159402982-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="9159402982-[·...·truncated·by·diffoscope;·len:·107,·SHA:·c9ebe25a196470cd89be2682d0a8f39883dc75edad237d42d16aed8c60b4c3dd·...·]-9">)</span><span·class="p">.</span><span·class="w">
1860 </span><span·class="p"·data-group-id="4598960669-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4598960669-12">[</span><span·class="p"·data-group-id="4598960669-13">{</span><span·class="ss">matched</span><span·class="p">,</span><span·class="mi">1</[·...·truncated·by·diffoscope;·len:·364,·SHA:·acc62c4936519525f20d66f4c50cd0b99be232cb647392e48b146f14ebf6bd1c·...·]-11">}</span><span·class="w">1860 </span><span·class="p"·data-group-id="9159402982-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9159402982-12">[</span><span·class="p"·data-group-id="9159402982-13">{</span><span·class="ss">matched</span><span·class="p">,</span><span·class="mi">1</[·...·truncated·by·diffoscope;·len:·364,·SHA:·5d97b853139b40934a363be6fa3ac02e051414d0d5ab96b0ac42c5d6257b3917·...·]-11">}</span><span·class="w">
1861 </span><span·class="p"·data-group-id="4598960669-15">(</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="4598960669-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="9159402982-15">(</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="9159402982-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-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),1891 ·························TracerOpts·::·<a·href="../../../../erts-15.2.7/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="4310402145-1">(</span><span·class="p"·data-group-id="4310402145-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="4310402145-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="0647823800-1">(</span><span·class="p"·data-group-id="0647823800-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="0647823800-2">]</span><span·class="p">,</span><span·class="w">
1897 ··················</span><span·class="p"·data-group-id="4310402145-3">[</span><span·class="p"·data-group-id="4310402145-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:·49201afd83c938de4b757153eeddc8bc33b87a690b5d4c7cfb09d587a27ef5d2·...·]-3">]</span><span·class="p">,</span><span·class="w">1897 ··················</span><span·class="p"·data-group-id="0647823800-3">[</span><span·class="p"·data-group-id="0647823800-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:·2c9bd6a947837d41e5c338e799d0ba3ae21f154901fb7019797ed640452ed8db·...·]-3">]</span><span·class="p">,</span><span·class="w">
1898 ··················</span><span·class="p"·data-group-id="4310402145-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="4310402145-7">}</span><span·class="p">,</span><span·class="w">1898 ··················</span><span·class="p"·data-group-id="0647823800-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="0647823800-7">}</span><span·class="p">,</span><span·class="w">
1899 ··················</span><span·class="p"·data-group-id="4310402145-8">[</span><span·class="p"·data-group-id="4310402145-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="4310402145-9">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·1095,·SHA:·45389caf41c0161020864c686689f6e47ed1f9892502f6006a6d6b4d90b2792f·...·]-2">]</span><span·class="p">,</span><span·class="w">1899 ··················</span><span·class="p"·data-group-id="0647823800-8">[</span><span·class="p"·data-group-id="0647823800-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="0647823800-9">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·1095,·SHA:·c271bd2c74ac66571215fa7dab2f8226829d86f9f351a59833609df4e8e48a58·...·]-2">]</span><span·class="p">,</span><span·class="w">
1900 ··················</span><span·class="p"·data-group-id="4026278126-3">[</span><span·class="p"·data-group-id="4026278126-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="4026278126-4">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·588,·SHA:·b84e978a1db2ebfe6d4078ae10c45ebeecd501cbbec487842c624247f3459e39·...·]-1">)</span><span·class="p">,</span><span·class="w">1900 ··················</span><span·class="p"·data-group-id="2832737557-3">[</span><span·class="p"·data-group-id="2832737557-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="2832737557-4">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·588,·SHA:·4aa9742c7de13aa25805ba09afbed91b227cfd70b1350d57593f13f039fed9ae·...·]-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="4026278126-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="4026278126-8">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·63,·SHA:·fa253512ccefae0b2ae378c2247b4b849f8b065bf51070b6dbee9a3227a76207·...·]-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="2832737557-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="2832737557-8">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·63,·SHA:·483d82fb64a5c9d0af0f2bebbf050275e580ad6f7f425f5f60b92d55e4eb8193·...·]-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="4026278126-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:·138,·SHA:·6ee1e9c9bbd1f98a4bfe4195848dcd2e0a166f7100293bd8857301dd5c8d96db·...·]-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="2832737557-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:·138,·SHA:·48baabe1fb70ff8bacbf53b3f6d53b2067f353a4211db93159047b0d8f07bcb1·...·]-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="4026278126-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="4026278126-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="2832737557-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="2832737557-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2445 <p>Copyright·©·1996-2025·<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.17/doc/html/ttb_ug.html
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/odbc-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2025·<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.15/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>273 <p>Copyright·©·1996-2025·<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.15/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>272 <p>Copyright·©·1996-2025·<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.15/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="5881759550-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="5881759550-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·394,·SHA:·aeb992d4d6723652b0de9d047e00943548b522a45451bcf81014b8a5b5a80cd8·...·]-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="7394378495-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="7394378495-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·394,·SHA:·53a1e1c87a01426a70936184bd34e3141972a6df09c3abe539c1ad4b1de94b03·...·]-2">)</span><span·class="p">.</span><span·class="w">
161 ······</span><span·class="p"·data-group-id="5881759550-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="5881759550-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="7394378495-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="7394378495-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="3378247093-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="3378247093-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="2988230397-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="2988230397-1">)</span><span·class="p">.</span><span·class="w">
168 ······</span><span·class="p"·data-group-id="3378247093-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3378247093-3">[</span><span·class="p"·data-group-id="3378247093-4">{</span><span·class="s">&quot;NR&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·107,·SHA:·f1a1ab96813b52910dc9608a711b8c929c54e0b43ce195c3f7e924696d795add·...·]-4">}</span><span·class="p">,</span><span·class="w">168 ······</span><span·class="p"·data-group-id="2988230397-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2988230397-3">[</span><span·class="p"·data-group-id="2988230397-4">{</span><span·class="s">&quot;NR&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·107,·SHA:·d2d33ab1402d0196960b9530de0c4c5fa49603570c353022b4fb7b1563130ecf·...·]-4">}</span><span·class="p">,</span><span·class="w">
169 ············</span><span·class="p"·data-group-id="3378247093-5">{</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3378247093-6">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·114,·SHA:·2bb03de1e5354f96d8825e701a8abd1fe4c989a7df30f3153e1a9ec1c9f57948·...·]-5">}</span><span·class="p">,</span><span·class="w">169 ············</span><span·class="p"·data-group-id="2988230397-5">{</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2988230397-6">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·114,·SHA:·4abbc4950eef43631b0a1e0e769025c2083dd8b56877dd342ba102298a218d73·...·]-5">}</span><span·class="p">,</span><span·class="w">
170 ············</span><span·class="p"·data-group-id="3378247093-7">{</span><span·class="s">&quot;LASTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3378247093-8">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·113,·SHA:·fd6cc27cca45ca8d986f268e8d1618b4f6770fb44ba0c957e2eb5095b03436b3·...·]-7">}</span><span·class="w">170 ············</span><span·class="p"·data-group-id="2988230397-7">{</span><span·class="s">&quot;LASTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2988230397-8">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·113,·SHA:·d9231a317def8c6136817e68d9c2a61ba8a5e03ff1b49293aae722644dff8b19·...·]-7">}</span><span·class="w">
171 ············</span><span·class="p"·data-group-id="3378247093-9">{</span><span·class="s">&quot;GENDER&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3378247093-10">{</span><span·class="ss">sql_char</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·636,·SHA:·9537ffb236cbb1de755733edf628c0180424fbea998ed62418a29ae60a2e4273·...·]-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="2988230397-9">{</span><span·class="s">&quot;GENDER&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2988230397-10">{</span><span·class="ss">sql_char</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·636,·SHA:·1e4d7df4f042dcfd2ac677e2673805c492385404cc62ebd04d051210c9c6ca96·...·]-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="7138819446-2">[</span><span·class="p"·data-group-id="7138819446-3">{</span><span·class="ss">sql_integer</span><span·class="p">,</span><span·class="p"·data-group-id="7138819446-4">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</[·...·truncated·by·diffoscope;·len:·344,·SHA:·ea91cb8c74d6a46dd5341ba785687d03c94e0fe12065bc0c882a8308b35022e9·...·]-3">}</span><span·class="p">,</span><span·class="w">173 ···················</span><span·class="p"·data-group-id="0556078808-2">[</span><span·class="p"·data-group-id="0556078808-3">{</span><span·class="ss">sql_integer</span><span·class="p">,</span><span·class="p"·data-group-id="0556078808-4">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</[·...·truncated·by·diffoscope;·len:·344,·SHA:·a4b3665c9ca5066eb59db41987d159024dc65e8296158fdaf9529b2fe2908525·...·]-3">}</span><span·class="p">,</span><span·class="w">
174 ····················</span><span·class="p"·data-group-id="7138819446-5">{</span><span·class="p"·data-group-id="7138819446-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="7138819446-6">}</span><span·class="p">,</span><span·class="w">174 ····················</span><span·class="p"·data-group-id="0556078808-5">{</span><span·class="p"·data-group-id="0556078808-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="0556078808-6">}</span><span·class="p">,</span><span·class="w">
175 ·····························</span><span·class="p"·data-group-id="7138819446-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="0556078808-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="7138819446-7">]</span><span·class="p"·data-group-id="7138819446-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="0556078808-7">]</span><span·class="p"·data-group-id="0556078808-5">}</span><span·class="p">,</span><span·class="w">
177 ···················</span><span·class="p"·data-group-id="7138819446-8">{</span><span·class="p"·data-group-id="7138819446-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="7138819446-9">}</span><span·class="p">,</span><span·class="w">177 ···················</span><span·class="p"·data-group-id="0556078808-8">{</span><span·class="p"·data-group-id="0556078808-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="0556078808-9">}</span><span·class="p">,</span><span·class="w">
178 ·····························</span><span·class="p"·data-group-id="7138819446-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="0556078808-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="7138819446-10">]</span><span·class="p"·data-group-id="7138819446-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="0556078808-10">]</span><span·class="p"·data-group-id="0556078808-8">}</span><span·class="p">,</span><span·class="w">
180 ···················</span><span·class="p"·data-group-id="7138819446-11">{</span><span·class="p"·data-group-id="7138819446-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="7138819446-12">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7138819446-13">[</span><span·class="s">&quot;M&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p">,</span><span·class="s">&quot;M&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p"·data-group-id="7138819446-13">]</span><span·class="p"·data-group-id="7138819446-11">}</span><span·class="p"·data-group-id="7138819446-2">]</span><span·class="p"·data-group-id="7138819446-1">)</span><span·class="p">.</span><span·class="w"> 
181 ······</span><span·class="p"·data-group-id="7138819446-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="7138819446-14">}</span></code></pre><p>Fetch·all·data·in·the[·...·truncated·by·diffoscope;·len:·477,·SHA:·e9d6e972f16fd35b0f117dfbe8e49282d9f731d8a1fe74b8e45b31e56f80f135·...·]-1">)</span><span·class="p">.</span><span·class="w">180 ···················</span><span·class="p"·data-group-id="0556078808-11">{</span><span·class="p"·data-group-id="0556078808-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-gr[·...·truncated·by·diffoscope;·len:·731,·SHA:·aa2b85e28e51eb7204267ce30a420acff32be1cd780a5e51e8ff54e1eacefe2d·...·]-1">)</span><span·class="p">.</span><span·class="w">
 181 ······</span><span·class="p"·data-group-id="0556078808-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="0556078808-14">}</span></code></pre><p>Fetch·all·data·in·the·table·employee</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">odbc</span><span·class="p">:</span><span·class="nf">sql_query</span><span·class="p"·data-group-id="1425999119-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="1425999119-1">)</span><span·class="p">.</span><span·class="w">
182 ····</span><span·class="p"·data-group-id="8407829191-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="8407829191-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:·153,·SHA:·fd25cb1e28aee935aef376bde5c3578fec2a5d3e178985e0f8ed1e7560e7bce5·...·]-3">]</span><span·class="p">,</span><span·class="w">182 ····</span><span·class="p"·data-group-id="1425999119-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="1425999119-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:·153,·SHA:·5f5cae593dab5c0d6ac3c2d64aaa530674138311b28095ab6c2481802c4a0dc0·...·]-3">]</span><span·class="p">,</span><span·class="w">
183 ··········</span><span·class="p"·data-group-id="8407829191-4">[</span><span·class="p"·data-group-id="8407829191-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:·70,·SHA:·24ea27da6d6d821e64114571fa64f396880db3f2cd90384057a47f7455ec15cb·...·]-5">}</span><span·class="p">,</span><span·class="w">183 ··········</span><span·class="p"·data-group-id="1425999119-4">[</span><span·class="p"·data-group-id="1425999119-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:·70,·SHA:·7d7ec2bcf7c396101802f324c777153e580e50cfa005399cdaac19f23f24b984·...·]-5">}</span><span·class="p">,</span><span·class="w">
184 ···········</span><span·class="p"·data-group-id="8407829191-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:·17,·SHA:·878896585097923debe10e9ed4ef544776f76db9fa7a4e1d5d2632f9c7f1f310·...·]-6">}</span><span·class="p">,</span><span·class="w">184 ···········</span><span·class="p"·data-group-id="1425999119-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:·17,·SHA:·997958a2b5099bf2b96746feca9f23623fda3ebef2f00e45a1719c8e4631e35c·...·]-6">}</span><span·class="p">,</span><span·class="w">
185 ···········</span><span·class="p"·data-group-id="8407829191-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:·22,·SHA:·37ca0c78368fca9db38257b987d2111144bf2d3a9870c05e2e7a95b51d0a9285·...·]-7">}</span><span·class="p">,</span><span·class="w">185 ···········</span><span·class="p"·data-group-id="1425999119-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:·22,·SHA:·a6cab048ff948438faaaf872265d40feadb68a70cb10d975b6f3be604df53cb4·...·]-7">}</span><span·class="p">,</span><span·class="w">
186 ···········</span><span·class="p"·data-group-id="8407829191-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:·20,·SHA:·b8478d45873d9a81573eae92232209d9d23513fd14ac197088fd00dc138402fb·...·]-8">}</span><span·class="p">,</span><span·class="w">186 ···········</span><span·class="p"·data-group-id="1425999119-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:·20,·SHA:·72945af56062476ebf972b065d0f89488b0c30bd9e7256c5f46192058ea3e48d·...·]-8">}</span><span·class="p">,</span><span·class="w">
187 ···········</span><span·class="p"·data-group-id="8407829191-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:·21,·SHA:·1334157a3b944c81c408b2dae712efe5f4dca7536bd09f6011362a1e124eab68·...·]-9">}</span><span·class="p">,</span><span·class="w">187 ···········</span><span·class="p"·data-group-id="1425999119-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:·21,·SHA:·e779ad0895ac62cf6e49bfbc8d3b3104f998cb16adaa984280d206d5832b8d52·...·]-9">}</span><span·class="p">,</span><span·class="w">
188 ···········</span><span·class="p"·data-group-id="8407829191-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:·25,·SHA:·2fa48e35dda81c692f95b43452b9fa58d6bee435f60baa0dc54ee78c0d52e688·...·]-10">}</span><span·class="p">,</span><span·class="w">188 ···········</span><span·class="p"·data-group-id="1425999119-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:·25,·SHA:·6dc353c8bdde5fea4789c7866fe4f9dbbfc639434c6275511403f33cb28c5ea2·...·]-10">}</span><span·class="p">,</span><span·class="w">
189 ···········</span><span·class="p"·data-group-id="8407829191-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:·24,·SHA:·78c1000c6f49019d15c7eeba71545621f0b9fa631db36ab4f7195f69466134ca·...·]-11">}</span><span·class="p">,</span><span·class="w">189 ···········</span><span·class="p"·data-group-id="1425999119-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:·24,·SHA:·143977b61a75141fdb94363da1ebe8eaf8142c1df740695ab1cef1f63329caf5·...·]-11">}</span><span·class="p">,</span><span·class="w">
190 ···········</span><span·class="p"·data-group-id="8407829191-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:·152,·SHA:·70bc42e962e16b75299d949c4658f50d213b86f0a53c75849e287b2cbd46d82d·...·]-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="1425999119-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:·152,·SHA:·a1509295d4e2c4a0debcc4c2060c6e3ac7d07cc1a3b4cf6aa0055530f3f161ec·...·]-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="7849629063-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="7849629063-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="6575130330-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="6575130330-1">)</span><span·class="p">.</span><span·class="w">
192 ······</span><span·class="p"·data-group-id="7849629063-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="7849629063-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:·bc8fef0ce3a6d01da1dfd3ea132d77692246ac351001d193e336f1c3f9186909·...·]-1">)</span><span·class="p">.</span><span·class="w">192 ······</span><span·class="p"·data-group-id="6575130330-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="6575130330-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:·42a5f88957f724a0c73ffb45b2926ad4517b3e76e63dcb70b1a3d48bb2544a61·...·]-1">)</span><span·class="p">.</span><span·class="w">
193 ······</span><span·class="p"·data-group-id="2619615587-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="2619615587-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:·1049,·SHA:·84468e4f7738afb8a70e450bca262a81a2a1391ff181cdb8eefaf2a056edffeb·...·]-1">)</span><span·class="p">.</span><span·class="w">193 ······</span><span·class="p"·data-group-id="2766869436-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="2766869436-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:·1049,·SHA:·06f996710d6ab0a26854b089eab0e7d9b6711d142457a12dde908c3bc94bc58c·...·]-1">)</span><span·class="p">.</span><span·class="w">
194 ······</span><span·class="p"·data-group-id="1758531012-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="1758531012-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:·652,·SHA:·975fac545092cacec033d8b9c2ab4da3b7d5dd797fb210ce778b8d9c3dabf429·...·]-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="0401089329-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="0401089329-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:·652,·SHA:·73d85cd9a2173fe6f3200619a2d02006303ec65859acaafced5b9e47034d810a·...·]-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="8639769500-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="8639769500-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="0356726028-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="0356726028-1">)</span><span·class="p">.</span><span·class="w">
 196 ······</span><span·class="p"·data-group-id="0356726028-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="0356726028-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;LASTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;GENDER&quot;</span><span·class="p"·data-group-id="0356726028-3">]</span><span·class="p">,</span><span·class="p"·data-group-id="0356726028-4">[</span><span·class="p"·data-group-id="0356726028-5">{</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-group-id="0356726028-5">}</span><span·class="p"·data-group-id="0356726028-4">]</span><span·class="p"·data-group-id="0356726028-2">}</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">12</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">prev</span><span·class="p"·data-group-id="6960848075-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="6960848075-1">)</span><span·class="p">.</span><span·class="w">
 197 ······</span><span·class="p"·data-group-id="6960848075-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6960848075-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;LASTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;GENDER&quot;</span><span·class="p"·data-group-id="6960848075-3">]</span><span·class="p">,</span><span·class="p"·data-group-id="6960848075-4">[</span><span·class="p"·data-group-id="6960848075-5">{</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"·data-group-id="6960848075-5">}</span><span·class="p"·data-group-id="6960848075-4">]</span><span·class="p"·data-group-id="6960848075-2">}</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">13</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">first</span><span·class="p"·data-group-id="2862523020-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="2862523020-1">)</span><span·class="p">.</span><span·class="w">
196 ······</span><span·class="p"·data-group-id="8639769500-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="8639769500-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:·9ce26d5e44142aaa2257da443ec9e9cb70774695e15aca7706e02ca200a49031·...·]-1">)</span><span·class="p">.</span><span·class="w">198 ······</span><span·class="p"·data-group-id="2862523020-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="2862523020-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:·78c48515334b0002a5ea5fd224ffa2c3f5e679e4af41a401e78e2c2a6ea875da·...·]-1">)</span><span·class="p">.</span><span·class="w">
197 ······</span><span·class="p"·data-group-id="4570194861-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="4570194861-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;LASTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;GENDER&quot;</span><span·class="p"·data-group-id="4570194861-3">]</span><span·class="p">,</span><span·class="p"·data-group-id="4570194861-4">[</span><span·class="p"·data-group-id="4570194861-5">{</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"·data-group-id="4570194861-5">}</span><span·class="p"·data-group-id="4570194861-4">]</span><span·class="p"·data-group-id="4570194861-2">}</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">13</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">first</span><span·class="p"·data-group-id="9125426461-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="9125426461-1">)</span><span·class="p">.</span><span·class="w"> 
198 ······</span><span·class="p"·data-group-id="9125426461-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="9125426461-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;LASTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;GENDER&quot;</span><span·class="p"·data-group-id="9125426461-3">]</span><span·class="p">,</span><span·class="p"·data-group-id="9125426461-4">[</span><span·class="p"·data-group-id="9125426461-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·class="s">&quot;F&quot;</span><span·class="p"·data-group-id="9125426461-5">}</span><span·class="p"·data-group-id="9125426461-4">]</span><span·class="p"·data-group-id="9125426461-2">}</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">14</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">next</span><span·class="p"·data-group-id="4546282257-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="4546282257-1">)</span><span·class="p">.</span><span·class="w"> 
199 ······</span><span·class="p"·data-group-id="4546282257-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="4546282257-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:·1317,·SHA:·823fe7b8f7223b0930744f924bf507338dff7a7929f520517bb5649e262f8684·...·]-1">)</span><span·class="p">.</span><span·class="w">199 ······</span><span·class="p"·data-group-id="4258155346-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="4258155346-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:·1317,·SHA:·3b15af83123ecfab57cda2452e642015a9608d5a32bbce5f331185029e4fb154·...·]-1">)</span><span·class="p">.</span><span·class="w">
200 ·····</span><span·class="p"·data-group-id="9690973475-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="9690973475-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:·f40cf16289ab2c202edb977f9e67b5734debacbd6370cec35172a93b2197ab38·...·]-3">]</span><span·class="p">,</span><span·class="w">200 ·····</span><span·class="p"·data-group-id="5269192032-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="5269192032-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:·3f09e28e472240e9ad67d1f0c3e5f87ba97548605d71a9c9bc8bc4af79787f96·...·]-3">]</span><span·class="p">,</span><span·class="w">
201 ··········</span><span·class="p"·data-group-id="9690973475-4">[</span><span·class="p"·data-group-id="9690973475-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="9690973475-5">}</span><span·class="p">,</span><span·class="w">201 ··········</span><span·class="p"·data-group-id="5269192032-4">[</span><span·class="p"·data-group-id="5269192032-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5269192032-5">}</span><span·class="p">,</span><span·class="w">
202 ···········</span><span·class="p"·data-group-id="9690973475-6">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="9690973475-6">}</span><span·class="p">,</span><span·class="w">202 ···········</span><span·class="p"·data-group-id="5269192032-6">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="5269192032-6">}</span><span·class="p">,</span><span·class="w">
203 ···········</span><span·class="p"·data-group-id="9690973475-7">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="9690973475-7">}</span><span·class="p">,</span><span·class="w">203 ···········</span><span·class="p"·data-group-id="5269192032-7">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="5269192032-7">}</span><span·class="p">,</span><span·class="w">
204 ···········</span><span·class="p"·data-group-id="9690973475-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="9690973475-8">}</span><span·class="p">,</span><span·class="w">204 ···········</span><span·class="p"·data-group-id="5269192032-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="5269192032-8">}</span><span·class="p">,</span><span·class="w">
205 ···········</span><span·class="p"·data-group-id="9690973475-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="9690973475-9">}</span><span·class="p">,</span><span·class="w">205 ···········</span><span·class="p"·data-group-id="5269192032-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="5269192032-9">}</span><span·class="p">,</span><span·class="w">
206 ···········</span><span·class="p"·data-group-id="9690973475-10">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="9690973475-10">}</span><span·class="p"·data-group-id="9690973475-4">]</span><span·class="p"·data-group-id="96909[·...·truncated·by·diffoscope;·len:·5,·SHA:·815b243712f4184caefe8175d9fbe583c1fec8f88611c6848bc21ff1ca0f1759·...·]-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="5269192032-10">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="5269192032-10">}</span><span·class="p"·data-group-id="5269192032-4">]</span><span·class="p"·data-group-id="52691[·...·truncated·by·diffoscope;·len:·5,·SHA:·3762bdec4b7326cca75757c8bcb90be3aa7ab3b3f9400420a32d7881260c71e5·...·]-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="1360983679-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="8526529987-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="1360983679-1">)</span><span·class="p">.</span><span·class="w">208 ······ORDER·BY·FIRSTNAME&quot;</span><span·class="p"·data-group-id="8526529987-1">)</span><span·class="p">.</span><span·class="w">
209 ····</span><span·class="p"·data-group-id="1360983679-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="1360983679-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:·d3e716965e89022030485d61471468fc256a7b70ea81cb5ff8822c9abcd000ba·...·]-3">]</span><span·class="p">,</span><span·class="w">209 ····</span><span·class="p"·data-group-id="8526529987-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="8526529987-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:·4b40693cdb1f8a7f78a035dd30a1d2f2a0f7f15cec33066b2fab467c37f0669e·...·]-3">]</span><span·class="p">,</span><span·class="w">
210 ··········</span><span·class="p"·data-group-id="1360983679-4">[</span><span·class="p"·data-group-id="1360983679-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1360983679-5">}</span><span·class="p">,</span><span·class="w">210 ··········</span><span·class="p"·data-group-id="8526529987-4">[</span><span·class="p"·data-group-id="8526529987-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8526529987-5">}</span><span·class="p">,</span><span·class="w">
211 ···········</span><span·class="p"·data-group-id="1360983679-6">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="1360983679-6">}</span><span·class="p">,</span><span·class="w">211 ···········</span><span·class="p"·data-group-id="8526529987-6">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="8526529987-6">}</span><span·class="p">,</span><span·class="w">
212 ···········</span><span·class="p"·data-group-id="1360983679-7">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="1360983679-7">}</span><span·class="p">,</span><span·class="w">212 ···········</span><span·class="p"·data-group-id="8526529987-7">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="8526529987-7">}</span><span·class="p">,</span><span·class="w">
213 ···········</span><span·class="p"·data-group-id="1360983679-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1360983679-8">}</span><span·class="p">,</span><span·class="w">213 ···········</span><span·class="p"·data-group-id="8526529987-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8526529987-8">}</span><span·class="p">,</span><span·class="w">
214 ···········</span><span·class="p"·data-group-id="1360983679-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="1360983679-9">}</span><span·class="p">,</span><span·class="w">214 ···········</span><span·class="p"·data-group-id="8526529987-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="8526529987-9">}</span><span·class="p">,</span><span·class="w">
215 ···········</span><span·class="p"·data-group-id="1360983679-10">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="1360983679-10">}</span><span·class="p"·data-group-id="1360983679-4">]</span><span·class="p"·data-group-id="13609[·...·truncated·by·diffoscope;·len:·5,·SHA:·f2d18a61be6174058ec1c4d6c464ac03c3081dd125a12f27e60ae316b14804f2·...·]-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="8526529987-10">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="8526529987-10">}</span><span·class="p"·data-group-id="8526529987-4">]</span><span·class="p"·data-group-id="85265[·...·truncated·by·diffoscope;·len:·5,·SHA:·03c6c5555bad1b9ff160a17550c80205cabf044a8281f5c48943b2a8a8124854·...·]-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="5670067712-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="5670067712-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="6035224474-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="6035224474-1">)</span><span·class="p">.</span><span·class="w">
218 ······</span><span·class="p"·data-group-id="5670067712-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="5670067712-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="6035224474-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="6035224474-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="8084039561-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8084039561-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:·b3b5899be7133e2dee04120fbc24e22aed818b7028f40fd0323d3e8c9c7ae663·...·]-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="3759743562-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3759743562-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:·5fe5ebb65b702506b00ef18ec4ece23ae04f38e39b05e4d67a2cd6999c8ddc39·...·]-1">)</span><span·class="p">.</span><span·class="w">
 221 ····</span><span·class="p"·data-group-id="3759743562-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="3759743562-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="3759743562-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="3759743562-5">[</span><span·class="p"·data-group-id="3759743562-6">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="3759743562-6">}</span><span·class="p">,</span><span·class="p"·data-group-id="3759743562-7">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="3759743562-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="3759743562-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="3759743562-8">}</span><span·class="p"·data-group-id="3759743562-5">]</span><span·class="p"·data-group-id="3759743562-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="7338432991-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="7338432991-1">)</span><span·class="p">.</span><span·class="w">
221 ····</span><span·class="p"·data-group-id="8084039561-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="8084039561-4">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&qu[·...·truncated·by·diffoscope;·len:·1426,·SHA:·faf27f85147404ba23297bfb454ae86d36de721a17d8b3a13af988ae0693774e·...·]-1">)</span><span·class="p">.</span><span·class="w">222 ······</span><span·class="p"·data-group-id="7338432991-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="7338432991-3">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·1390,·SHA:·af85581e9ee82fa911274e140d85ca7156194e456e98f9067a199542eaa1dc18·...·]-1">)</span><span·class="p">.</span><span·class="w">
 223 ······</span><span·class="p"·data-group-id="5230196632-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="5230196632-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="5230196632-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="5230196632-5">[</span><span·class="p"·data-group-id="5230196632-6">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5230196632-6">}</span><span·class="p">,</span><span·class="p"·data-group-id="5230196632-7">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="5230196632-7">}</span><span·class="p"·data-group-id="5230196632-5">]</span><span·class="p"·data-group-id="5230196632-3">}</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">21</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="7797488906-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="7797488906-1">)</span><span·class="p">.</span><span·class="w">
 224 ····</span><span·class="p"·data-group-id="7797488906-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="7797488906-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="7797488906-3">]</span><span·class="p">,</span><span·class="p"·data-group-id="7797488906-4">[</span><span·class="p"·data-group-id="7797488906-5">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="7797488906-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="7797488906-6">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="7797488906-6">}</span><span·class="p"·data-group-id="7797488906-4">]</span><span·class="p"·data-group-id="7797488906-2">}</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">22</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="0442808203-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0442808203-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="0442808203-2">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="0442808203-1">)</span><span·class="p">.</span><span·class="w">
222 ······</span><span·class="p"·data-group-id="8496791680-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="8496791680-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="8496791680-3">]</span><span·class="p">,</span><span·class="p"·data-group-id="8496791680-4">[</span><span·class="p"·data-group-id="8496791680-5">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="8496791680-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="8496791680-6">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="8496791680-6">}</span><span·class="p"·data-group-id="8496791680-4">]</span><span·class="p"·data-group-id="8496791680-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="7490201365-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7490201365-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="7490201365-2">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="7490201365-1">)</span><span·class="p">.</span><span·class="w"> 
223 ······</span><span·class="p"·data-group-id="7490201365-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="7490201365-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="7490201365-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="7490201365-5">[</span><span·class="p"·data-group-id="7490201365-6">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7490201365-6">}</span><span·class="p">,</span><span·class="p"·data-group-id="7490201365-7">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="7490201365-7">}</span><span·class="p"·data-group-id="7490201365-5">]</span><span·class="p"·data-group-id="7490201365-3">}</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">21</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="4114821191-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="4114821191-1">)</span><span·class="p">.</span><span·class="w"> 
224 ····</span><span·class="p"·data-group-id="4114821191-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="4114821191-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="4114821191-3">]</span><span·class="p">,</span><span·class="p"·data-group-id="4114821191-4">[</span><span·class="p"·data-group-id="4114821191-5">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="4114821191-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="4114821191-6">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="4114821191-6">}</span><span·class="p"·data-group-id="4114821191-4">]</span><span·class="p"·data-group-id="4114821191-2">}</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">22</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="5033712275-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5033712275-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="5033712275-2">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="5033712275-1">)</span><span·class="p">.</span><span·class="w"> 
225 ······</span><span·class="p"·data-group-id="5033712275-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="5033712275-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:·c05a28162e54418c699b6770e889c53fbe9f4e7362fd41d91e47bda2c67a7113·...·]-4">]</span><span·class="p">,</span><span·class="w">225 ······</span><span·class="p"·data-group-id="0442808203-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="0442808203-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:·47c7f1e5c474113fdfd87018d120f0d63de00164d64732482b3011c284376f49·...·]-4">]</span><span·class="p">,</span><span·class="w">
226 ················</span><span·class="p"·data-group-id="5033712275-5">[</span><span·class="p"·data-group-id="5033712275-6">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5033712275-6">}</span><span·class="p">,</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·1082,·SHA:·2b83a7c683fe3331fd924361ab073b3511b6fc2305f3c85798195252b0d90ac8·...·]-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="0442808203-5">[</span><span·class="p"·data-group-id="0442808203-6">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="0442808203-6">}</span><span·class="p">,</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·1082,·SHA:·6505656d4c7ecf260a869df20dc4542ceb61a8460573b2f0e2fa766952e78013·...·]-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="5711372529-2">[</span><span·class="p"·data-group-id="5711372529-3">{</span><span·class="p"·data-group-id="5711372529-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-gro[·...·truncated·by·diffoscope;·len:·366,·SHA:·eb73d4d16931429b52a80f79f4250f75bcb41c7b2954ecb412af61fef58ae61d·...·]-1">)</span><span·class="p">.</span><span·class="w">227 ······</span><span·class="p"·data-group-id="5043473375-2">[</span><span·class="p"·data-group-id="5043473375-3">{</span><span·class="p"·data-group-id="5043473375-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-gro[·...·truncated·by·diffoscope;·len:·366,·SHA:·5440632a2016b48a7ac8e4e718169641a4d164ab2ba18cbce7b8157b1fd424ac·...·]-1">)</span><span·class="p">.</span><span·class="w">
228 ······</span><span·class="p"·data-group-id="5711372529-6">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="5711372529-7">[</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:·152,·SHA:·74f839bf3c828cbc86bae2cbd82d207f9ff0870cc50a3a094dd7ce887d368c0a·...·]-7">]</span><span·class="p">,</span><span·class="w">228 ······</span><span·class="p"·data-group-id="5043473375-6">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="5043473375-7">[</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:·152,·SHA:·717e66ff7119c18bb9b313cbc0dacf774bb6c45b4eecb7631d6ee4734ab6e74e·...·]-7">]</span><span·class="p">,</span><span·class="w">
229 ················</span><span·class="p"·data-group-id="5711372529-8">[</span><span·class="p"·data-group-id="5711372529-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·cl[·...·truncated·by·diffoscope;·len:·568,·SHA:·22d17be8f6cebfdd61ccaeb3b20303512037f8b9ef74d742e9f74532b088faca·...·]-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="5043473375-8">[</span><span·class="p"·data-group-id="5043473375-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·cl[·...·truncated·by·diffoscope;·len:·568,·SHA:·ef3480781b7f9c7801dc694ef81c8b0306aa8eaa58a74a484d2f78dec3db5e29·...·]-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="7652968241-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="7652968241-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="2003645402-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="2003645402-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>286 <p>Copyright·©·1996-2025·<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.15/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>208 <p>Copyright·©·1996-2025·<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.15/doc/html/notes.html
    
Offset 1052, 15 lines modifiedOffset 1052, 15 lines modified
1052 ······<p·class="built-using">1052 ······<p·class="built-using">
1053 ········Built·using1053 ········Built·using
1054 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1054 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1055 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1055 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1056 ······</p>1056 ······</p>
1057 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1057 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1058 ····</footer>1058 ····</footer>
1059 ··</div>1059 ··</div>
1060 </main>1060 </main>
1061 </div>1061 </div>
1062 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1062 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1063 ··<script>1063 ··<script>
1064 ··let·initialized·=·false;1064 ··let·initialized·=·false;
663 B
html2text {}
Max HTML report size reached
173 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.15/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)
Max HTML report size reached
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.15/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1778 <p>Copyright·©·1996-2025·<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.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.10.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.10.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>222 <p>Copyright·©·1996-2025·<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.10.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>626 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.10.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>560 <p>Copyright·©·1996-2025·<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.55 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.10.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>678 <p>Copyright·©·1996-2025·<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.44 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.10.1/doc/html/notes.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1040 <p>Copyright·©·1996-2025·<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;
633 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.10.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>336 <p>Copyright·©·1996-2025·<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.10.1/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)
Max HTML report size reached
1.21 KB
OEBPS/content.opf
1.18 KB
OEBPS/content.opf
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.10.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>208 <p>Copyright·©·1996-2025·<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.43 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.10.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>415 <p>Copyright·©·1996-2025·<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.10.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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/parsetools-2.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.6/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>195 <p>Copyright·©·1996-2025·<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.6/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="1618583620-1">[</span><span·class="mi">0</span><span·class="o">-</span><span·class="mi">9</span><span·class="p"·data-group-id="1618583620-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="6506568489-1">[</span><span·class="mi">0</span><span·class="o">-</span><span·class="mi">9</span><span·class="p"·data-group-id="6506568489-1">]</span><span·class="w">
  
177 </span><span·class="p"·data-group-id="1618583620-2">{</span><span·class="n">D</span><span·class="p"·data-group-id="1618583620-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="6506568489-2">{</span><span·class="n">D</span><span·class="p"·data-group-id="6506568489-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="1618583620-3">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="1618583620-4">{</span><span·class="ss">integer</span><span·class="p">,</span><span·class="n">TokenLine</span><span·class="p">,</span><span·class="nf">[·...·truncated·by·diffoscope;·len:·255,·SHA:·7bc90cdab7232cf2eb38b24e2b55f9031167be73d9ec673b00b678ff6cc22ad5·...·]-3">}</span><span·class="p">.</span><span·class="w">178 ··</span><span·class="p"·data-group-id="6506568489-3">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="6506568489-4">{</span><span·class="ss">integer</span><span·class="p">,</span><span·class="n">TokenLine</span><span·class="p">,</span><span·class="nf">[·...·truncated·by·diffoscope;·len:·255,·SHA:·8a65ddf546976a8b46992dbfbf8eb343369fe1845f93016f04fe7d0e215f29f0·...·]-3">}</span><span·class="p">.</span><span·class="w">
  
179 </span><span·class="p"·data-group-id="1618583620-6">{</span><span·class="n">D</span><span·class="p"·data-group-id="1618583620-6">}</span><span·class="o">+</span><span·class="err">\</span><span·class="p">.</span><span·class="p"·data-group-id="1618583620-7">{</span><span·class="n">D</span><span·[·...·truncated·by·diffoscope;·len:·756,·SHA:·367e0fe8d4f0a3cd981f377e605b3cc26e0967b200ff907c30c8e7d305806fa9·...·]-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="6506568489-6">{</span><span·class="n">D</span><span·class="p"·data-group-id="6506568489-6">}</span><span·class="o">+</span><span·class="err">\</span><span·class="p">.</span><span·class="p"·data-group-id="6506568489-7">{</span><span·class="n">D</span><span·[·...·truncated·by·diffoscope;·len:·756,·SHA:·3c68d5199b3ce7796516086873c718609f60be7a07d2614626465476402b4159·...·]-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="1618583620-12">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="1618583620-13">{</span><span·class="nb">float</span><span·class="p">,</span><span·class="n">TokenLine</span><span·class="p">,</span><span·class="nf">[·...·truncated·by·diffoscope;·len:·256,·SHA:·a322e06447d1e9e690c69cbf91675c5c492b144bdba7b20e6d27020a3b8c8bb3·...·]-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="6506568489-12">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="6506568489-13">{</span><span·class="nb">float</span><span·class="p">,</span><span·class="n">TokenLine</span><span·class="p">,</span><span·class="nf">[·...·truncated·by·diffoscope;·len:·256,·SHA:·e3c23ea76994a15f841f42001a607e64a6c932181d37f191abe451a58a01a3f5·...·]-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="7594215533-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7594215533-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:·ab814e2a5d44819abc3ffab62f6e7f5e7e387c9d933506d695157f91782a99c3·...·]-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="0432796117-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0432796117-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:·db99183068ef9152d5e508550a7c01647a023ac6f13d20129b8f4303d4684b1b·...·]-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="3891392044-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3891392044-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:·4495e618bdb9111ee71dca74fa78a7163241c8e9cdbda696151fba4f83b54550·...·]-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="8961294608-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8961294608-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:·da4b10cf3f47c1212821a76584c3ec426dd405db1f07ce8bda1cdb8fcbfbde11·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>967 <p>Copyright·©·1996-2025·<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
1.48 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.6/doc/html/notes.html
    
Offset 730, 15 lines modifiedOffset 730, 15 lines modified
730 ······<p·class="built-using">730 ······<p·class="built-using">
731 ········Built·using731 ········Built·using
732 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the732 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
733 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>733 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
734 ······</p>734 ······</p>
735 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>735 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
736 ····</footer>736 ····</footer>
737 ··</div>737 ··</div>
738 </main>738 </main>
739 </div>739 </div>
740 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>740 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
741 ··<script>741 ··<script>
742 ··let·initialized·=·false;742 ··let·initialized·=·false;
679 B
html2text {}
Max HTML report size reached
107 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.6/doc/html/parsetools.epub
1.94 KB
zipinfo {}
Max HTML report size reached
40.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·Jul·06·2026·03:07:14,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:56:50,·uncompressed·size·20,·method=store
49.2 KB
OEBPS/yecc.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.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.6/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="2836788900-1">[</span><span·class="p"·data-group-id="2836788900-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="2836788900-2">}</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·1015,·SHA:·3517d5741830f76cdfbacd0ef2d62d7956801e1f33697b999dc72820f470de5f·...·]-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="2680906656-1">[</span><span·class="p"·data-group-id="2680906656-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="2680906656-2">}</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·1015,·SHA:·e6469115a6da1d0386ddca0ea055b0d21b1eb96b38082fdbbebfb47f051ca110·...·]-6">}</span><span·class="p">,</span><span·class="w">
166 ·</span><span·class="p"·data-group-id="2836788900-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="2836788900-7">}</span><span·class="p"·data-group-id="2836788900-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="2680906656-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="2680906656-7">}</span><span·class="p"·data-group-id="2680906656-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-6.2.2/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-6.2.2/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="0665864369-1">[</span><span·class="p"·data-group-id="0665864369-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="0665864369-2">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·920,·SHA:·8fa4885c8be69b298a195993849e5b6bdaa77d649487ed59ee5d13e0b1fdada1·...·]-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="1617983602-1">[</span><span·class="p"·data-group-id="1617983602-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="1617983602-2">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·920,·SHA:·5863c3a338225b63de239c394007a147ce63b673354e2a167140a9897ff0a905·...·]-5">}</span><span·class="p">,</span><span·class="w">
237 ·</span><span·class="p"·data-group-id="0665864369-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="0665864369-6">}</span><span·class="p"·data-group-id="0665864369-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="1617983602-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="1617983602-6">}</span><span·class="p"·data-group-id="1617983602-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="5151339490-1">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5151339490-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:·948406fa779ff9eb6a91e4279cdf1ec9d8ae773e226c31015786243b6d89150d·...·]-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="9588188447-1">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9588188447-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:·94f959f34a9df2058b9f27430edbbe68d31cf13d9f9fbe0216948a9ac969582b·...·]-4">}</span><span·class="p">,</span><span·class="w">
250 ····························</span><span·class="p"·data-group-id="5151339490-5">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5151339490-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:·5a013ae976b845dd0967670a0f6c215d05771b0457430f3072aea534354895e6·...·]-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="9588188447-5">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9588188447-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:·804a94bd11797d765b4f28c1f23596c6ef4a53d4afbd166bfe26ad4c5ed80ece·...·]-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="5212372982-1">(</span><span·class="n">Grammarfile</span><span·class="p"·data-group-id="5212372982-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="7917752250-1">(</span><span·class="n">Grammarfile</span><span·class="p"·data-group-id="7917752250-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="4196139576-1">(</span><span·class="nc">myscanner</span><span·class="p">:</span><span·class="nf">scan</span><span·class="p"·data-group-id="4196139576-2">(</span><span·class="n">Inport</span><span·class="p"·data-group-id="4196139576-2">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·dba362856d781c883381ec5f1165e24f27b42e686d609620b57bf962bdef4cab·...·]-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="4095371657-1">(</span><span·class="nc">myscanner</span><span·class="p">:</span><span·class="nf">scan</span><span·class="p"·data-group-id="4095371657-2">(</span><span·class="n">Inport</span><span·class="p"·data-group-id="4095371657-2">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·45289293b5d882b616dc93b9717e5b5d996869b084b0f7eabacffa362d5b12a0·...·]-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-6.2.2/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-6.2.2/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="0375951040-1">(</span><span·class="p"·data-group-id="0375951040-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="0375951040-2">}</span><span·class="p"·data-group-id="0375951040-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="0375951040-3">(</span><span·class="p"·data-group-id="0375951040-4">{</span><span·class="n">Mod</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·386,·SHA:·c21fb520900193207ee6c6a069db4683dddb1742d5674fd9ade574911964b721·...·]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="6636570503-1">(</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·258,·SHA:·0820dc2c33df523bdb6149ee239aaf567808ae8163ab3e3a30d8b12e66c427e4·...·]
 288 </span><span·class="nc">myparser</span><span·class="p">:</span><span·class="nf">parse_and_scan</span><span·class="p"·data-group-id="6636570503-3">(</span><span·class="p"·data-group-id="6636570503-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><span·class="p"·data-group-id="6636570503-4">}</span><span·class="p"·data-group-id="6636570503-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-15.2.7/doc/html/erlang.html#apply/2"><code·class="inline">apply(Function,·Args)</code></a>·or289 <a·href="../../../../erts-15.2.7/doc/html/erlang.html#apply/2"><code·class="inline">apply(Function,·Args)</code></a>·or
290 <a·href="../../../../erts-15.2.7/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-15.2.7/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="5393961820-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="5393961820-1">}</span><span·class="w">293 following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9271567846-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="9271567846-1">}</span><span·class="w">
294 </span><span·class="p"·data-group-id="5393961820-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="5393961820-2">}</span><span·class="w">294 </span><span·class="p"·data-group-id="9271567846-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="9271567846-2">}</span><span·class="w">
295 </span><span·class="p"·data-group-id="5393961820-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="5393[·...·truncated·by·diffoscope;·len:·6,·SHA:·6347867c026cf1725486b1f7316807a8cb8276e2d49416ef35aa47c895a4c071·...·]-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="9271567846-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="9271[·...·truncated·by·diffoscope;·len:·6,·SHA:·0545da413fece3ffd88e9f49c649571845525205409a66b2b91da09d1189ea3d·...·]-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="2003438161-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="2003438161-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="4215608808-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="4215608808-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="2003438161-2">{</span><span·class="ss">rule</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2003438161-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:·e89d8777694a4ade1bcac63b81147f5f25c9428fcabcb2f4cdead60c24b3bbb2·...·]-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="4215608808-2">{</span><span·class="ss">rule</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4215608808-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:·0b8819cc0bdc301772ce07df06f35a0d3b5fd9fbb488700e4e35e0ef9363ffa6·...·]-3">]</span><span·class="p">,</span><span·class="w">
347 ········</span><span·class="ss">&#39;$4&#39;</span><span·class="p"·data-group-id="2003438161-2">}</span><span·class="p">.</span><span·class="w">347 ········</span><span·class="ss">&#39;$4&#39;</span><span·class="p"·data-group-id="4215608808-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="2003438161-4">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="2003438161-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="4215608808-4">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4215608808-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="2003438161-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="2003438161-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="4215608808-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="4215608808-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="2003438161-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="2003438161-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="4215608808-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="4215608808-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="2003438161-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="4215608808-7">{</span><span·class="ss">erlang_code</span><span·class="p">,</span><span·class="w">
353 ·················</span><span·class="p"·data-group-id="2003438161-8">[</span><span·class="p"·data-group-id="2003438161-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:·a6e82a3c4fa519d9e7b7e84bbcd0419770f676d0bde57079884ee72321a7fc47·...·]-7">}</span><span·class="p">.</span><span·class="w">353 ·················</span><span·class="p"·data-group-id="4215608808-8">[</span><span·class="p"·data-group-id="4215608808-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:·2e3c6ecb08b727ce02f125496fbc2491102bcff7d1f49c2b6e9250f70dc3a3ec·...·]-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="2003438161-10">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="2003438161-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="4215608808-10">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4215608808-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="2003438161-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="2003438161-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="4215608808-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="4215608808-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="2003438161-12">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="2003438161-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="4215608808-12">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4215608808-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="2003438161-13">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="2003438161-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="4215608808-13">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4215608808-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="2003438161-14">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="2003438161-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="4215608808-14">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4215608808-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="2003438161-15">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="2003438161-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="4215608808-15">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4215608808-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="2003438161-16">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="2003438161-17">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="2003438161-17">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·973c657e4c2d641aefed6bf1e774880033ed08021659838d3a2cd5c995bfdfa3·...·]-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="4215608808-16">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="4215608808-17">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4215608808-17">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·05b93739dc013a9fa935187639ff1f9f28cdb6253d65f39cf231c7324d6be065·...·]-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="2003438161-19">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="2003438161-20">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="2003438161-20">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·fb932e5c10ae1242ef02ae4b20363af32027c3b9bfedbb70ea036bbbd52ae642·...·]-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="4215608808-19">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="4215608808-20">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4215608808-20">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·ea34baf8a106a70b61ef7b5f96f357847b0ae8b6779bbeef08dcc463e1b6934f·...·]-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="2003438161-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="2003438161-23">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·70,·SHA:·e31dc05505dbb3e6c008c70334c29da944ffbc8c3d91b038067f9a19e42b16d1·...·]-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="4215608808-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="4215608808-23">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·70,·SHA:·cd969fe01c7798827a97d550687a486a87408a21b0b0468d35729b25dee26275·...·]-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="2003438161-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="2003438161-25">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·a61940d68d2c7e4be4a2ac6088e58db86aef3197bb65bdc6297ef35bef3abe0a·...·]-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="4215608808-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="4215608808-25">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·bdf8613b1aa0de32a78700a48320b3b00b523fa7b133dc5d6f845aa694cca180·...·]-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="2003438161-26">(</span><span·class="n">Token</span><span·class="p"·data-group-id="2003438161-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="4215608808-26">(</span><span·class="n">Token</span><span·class="p"·data-group-id="4215608808-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="2003438161-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="2003438161-27">)</span><span·class="p">.</span><span·class="w">372 ····</span><span·class="nf">element</span><span·class="p"·data-group-id="4215608808-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="4215608808-27">)</span><span·class="p">.</span><span·class="w">
373 </span><span·class="nf">line_of</span><span·class="p"·data-group-id="2003438161-28">(</span><span·class="n">Token</span><span·class="p"·data-group-id="2003438161-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="4215608808-28">(</span><span·class="n">Token</span><span·class="p"·data-group-id="4215608808-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="2003438161-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="2003438161-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="4215608808-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="4215608808-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)
Max diff block lines reached; 919/51101 bytes (1.80%) 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.17.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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/public_key-1.17.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2025·<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;
695 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.17.1/doc/html/notes.html
    
Offset 1481, 15 lines modifiedOffset 1481, 15 lines modified
1481 ······<p·class="built-using">1481 ······<p·class="built-using">
1482 ········Built·using1482 ········Built·using
1483 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1483 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1484 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1484 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1485 ······</p>1485 ······</p>
1486 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1486 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1487 ····</footer>1487 ····</footer>
1488 ··</div>1488 ··</div>
1489 </main>1489 </main>
1490 </div>1490 </div>
1491 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1491 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1492 ··<script>1492 ··<script>
1493 ··let·initialized·=·false;1493 ··let·initialized·=·false;
704 B
html2text {}
Max HTML report size reached
435 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.17.1/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·Jul·06·2026·03:08:46,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:44,·uncompressed·size·20,·method=store
207 KB
OEBPS/using_public_key.xhtml
Max HTML report size reached
95.9 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.17.1/doc/html/public_key.html
    
Offset 3187, 30 lines modifiedOffset 3187, 30 lines modified
3187 certificates·include·policies·the·constrained·policy·set·with3187 certificates·include·policies·the·constrained·policy·set·with
3188 potential·qualifiers·will·be·returned,·these·values·are·derived·from3188 potential·qualifiers·will·be·returned,·these·values·are·derived·from
3189 the·policy·tree·created·as·part·of·the·path·validation·algorithm.·The3189 the·policy·tree·created·as·part·of·the·path·validation·algorithm.·The
3190 constrained·set·can·be·constrained·only·by·the·Certificate·Authorities3190 constrained·set·can·be·constrained·only·by·the·Certificate·Authorities
3191 or·also·by·the·user·when·the·option·<code·class="inline">policy_set</code>·is·provided·to·this3191 or·also·by·the·user·when·the·option·<code·class="inline">policy_set</code>·is·provided·to·this
3192 function.·The·qualifiers·convey·information·about·the·valid·policy·and3192 function.·The·qualifiers·convey·information·about·the·valid·policy·and
3193 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·be3193 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
3194 defined·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="4035392537-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="40353[·...·truncated·by·diffoscope;·len:·58,·SHA:·1aef8fc86ad0584015adb7fe9908fff9c7a0beaa465a425f6d76cebefa7e78ec·...·]-2">}</span><span·class="p">,</span><span·class="w">3194 defined·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="3998822509-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="39988[·...·truncated·by·diffoscope;·len:·58,·SHA:·c144947b71da00194c9decff34f9a743bc7eb0ad1266ceae732e569d80acb065·...·]-2">}</span><span·class="p">,</span><span·class="w">
3195 ····</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="4035392537-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_rea[·...·truncated·by·diffoscope;·len:·548,·SHA:·0c791006622ea9c8925f5f0146b9c4bd35c53f6999fc473db50e9ab9cfc262b1·...·]-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">3195 ····</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="3998822509-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_rea[·...·truncated·by·diffoscope;·len:·548,·SHA:·9de94a95b8cd292bf3355c4e7c765e6b3125c00464afe8d2d5184cbc2bb44e4d·...·]-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
3196 ·············</span><span·class="p"·data-group-id="4035392537-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="4035392537-8">{</span><span·class="p"·data-group-id="40[·...·truncated·by·diffoscope;·len:·61,·SHA:·8b208d20750c5011bf602a4214b52c2570b4cb8f76554e3d3902e7c450032c5a·...·]-7">}</span><span·class="p">,</span><span·class="w">3196 ·············</span><span·class="p"·data-group-id="3998822509-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="3998822509-8">{</span><span·class="p"·data-group-id="39[·...·truncated·by·diffoscope;·len:·61,·SHA:·84f31c1a5a190e72a47edf678f95e1dba1895a206c00f95a6c1b81ac1e8d851f·...·]-7">}</span><span·class="p">,</span><span·class="w">
3197 ····</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="4035392537-9">(</span><span·class="p"·data-group-id="4035392537-9">)</span><span·class="p"·data-group-id="4035392537-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">3197 ····</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="3998822509-9">(</span><span·class="p"·data-group-id="3998822509-9">)</span><span·class="p"·data-group-id="3998822509-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
3198 ··</span><span·class="p"·data-group-id="4035392537-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>[·...·truncated·by·diffoscope;·len:·149,·SHA:·83dc0e791c2d4c01cd3dcbabaa72b54c0fe8d515922f06250ab000a8136a7abc·...·]-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">3198 ··</span><span·class="p"·data-group-id="3998822509-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>[·...·truncated·by·diffoscope;·len:·149,·SHA:·01265cfab570017e85fd141c6739c6b02168b000fb5f819001a573541a6ce809·...·]-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
3199 ··</span><span·class="p"·data-group-id="4035392537-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</[·...·truncated·by·diffoscope;·len:·154,·SHA:·55b04000db26a0bbef87146560d58e691e156cba1c83d38ac47ef1093a92c0d9·...·]-12">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">3199 ··</span><span·class="p"·data-group-id="3998822509-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</[·...·truncated·by·diffoscope;·len:·154,·SHA:·56c43972e98088bea665592f0add0813233a11f0cea2659e355e6ebff5b565f8·...·]-12">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
3200 ··</span><span·class="p"·data-group-id="4035392537-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><spa[·...·truncated·by·diffoscope;·len:·145,·SHA:·be339c4ec528605e28b6d7774e140ebf447d9e690c785489d15258b9f48c9cb9·...·]-14">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">3200 ··</span><span·class="p"·data-group-id="3998822509-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><spa[·...·truncated·by·diffoscope;·len:·145,·SHA:·5ddd6a4cd8ea995b5957afd5f0eae910aaa622878a71f792a1ecee3fc0675775·...·]-14">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
3201 ··</span><span·class="p"·data-group-id="4035392537-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</spa[·...·truncated·by·diffoscope;·len:·633,·SHA:·7e1c4350f64127c74e94ebcba4f0532c8a162c7108094e058c64515161d473e7·...·]2-2">}</span><span·class="p">,</span><span·class="w">3201 ··</span><span·class="p"·data-group-id="3998822509-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</spa[·...·truncated·by·diffoscope;·len:·633,·SHA:·6b7f3f491951768ea0ef487babdf676e6e66f8e78a9e7dbe9dc5538862aed373·...·]2-2">}</span><span·class="p">,</span><span·class="w">
3202 ····</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="9841755942-3">(</span><span·class="p"·data-group-id="9841755942-3">)</span><span·class="p">,</span><span·class="w">3202 ····</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="3214785902-3">(</span><span·class="p"·data-group-id="3214785902-3">)</span><span·class="p">,</span><span·class="w">
3203 ····</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="9841755942-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:·547,·SHA:·432ba5377f1292ce515ddc82d46d2a617816b805a1b57d3c1a6992f63d612565·...·]2-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">3203 ····</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="3214785902-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:·547,·SHA:·b373b2387304c87dc91432727af1568344ea542f4f36b30acdb8249ddab442ed·...·]2-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
3204 ·············</span><span·class="p"·data-group-id="9841755942-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="9841755942-9">{</span><span·class="p"·data-group-id="98[·...·truncated·by·diffoscope;·len:·60,·SHA:·c673564bb63e5ab81c246ded664fba03e8ce6ef78b537282dbf3db1e20074f84·...·]2-8">}</span><span·class="p">,</span><span·class="w">3204 ·············</span><span·class="p"·data-group-id="3214785902-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="3214785902-9">{</span><span·class="p"·data-group-id="32[·...·truncated·by·diffoscope;·len:·60,·SHA:·5140fd391c3aee17b95bf19c4f692ef54483e751b4b730fd6af3225763a7d88a·...·]2-8">}</span><span·class="p">,</span><span·class="w">
3205 ····</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="9841755942-10">(</span><span·class="p"·data-group-id="9841755942-10">)</span><span·class="p"·data-group-id="9841755942-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">3205 ····</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="3214785902-10">(</span><span·class="p"·data-group-id="3214785902-10">)</span><span·class="p"·data-group-id="3214785902-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
3206 ··</span><span·class="p"·data-group-id="9841755942-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:·148,·SHA:·946058090eaebe21bc89ac4ad79ce32a1970101d2019c24bb68f4bacbcaeabff·...·]2-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">3206 ··</span><span·class="p"·data-group-id="3214785902-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:·148,·SHA:·1d2878b8fd4477b67983e5faadff23d2dbc9de24e4921b38d134d0b1c6b6a29d·...·]2-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
3207 ··</span><span·class="p"·data-group-id="9841755942-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:·153,·SHA:·3ef74500f34f396ac8acd24e1468694fd67d5b9eecf773213e3126fd3f61d82f·...·]2-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">3207 ··</span><span·class="p"·data-group-id="3214785902-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:·153,·SHA:·f2a2dedf7e3c3f71be4d3d40ac12324603e48daa7a30015acbe8cbb293e7bd2f·...·]2-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
3208 ··</span><span·class="p"·data-group-id="9841755942-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:·144,·SHA:·8040c0aeca5b250f3fa6057f5e40c3769dfbf60aa7219815ac2ced2c265063d5·...·]2-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">3208 ··</span><span·class="p"·data-group-id="3214785902-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:·144,·SHA:·bc00a846fd214fbe5a75acf76457374a87a72990e692d574c99a0869690f9372·...·]2-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
3209 ··</span><span·class="p"·data-group-id="9841755942-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:·150,·SHA:·986dd76ae4b6c742b05040eb56f06001b1b794a35c7595c3b1e9590bf73bac95·...·]2-17">}</span><span·class="p">.</span></code></pre><p>The·verify·callback·can·have·3·or·4·arguments·in·case·the·DER·encoded3209 ··</span><span·class="p"·data-group-id="3214785902-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:·150,·SHA:·b516afad4b9afb8d482d35acecb29aaaedda7df493452173593cdcbd57683ed2·...·]2-17">}</span><span·class="p">.</span></code></pre><p>The·verify·callback·can·have·3·or·4·arguments·in·case·the·DER·encoded
3210 version·is·needed·by·the·callback.</p><p>If·the·verify·callback·fun·returns·<code·class="inline">{fail,·Reason}</code>,·the·verification·process3210 version·is·needed·by·the·callback.</p><p>If·the·verify·callback·fun·returns·<code·class="inline">{fail,·Reason}</code>,·the·verification·process
3211 is·immediately·stopped.·If·the·verify·callback·fun·returns3211 is·immediately·stopped.·If·the·verify·callback·fun·returns
3212 <code·class="inline">{valid,·UserState}</code>,·the·verification·process·is·continued.·This·can·be·used3212 <code·class="inline">{valid,·UserState}</code>,·the·verification·process·is·continued.·This·can·be·used
3213 to·accept·specific·path·validation·errors,·such·as·<code·class="inline">selfsigned_peer</code>,·as·well3213 to·accept·specific·path·validation·errors,·such·as·<code·class="inline">selfsigned_peer</code>,·as·well
3214 as·verifying·application-specific·extensions.·If·called·with·an·extension3214 as·verifying·application-specific·extensions.·If·called·with·an·extension
3215 unknown·to·the·user·application,·the·return·value·<code·class="inline">{unknown,·UserState}</code>·is·to3215 unknown·to·the·user·application,·the·return·value·<code·class="inline">{unknown,·UserState}</code>·is·to
3216 be·used.</p><blockquote><h4·class="note">Note</h4><p>If·you·need·the·DER·encoded·version·of·the·certificate·and·have3216 be·used.</p><blockquote><h4·class="note">Note</h4><p>If·you·need·the·DER·encoded·version·of·the·certificate·and·have
Offset 3366, 17 lines modifiedOffset 3366, 17 lines modified
3366 certificate·is·in·agreement·with·at·least·one·of·the·<em>Reference·Identifier</em>·that3366 certificate·is·in·agreement·with·at·least·one·of·the·<em>Reference·Identifier</em>·that
3367 the·client·expects·to·be·connected·to.</p><p>The·function·is·intended·to·be·added·as·an·extra·client·check·of·the3367 the·client·expects·to·be·connected·to.</p><p>The·function·is·intended·to·be·added·as·an·extra·client·check·of·the
3368 peer·certificate·when·performing3368 peer·certificate·when·performing
3369 <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·information3369 <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
3370 about·hostname·verification.·The3370 about·hostname·verification.·The
3371 <a·href="using_public_key.html#verify_hostname">User's·Guide</a>·and3371 <a·href="using_public_key.html#verify_hostname">User's·Guide</a>·and
3372 <a·href="using_public_key.html#verify_hostname_examples">code·examples</a>·describes·this3372 <a·href="using_public_key.html#verify_hostname_examples">code·examples</a>·describes·this
3373 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="6738212235-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="6738212235-2">(</span><span·class="p"·data-group-id="6738212235-2">)</span><span·class=[·...·truncated·by·diffoscope;·len:·259,·SHA:·f2211e770880942ac6e1c4ef54b68626f00cc32b2622b97b855b4415c114b611·...·]-3">)</span><span·class="p">,</span><span·class="w">3373 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="9386795172-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="9386795172-2">(</span><span·class="p"·data-group-id="9386795172-2">)</span><span·class=[·...·truncated·by·diffoscope;·len:·259,·SHA:·617c4d8a695b7a21d14243a86a8306a7df6a4c079818c4a1873b1221098cda0d·...·]-3">)</span><span·class="p">,</span><span·class="w">
3374 ····</span><span·class="n">PresentedId</span><span·class="p">:</span><span·class="p">:</span><span·class="p"·data-group-id="6738212235-4">{</span><span·class="ss">dNSName</span><span·class="p">,</span><span·class="nf">string</span><span·class="p"·data-group-id="6738212235-5">(</span><span·class="p"·data-group-id="6738212235-5">)</span><span·class="p"·data-group-id="6738212235-4[·...·truncated·by·diffoscope;·len:·332,·SHA:·d073ae816a3f4294e7c664ce1cbe2ce2bfa658447de0da6d4fbcecbaaa3c0557·...·]-7">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">3374 ····</span><span·class="n">PresentedId</span><span·class="p">:</span><span·class="p">:</span><span·class="p"·data-group-id="9386795172-4">{</span><span·class="ss">dNSName</span><span·class="p">,</span><span·class="nf">string</span><span·class="p"·data-group-id="9386795172-5">(</span><span·class="p"·data-group-id="9386795172-5">)</span><span·class="p"·data-group-id="9386795172-4[·...·truncated·by·diffoscope;·len:·332,·SHA:·cdcd56cfc8ec2e96d08da5280d2404c235499e12b3a6d39131dd9626e662cdb1·...·]-7">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
3375 ·················</span><span·class="p"·data-group-id="6738212235-8">{</span><span·class="ss">iPAddress</span><span·class="p">,</span><span·class="nf">list</span><span·class="p"·data-group-id="6738212235-9">(</span><span·class="nf">byte</span><span·class="p"·data-group-id="6738212235-10">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·953,·SHA:·5e2f081af9204b335cce1535351d00c359e0cb6012f8d4474953c632ccefabf6·...·]-1">)</span></code></pre><p>This·function·replaces·the·default·host·name·matching·rules.·The·fun·should3375 ·················</span><span·class="p"·data-group-id="9386795172-8">{</span><span·class="ss">iPAddress</span><span·class="p">,</span><span·class="nf">list</span><span·class="p"·data-group-id="9386795172-9">(</span><span·class="nf">byte</span><span·class="p"·data-group-id="9386795172-10">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·953,·SHA:·95c71ccdd8f53232a87df7c03a0a0f887af11655df0e13c1b693e589fead65ad·...·]-1">)</span></code></pre><p>This·function·replaces·the·default·host·name·matching·rules.·The·fun·should
3376 return·a·boolean·to·tell·if·the·Reference·ID·and·Presented·ID·matches·or·not.3376 return·a·boolean·to·tell·if·the·Reference·ID·and·Presented·ID·matches·or·not.
3377 The·match·fun·can·also·return·a·third·value,·value,·the·atom·<code·class="inline">default</code>,·if·the3377 The·match·fun·can·also·return·a·third·value,·value,·the·atom·<code·class="inline">default</code>,·if·the
3378 default·matching·rules·shall·apply.·This·makes·it·possible·to·augment·the3378 default·matching·rules·shall·apply.·This·makes·it·possible·to·augment·the
3379 tests·with·a·special·case:</p><pre><code·class="text">fun(....)·-&gt;·true;···%·My·special·case3379 tests·with·a·special·case:</p><pre><code·class="text">fun(....)·-&gt;·true;···%·My·special·case
3380 ···(_,·_)·-&gt;·default·%·all·others·falls·back·to·the·inherit·tests3380 ···(_,·_)·-&gt;·default·%·all·others·falls·back·to·the·inherit·tests
3381 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·protocol3381 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
3382 name·as·argument·and·returns·a·<code·class="inline">fun/2</code>·suitable·for·this·option·and3382 name·as·argument·and·returns·a·<code·class="inline">fun/2</code>·suitable·for·this·option·and
Offset 3560, 22 lines modifiedOffset 3560, 22 lines modified
3560 ····································revocation_status_undetermined·|3560 ····································revocation_status_undetermined·|
3561 ····································{revocation_status_undetermined,·Reason·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()}·|3561 ····································{revocation_status_undetermined,·Reason·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()}·|
3562 ····································{revoked,·<a·href="#t:crl_reason/0">crl_reason</a>()}.</pre>3562 ····································{revoked,·<a·href="#t:crl_reason/0">crl_reason</a>()}.</pre>
  
3563 ······</div>3563 ······</div>
  
3564 <p>Performs·CRL·validation.·It·is·intended·to·be·called·from·the·verify·fun·of3564 <p>Performs·CRL·validation.·It·is·intended·to·be·called·from·the·verify·fun·of
3565 <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="8922691476-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="8922691476-2">{</span><span·class="p"·data-group-id="8922691476-2">}</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·215,·SHA:·053550a32a388e7ed534d865f5fdaeab99893ae279ce04fd41083d452805421e·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">3565 <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="3000811912-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="3000811912-2">{</span><span·class="p"·data-group-id="3000811912-2">}</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·215,·SHA:·bf70692d595c18ab276fdc46ada27be774de5200075b7c4f71a9a29a5795a8fd·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
3566 ········</span><span·class="o">#</span><span·class="ss">&#39;CertificateList&#39;</span><span·class="p"·data-group-id="8922691476-4">{</span><span·class="p"·data-group-id="8922691476-4">}</span></code></pre><p>The·fun·uses·the·information·in·the·distribution·point·to·access·the·latest3566 ········</span><span·class="o">#</span><span·class="ss">&#39;CertificateList&#39;</span><span·class="p"·data-group-id="3000811912-4">{</span><span·class="p"·data-group-id="3000811912-4">}</span></code></pre><p>The·fun·uses·the·information·in·the·distribution·point·to·access·the·latest
3567 possible·version·of·the·CRL.·If·this·fun·is·not·specified,·Public·Key·uses·the3567 possible·version·of·the·CRL.·If·this·fun·is·not·specified,·Public·Key·uses·the
3568 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·type3568 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
3569 specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="3266361083-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="3266361083-2">{</span><span·class="p"·data-group-id="3266361083-2">}</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·76566e7279d14bb5e56f26b35883dc592a6a359c12a49ca0d533e6a79ccb0847·...·]-3">}</span><span·class="p">,</span><span·class="w">3569 specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="4263934636-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="4263934636-2">{</span><span·class="p"·data-group-id="4263934636-2">}</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·6577cae86b14ae622ae1bdbab61d1bdc0a8735ba37ba86e584e9cb3ef482c515·...·]-3">}</span><span·class="p">,</span><span·class="w">
3570 ····</span><span·class="p"·data-group-id="3266361083-4">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="p"·data-group-id="3266361083-5">[</span><span·class="o">#</span><span·class="ss">&#39;AttributeTypeAndValue&#39;</span><span·class="p"·data-group-id="3266361083-6">{</span><span·class="p"·data-group-id="3266361083-6">}</span><span·class="p"·data-group-id="3266361083-5">]</span><span·class="p"·data-group-id="3266361083-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="3266361083-7">(</span><span·class="p"·data-group-id="3266361083-7">)</span><span·class="p"·data-group-id="3266361083-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
3571 ··</span><span·class="p"·data-group-id="3266361083-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="3266361083-9">{</sp[·...·truncated·by·diffoscope;·len:·394,·SHA:·c872fa4f3a8158b0720025d0509f2d35ebfcf887a55b520c4147e1cf69c160fa·...·]3570 ····</span><span·class="p"·data-group-id="4263934636-4">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="p"·data-group-id="4263934636-5">[</span><span·class="o">#</span><span·class="ss">&#39;AttributeTypeAndValue&#39;</span><sp[·...·truncated·by·diffoscope;·len:·592,·SHA:·c9cb070edd3acaa07681eeee6c61e444872d6be8b372d66aca5dd70c418e5843·...·]
 3571 ··</span><span·class="p"·data-group-id="4263934636-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="4263934636-9">{</span><span·class="p"·data-group-id="4263934636-9">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4263934636-10">[</span><span·class="ss">der_encoded</span><span·class="p"·data-group-id="4263934636-10">]</span><span·class="p"·data-group-id="4263934636-8">}</span></code></pre><p>The·fun·returns·the·root·certificate·and·certificate·chain·that·has·signed·the
3572 CRL.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8046605772-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:·8bd55d45f9162624b84f2e8b97daac2d2329611ced184be92b2e06c32a97c813·...·]-2">}</span></code></pre></li><li><p><strong>{undetermined_details,·boolean()}</strong>·-·Defaults·to·false.·When·revocation3572 CRL.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="6705882823-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:·48f4df1ccdaba429e34547eeee0238f2774c9f43247dc42628585341057ffedf·...·]-2">}</span></code></pre></li><li><p><strong>{undetermined_details,·boolean()}</strong>·-·Defaults·to·false.·When·revocation
3573 status·cannot·be·determined,·and·this·option·is·set·to·true,·details·of·why·no3573 status·cannot·be·determined,·and·this·option·is·set·to·true,·details·of·why·no
3574 CRLs·where·accepted·are·included·in·the·return·value.</p></li></ul>3574 CRLs·where·accepted·are·included·in·the·return·value.</p></li></ul>
3575 ··</section>3575 ··</section>
3576 </section>3576 </section>
3577 <section·class="detail"·id="pkix_dist_point/1">3577 <section·class="detail"·id="pkix_dist_point/1">
  
3578 ··<div·class="detail-header">3578 ··<div·class="detail-header">
Offset 3899, 26 lines modifiedOffset 3899, 26 lines modified
3899 certificate,·but·makes·the·certificate·useful·for·both·roles.</p><p>Explanation·of·the·options·used·to·customize·certificates·in·the·generated3899 certificate,·but·makes·the·certificate·useful·for·both·roles.</p><p>Explanation·of·the·options·used·to·customize·certificates·in·the·generated
3900 chains:</p><ul><li><p><strong>{digest,·digest_type()}</strong>·-·Hash·algorithm·to·be·used·for·signing·the3900 chains:</p><ul><li><p><strong>{digest,·digest_type()}</strong>·-·Hash·algorithm·to·be·used·for·signing·the
3901 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·call3901 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
3902 public_key:generate_key/1,·to·generate·a·key,·or·an·existing·key.·Defaults·to3902 public_key:generate_key/1,·to·generate·a·key,·or·an·existing·key.·Defaults·to
3903 generating·an·ECDSA·key.·Note·this·could·fail·if·Erlang/OTP·is·compiled·with·a3903 generating·an·ECDSA·key.·Note·this·could·fail·if·Erlang/OTP·is·compiled·with·a
3904 very·old·cryptolib.</p></li><li><p><strong>{validity,·{From::erlang:timestamp(),·To::erlang:timestamp()}}</strong>·-·The3904 very·old·cryptolib.</p></li><li><p><strong>{validity,·{From::erlang:timestamp(),·To::erlang:timestamp()}}</strong>·-·The
3905 validity·period·of·the·certificate.</p></li><li><p><strong>{extensions,·[#'Extension'{}]}</strong>·-·Extensions·to·include·in·the3905 validity·period·of·the·certificate.</p></li><li><p><strong>{extensions,·[#'Extension'{}]}</strong>·-·Extensions·to·include·in·the
3906 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="8902823690-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="8902823690-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">3906 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="0669333811-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="0669333811-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">
3907 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8902823690-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="8902823690-3">]</span><span·class="p">,</span><span·class="w">3907 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0669333811-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="0669333811-3">]</span><span·class="p">,</span><span·class="w">
3908 ··············</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="8902823690-2">}</span><span·class="p">,</span><span·class="w">3908 ··············</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="0669333811-2">}</span><span·class="p">,</span><span·class="w">
3909 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="8902823690-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">3909 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="0669333811-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">
3910 ·············</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="8902823690-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="8902823690-5">}</span><span·class="p">,</span><span·class="w">3910 ·············</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="0669333811-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="0669333811-5">}</span><span·class="p">,</span><span·class="w">
3911 ·············</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="8902823690-4">}</span><span·class="p"·data-group-id="8902823690-1">]</span></code></pre><p>Default·extensions·included·in·the·server·peer·cert·if·not·otherwise·specified3911 ·············</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="0669333811-4">}</span><span·class="p"·data-group-id="0669333811-1">]</span></code></pre><p>Default·extensions·included·in·the·server·peer·cert·if·not·otherwise·specified
3912 are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9412485439-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="9412485439-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">3912 are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3519905474-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="3519905474-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">
3913 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9412485439-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="9412485439-3">]</span><span·class="p">,</span><span·class="w">3913 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3519905474-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="3519905474-3">]</span><span·class="p">,</span><span·class="w">
3914 ··············</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="9412485439-2">}</span><span·class="p">,</span><span·class="w">3914 ··············</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="3519905474-2">}</span><span·class="p">,</span><span·class="w">
3915 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="9412485439-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">3915 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="3519905474-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">
3916 ·············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9412485439-5">[</span><span·class="p"·data-group-id="9412485439-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="9412485439-6">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·ab5e065edb7767985c31b2ce24454e558131b3ef142484cf81486558368ad4c7·...·]-5">]</span><span·class="p">,</span><span·class="w">3916 ·············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3519905474-5">[</span><span·class="p"·data-group-id="3519905474-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="3519905474-6">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·980863755c45bb5c91ef2065c1606cc8b4c6cdbedb2d5c78e42eb218c14442e8·...·]-5">]</span><span·class="p">,</span><span·class="w">
3917 ·············</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="9412485439-4">}</span><span·class="p"·data-group-id="9412485439-1">]</span></code></pre><p>Hostname·is·the·result·of·calling·net_adm:localhost()·in·the·Erlang·node·where3917 ·············</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="3519905474-4">}</span><span·class="p"·data-group-id="3519905474-1">]</span></code></pre><p>Hostname·is·the·result·of·calling·net_adm:localhost()·in·the·Erlang·node·where
3918 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·formally3918 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
3919 correct·PKIX-trust-chain·and·they·cannot·be·used·to·achieve·real·security.3919 correct·PKIX-trust-chain·and·they·cannot·be·used·to·achieve·real·security.
3920 This·function·is·provided·for·testing·purposes·only.</p></section>3920 This·function·is·provided·for·testing·purposes·only.</p></section>
3921 ··</section>3921 ··</section>
3922 </section>3922 </section>
3923 <section·class="detail"·id="pkix_test_root_cert/2">3923 <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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>4249 <p>Copyright·©·1996-2025·<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;
687 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.17.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>226 <p>Copyright·©·1996-2025·<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.5 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.17.1/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="7462569855-1">(</span><span·class="s">&quot;public_key/include/public_key.hrl&quot;</span><span·class="p"·data-group-id="7462569855-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="7498804734-1">(</span><span·class="s">&quot;public_key/include/public_key.hrl&quot;</span><span·class="p"·data-group-id="7498804734-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="0107662973-1">(</span><span·class="p"·data-group-id="0107662973-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="0107662973-2">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·231,·SHA:·fddf9c9946f843463c7d081192e1547d19af418e98d5fc57d62aa202ffeee9f3·...·]-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="4961542277-1">(</span><span·class="p"·data-group-id="4961542277-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="4961542277-2">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·231,·SHA:·ee5ed5535cc3ef7c6f764aa216fd06e35e7a7c1fcfc9456822bb664e3c95f51b·...·]-3">)</span><span·class="w">
  
140 </span><span·class="nf">utc_time</span><span·class="p"·data-group-id="0107662973-4">(</span><span·class="p"·data-group-id="0107662973-4">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0107662973-5">{</span><span·class="ss">utcTime</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·113,·SHA:·c5f8ff938dbe5d546f906ebd3dd535ca29b576dd4acb3a20b8c7259613873741·...·]-5">}</span><span·class="w">140 </span><span·class="nf">utc_time</span><span·class="p"·data-group-id="4961542277-4">(</span><span·class="p"·data-group-id="4961542277-4">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4961542277-5">{</span><span·class="ss">utcTime</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·113,·SHA:·45ab21f73f2571723f0d323804d56fd820b2c6db7a4078f70f93901ed06c7f98·...·]-5">}</span><span·class="w">
  
141 </span><span·class="nf">general_time</span><span·class="p"·data-group-id="0107662973-6">(</span><span·class="p"·data-group-id="0107662973-6">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0107662973-7">{</span><span·class="ss">generalTime</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·118,·SHA:·6e556fd9f3a63bd86985922448f0e66f6d1c5330575c4595d1a9b171ee4aafa4·...·]-7">}</span><span·class="w">141 </span><span·class="nf">general_time</span><span·class="p"·data-group-id="4961542277-6">(</span><span·class="p"·data-group-id="4961542277-6">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4961542277-7">{</span><span·class="ss">generalTime</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·118,·SHA:·eaac74e110a708c881f621b28be8f0b949c9af6e6c0b5371e8bb816ac9f2c458·...·]-7">}</span><span·class="w">
  
142 </span><span·class="nf">general_name</span><span·class="p"·data-group-id="0107662973-8">(</span><span·class="p"·data-group-id="0107662973-8">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0107662973-9">{</span><span·class="ss">rfc822Name</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·205,·SHA:·ca49c41f1482666076da3f2794399da5a42239c3b7565a190b13e820ee7296fc·...·]-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="4961542277-8">(</span><span·class="p"·data-group-id="4961542277-8">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4961542277-9">{</span><span·class="ss">rfc822Name</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·205,·SHA:·ef09d797215f4d3ed71c5135c638a1c0838adbbc52b3bab02c2a64335a6a1c08·...·]-9">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
143 ·················</span><span·class="p"·data-group-id="0107662973-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="0107662973-12">(</span><span·class="p"·data-group-id="0107662973-12">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·6d00f3625bca2d3ae019e91bd109f94250b51c09018eabaf51434baf1d47c470·...·]-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">143 ·················</span><span·class="p"·data-group-id="4961542277-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="4961542277-12">(</span><span·class="p"·data-group-id="4961542277-12">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·79476d94ac5d3271229b1c1187bf9bd1b6d069c9a2053e32905b25ec330ad0eb·...·]-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
144 ·················</span><span·class="p"·data-group-id="0107662973-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="0107662973-14">(</span><span·class="p"·data-group-id="0107662973-14">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">144 ·················</span><span·class="p"·data-group-id="4961542277-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="4961542277-14">(</span><span·class="p"·data-group-id="4961542277-14">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
145 ·················</span><span·class="p"·data-group-id="0107662973-15">{</span><span·class="ss">directoryName</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0107662973-16">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·379,·SHA:·42613eb2d446c388673d8d54331411540300719ab54bddcc3a8f6b07736007c8·...·]-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">145 ·················</span><span·class="p"·data-group-id="4961542277-15">{</span><span·class="ss">directoryName</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4961542277-16">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·379,·SHA:·16662c2afdacbf9bdc3af70b8733716db1689a98ee8dfdd78b87a6ea07b99d24·...·]-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
146 ·················</span><span·class="p"·data-group-id="0107662973-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="0107662973-20">(</span><span·class="p"·data-group-id="0107662973-20">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·df7df9ab05683e05689fc8efb471b82f3145acd62fe09bd75ac32171ae73c740·...·]-19">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">146 ·················</span><span·class="p"·data-group-id="4961542277-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="4961542277-20">(</span><span·class="p"·data-group-id="4961542277-20">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·4411aea630091d1d4d8a638f7ac97f8ae8638f5234324a63cd8c4e79d33d6bd6·...·]-19">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
147 ·················</span><span·class="p"·data-group-id="0107662973-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="0107662973-22">(</span><span·class="p"·data-group-id="0107662973-22">)</span><sp[·...·truncated·by·diffoscope;·len:·232,·SHA:·6595e0b772152db06b951f378cd751f4137f9b136978feb73269ed7cd65e0509·...·]-21">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">147 ·················</span><span·class="p"·data-group-id="4961542277-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="4961542277-22">(</span><span·class="p"·data-group-id="4961542277-22">)</span><sp[·...·truncated·by·diffoscope;·len:·232,·SHA:·183a2bb9b2765dd5d5953c4326a2646c924223e9d0e033814737043b62c3da55·...·]-21">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
148 ·················</span><span·class="p"·data-group-id="0107662973-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="0107662973-25">(</span><span·class="p"·data-group-id="0107662973-25">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·f4e43072eaa72439ef8fed9e6c5c638686b8c93a55ac3dbcca77c13fe17297e4·...·]-24">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">148 ·················</span><span·class="p"·data-group-id="4961542277-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="4961542277-25">(</span><span·class="p"·data-group-id="4961542277-25">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·b810c2e1b65b6fa223986c5b1db53e07a733d2997c8f93e6d424e1c65d8ec385·...·]-24">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
149 ·················</span><span·class="p"·data-group-id="0107662973-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="0107662973-27">(</span><span·class="p"·data-group-id="0107662973-27">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·f175d2b6b4f8b301dbb8ec6422bea83b6082145c2eb388c4e7fa0365510ca604·...·]-26">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">149 ·················</span><span·class="p"·data-group-id="4961542277-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="4961542277-27">(</span><span·class="p"·data-group-id="4961542277-27">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·a44e0c76c54cdf6d82253e3250ecfd3ed60fc3f436dca03c2ad3afe31fc0fc18·...·]-26">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
150 ·················</span><span·class="p"·data-group-id="0107662973-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="0107662973-29">(</span><span·class="p"·data-group-id="0107662973-29">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·f175d2b6b4f8b301dbb8ec6422bea83b6082145c2eb388c4e7fa0365510ca604·...·]-28">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">150 ·················</span><span·class="p"·data-group-id="4961542277-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="4961542277-29">(</span><span·class="p"·data-group-id="4961542277-29">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·a44e0c76c54cdf6d82253e3250ecfd3ed60fc3f436dca03c2ad3afe31fc0fc18·...·]-28">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
151 ·················</span><span·class="p"·data-group-id="0107662973-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="0107662973-31">(</span><span·class="p"·data-group-id="0107662973-31">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·6d00f3625bca2d3ae019e91bd109f94250b51c09018eabaf51434baf1d47c470·...·]-30">}</span><span·class="w">151 ·················</span><span·class="p"·data-group-id="4961542277-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="4961542277-31">(</span><span·class="p"·data-group-id="4961542277-31">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·79476d94ac5d3271229b1c1187bf9bd1b6d069c9a2053e32905b25ec330ad0eb·...·]-30">}</span><span·class="w">
  
152 </span><span·class="nf">special_string</span><span·class="p"·data-group-id="0107662973-32">(</span><span·class="p"·data-group-id="0107662973-32">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0107662973-33">{</span><span·class="ss">teletexString</span><span·class="p">[·...·truncated·by·diffoscope;·len:·211,·SHA:·9894bfca5e68d2a07cbbda433a92258ae1f89331bfbfe88873ac5d3f31cba01a·...·]-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="4961542277-32">(</span><span·class="p"·data-group-id="4961542277-32">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4961542277-33">{</span><span·class="ss">teletexString</span><span·class="p">[·...·truncated·by·diffoscope;·len:·211,·SHA:·3e0851623a4df183b8bdf84294c46903b6abcf49feb3b048e9d462b9d03a522f·...·]-33">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
153 ·153 ·
154 ···················</span><span·class="p"·data-group-id="0107662973-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="0107662973-36">(</span><span·class="p"·data-group-id="0107662973-36">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·46cec8d081fc2dfceffe913fe08ba9e862c9d94253b613d82509d3f5d74344fe·...·]-35">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">154 ···················</span><span·class="p"·data-group-id="4961542277-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="4961542277-36">(</span><span·class="p"·data-group-id="4961542277-36">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·2114a291c28da94c1643b7f1879b59be2244911e6271644ae69139fce7ee209e·...·]-35">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
155 ···················</span><span·class="p"·data-group-id="0107662973-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="0107662973-38">(</span><span·class="p"·data-group-id="0107662973-38">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·46cec8d081fc2dfceffe913fe08ba9e862c9d94253b613d82509d3f5d74344fe·...·]-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">155 ···················</span><span·class="p"·data-group-id="4961542277-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="4961542277-38">(</span><span·class="p"·data-group-id="4961542277-38">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·2114a291c28da94c1643b7f1879b59be2244911e6271644ae69139fce7ee209e·...·]-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
156 ···················</span><span·class="p"·data-group-id="0107662973-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="0107662973-40">(</span><span·class="p"·data-group-id="0107662973-40">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·fa51b1290215e53fb43105d519af562e7ab3ee36bf60c85724c4162a742e7576·...·]-39">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">156 ···················</span><span·class="p"·data-group-id="4961542277-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="4961542277-40">(</span><span·class="p"·data-group-id="4961542277-40">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·4216b6d918c9c3234dc3614af68d39d52c308f6fcf8cf2d9e585b9fa888c73c3·...·]-39">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
157 ···················</span><span·class="p"·data-group-id="0107662973-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="0107662973-42">(</span><span·class="p"·data-group-id="0107662973-42">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·f175d2b6b4f8b301dbb8ec6422bea83b6082145c2eb388c4e7fa0365510ca604·...·]-41">}</span><span·class="w">157 ···················</span><span·class="p"·data-group-id="4961542277-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="4961542277-42">(</span><span·class="p"·data-group-id="4961542277-42">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·a44e0c76c54cdf6d82253e3250ecfd3ed60fc3f436dca03c2ad3afe31fc0fc18·...·]-41">}</span><span·class="w">
  
158 </span><span·class="nf">dist_reason</span><span·class="p"·data-group-id="0107662973-43">(</span><span·class="p"·data-group-id="0107662973-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="4961542277-43">(</span><span·class="p"·data-group-id="4961542277-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="0107662973-44">(</span><span·class="p"·data-group-id="0107662973-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="0107662973-45">(</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·f4e43072eaa72439ef8fed9e6c5c638686b8c93a55ac3dbcca77c13fe17297e4·...·]-45">)</span><span·class="w">160 </span><span·class="n">OID_macro</span><span·class="p"·data-group-id="4961542277-44">(</span><span·class="p"·data-group-id="4961542277-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="4961542277-45">(</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·b810c2e1b65b6fa223986c5b1db53e07a733d2997c8f93e6d424e1c65d8ec385·...·]-45">)</span><span·class="w">
  
161 </span><span·class="n">OID_name</span><span·class="p"·data-group-id="0107662973-46">(</span><span·class="p"·data-group-id="0107662973-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="0107662973-47">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·e364cb821779bbae5c18d594c10e0263ed4de187760200452be23e7a33123dcf·...·]-47">)</span></code></pre><h2·id="rsa"·class="section-heading">161 </span><span·class="n">OID_name</span><span·class="p"·data-group-id="4961542277-46">(</span><span·class="p"·data-group-id="4961542277-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="4961542277-47">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·20443e3461a03b2258d590300684d694907125919927dbd5ba5b45ecba2337a7·...·]-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="2008628216-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="7850360627-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="2008628216-1">}</span><span·class="p">.</span><span·class="w">172 ··</span><span·class="p"·data-group-id="7850360627-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="2008628216-2">{</span><span·class="w">173 </span><span·class="o">#</span><span·class="ss">&#39;RSAPrivateKey&#39;</span><span·class="p"·data-group-id="7850360627-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="2008628216-2">}</span><span·class="p">.</span><span·class="w">184 ··</span><span·class="p"·data-group-id="7850360627-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="2008628216-3">{</span><span·class="w">185 </span><span·class="o">#</span><span·class="ss">&#39;OtherPrimeInfo&#39;</span><span·class="p"·data-group-id="7850360627-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="2008628216-3">}</span><span·class="p">.</span><span·class="w">189 ··</span><span·class="p"·data-group-id="7850360627-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="2008628216-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="7850360627-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="2008628216-4">}</span><span·class="p">.</span><span·class="w">195 ··</span><span·class="p"·data-group-id="7850360627-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="2008628216-5">{</span><span·class="w">196 </span><span·class="o">#</span><span·class="ss">&#39;HashAlgorithm&#39;</span><span·class="p"·data-group-id="7850360627-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="2008628216-5">}</span><span·class="p">.</span><span·class="w">199 ··</span><span·class="p"·data-group-id="7850360627-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="2008628216-6">{</span><span·class="w">200 </span><span·class="o">#</span><span·class="ss">&#39;MaskGenAlgorithm&#39;</span><span·class="p"·data-group-id="7850360627-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="2008628216-6">}</span><span·class="p">.</span></code></pre><h2·id="dsa"·class="section-heading">203 ··</span><span·class="p"·data-group-id="7850360627-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="4293886558-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="1687130850-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="4293886558-1">}</span><span·class="p">.</span><span·class="w">217 ··</span><span·class="p"·data-group-id="1687130850-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="4293886558-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="1687130850-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="4293886558-2">}</span><span·class="p">.</span></code></pre><h2·id="ecdsa-and-eddsa"·class="section-heading">222 ··</span><span·class="p"·data-group-id="1687130850-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; 66571/99050 bytes (67.21%) 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.17.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
208 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.17.1/doc/html/using_public_key.html
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2025·<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.1/doc/html/notes.html
    
Offset 778, 15 lines modifiedOffset 778, 15 lines modified
778 ······<p·class="built-using">778 ······<p·class="built-using">
779 ········Built·using779 ········Built·using
780 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the780 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
781 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>781 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
782 ······</p>782 ······</p>
783 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>783 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
784 ····</footer>784 ····</footer>
785 ··</div>785 ··</div>
786 </main>786 </main>
787 </div>787 </div>
788 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>788 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
789 ··<script>789 ··<script>
790 ··let·initialized·=·false;790 ··let·initialized·=·false;
689 B
html2text {}
Max HTML report size reached
453 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.1/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·Jul·06·2026·03:08:32,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:34,·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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2752 <p>Copyright·©·1996-2025·<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.1/doc/html/reltool_examples.html
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>213 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>383 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
636 B
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/doc/html/.build
    
Offset 15, 15 lines modifiedOffset 15, 15 lines modified
15 dist/lato-latin-300-normal-YUMVEFOL.woff215 dist/lato-latin-300-normal-YUMVEFOL.woff2
16 dist/lato-latin-400-normal-W7754I4D.woff216 dist/lato-latin-400-normal-W7754I4D.woff2
17 dist/lato-latin-700-normal-2XVSBPG4.woff217 dist/lato-latin-700-normal-2XVSBPG4.woff2
18 dist/lato-latin-ext-300-normal-VPGGJKJL.woff218 dist/lato-latin-ext-300-normal-VPGGJKJL.woff2
19 dist/lato-latin-ext-400-normal-N27NCBWW.woff219 dist/lato-latin-ext-400-normal-N27NCBWW.woff2
20 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff220 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
21 dist/remixicon-NKANDIL5.woff221 dist/remixicon-NKANDIL5.woff2
22 dist/search_data-1DC1D27C.js22 dist/search_data-A1188F1F.js
23 dist/sidebar_items-E5CACCF4.js23 dist/sidebar_items-E5CACCF4.js
24 dtrace.html24 dtrace.html
25 dyntrace.html25 dyntrace.html
26 index.html26 index.html
27 instrument.html27 instrument.html
28 lttng.html28 lttng.html
29 msacc.html29 msacc.html
1.48 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.1.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>231 <p>Copyright·©·1996-2025·<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.1.1/doc/html/dbg.html
Max HTML report size reached
1.62 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>222 <p>Copyright·©·1996-2025·<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.1.1/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-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·<a·href="../../../../erts-15.2.7/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="4283219367-1">(</span><span·class="p"·data-group-id="4283219367-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="1718532572-1">(</span><span·class="p"·data-group-id="1718532572-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="4283219367-2">(</span><span·class="ss">false</span><span·class="p"·data-group-id="4283219367-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="1718532572-2">(</span><span·class="ss">false</span><span·class="p"·data-group-id="1718532572-2">)</span><span·class="p">,</span><span·class="w">
832 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="4283219367-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4283219367-4">(</span><span·class="p"·data-group-id="4283219367-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="1718532572-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1718532572-4">(</span><span·class="p"·data-group-id="1718532572-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="4283219367-5">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="4283219367-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="1718532572-5">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="1718532572-5">)</span><span·class="p">,</span><span·class="w">
834 ·············</span><span·class="nf">do_something</span><span·class="p"·data-group-id="4283219367-6">(</span><span·class="p"·data-group-id="4283219367-6">)</span><span·class="w">834 ·············</span><span·class="nf">do_something</span><span·class="p"·data-group-id="1718532572-6">(</span><span·class="p"·data-group-id="1718532572-6">)</span><span·class="w">
835 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="4283219367-3">)</span><span·class="p">,</span><span·class="w">835 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="1718532572-3">)</span><span·class="p">,</span><span·class="w">
836 ····</span><span·class="nf">do_something_else</span><span·class="p"·data-group-id="4283219367-7">(</span><span·class="p"·data-group-id="4283219367-7">)</span><span·class="p">,</span><span·class="w">836 ····</span><span·class="nf">do_something_else</span><span·class="p"·data-group-id="1718532572-7">(</span><span·class="p"·data-group-id="1718532572-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="4283219367-8">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="4283219367-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="1718532572-8">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="1718532572-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.2.7/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.2.7/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-6.2.2/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-6.2.2/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="2925616671-1">(</span><span·class="p"·data-group-id="2925616671-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="1519986364-1">(</span><span·class="p"·data-group-id="1519986364-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
885 ···</span><span·class="p"·data-group-id="2925616671-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="2925616671-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·389,·SHA:·ca9a812c40ca4048eceaf4d47b7ee9f299b4f7ee02978c4b7563827096171f06·...·]-3">)</span><span·class="p">,</span><span·class="w">885 ···</span><span·class="p"·data-group-id="1519986364-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="1519986364-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·389,·SHA:·39a1bb227550593b9278e5da640ee7985fed07920c7f1c92cd644af78e9a7b04·...·]-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="2925616671-5">(</span><span·class="ss">true</span><span·class="p"·data-group-id="2925616671-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="1519986364-5">(</span><span·class="ss">true</span><span·class="p"·data-group-id="1519986364-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="2925616671-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="2925616671-7">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·80,·SHA:·114f9cf3b008698bc2036defbbc0c52c38b51ae636abca1262a2bb6841fce496·...·]-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="1519986364-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="1519986364-7">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·80,·SHA:·02ff7f717938f6e566aaa2e224269911562e6279c8850190325b377fa3f05018·...·]-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="2925616671-8">(</span><span·class="n">Saved</span><span·class="p"·data-group-id="2925616671-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="1519986364-8">(</span><span·class="n">Saved</span><span·class="p"·data-group-id="1519986364-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="2925616671-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="2925616671-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="1519986364-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="1519986364-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-6.2.2/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-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>917 <p>Copyright·©·1996-2025·<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.1.1/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="6506256161-1">(</span><span·class="p"·data-group-id="6506256161-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:·8c5d70f532b5bd8205ba70fd817f3fe979e843e3e9d04b520fb1e03c034fcb4e·...·]-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="9757537604-1">(</span><span·class="p"·data-group-id="9757537604-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:·cac9a342851f7d67000e44d82e4450948c0632ebe6dabb2a8fb4be6cf01a1d22·...·]-1">)</span><span·class="p">.</span><span·class="w">
351 </span><span·class="p"·data-group-id="6506256161-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6506256161-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:·c89766cb8a653daeb6c4717a0e4b56e051a07ed62fc985f38aaf8790748f4169·...·]-3">}</span></code></pre>351 </span><span·class="p"·data-group-id="9757537604-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9757537604-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:·281958a212c352af21973a1c210e53de2f4f23b63eac8532d77e1691dbbd166d·...·]-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="2499472328-1">(</span><span·class="p"·data-group-id="2499472328-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:·89934d4ac8222b9f0596b93efbfe753a422ba718befe77704229e44916c73b70·...·]-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="2226178464-1">(</span><span·class="p"·data-group-id="2226178464-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:·204d163341d15409c5e4d5c28edfb14fa63bb92a7e7014d7682e53d9868035e3·...·]-1">)</span><span·class="p">.</span><span·class="w">
488 </span><span·class="p"·data-group-id="2499472328-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2499472328-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="2226178464-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2226178464-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="2499472328-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="2226178464-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="2499472328-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="2499472328-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="m[·...·truncated·by·diffoscope;·len:·742,·SHA:·f4b099e24a74eb7991673bfa190a0dc60d2965dda905cb3a4354de96ecc4a1ca·...·]-6">}</span><span·class="p">,</span><span·class="w">490 ···········</span><span·class="p"·data-group-id="2226178464-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="2226178464-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="m[·...·truncated·by·diffoscope;·len:·742,·SHA:·9d63d1b187531583be93665232298df781ce3d5a8653b2c869b249be77994cf5·...·]-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="2499472328-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="2499472328-9">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><sp[·...·truncated·by·diffoscope;·len:·676,·SHA:·eadda053ef7dcf48029eeb6951d40db386fade444d1ef586121a1eb5fa4ef207·...·]-9">}</span><span·class="p">,</span><span·class="w">492 ···········</span><span·class="p"·data-group-id="2226178464-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="2226178464-9">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><sp[·...·truncated·by·diffoscope;·len:·676,·SHA:·c469e3defedd8e2a2f1770260ccb5cc9c1460e1e68757b54cefa3268af028efc·...·]-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="2499472328-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·cla[·...·truncated·by·diffoscope;·len:·522,·SHA:·ee725debe8e234d9274ec7762a3033c34fad0db2c4524f7a07e3989c29f02949·...·]-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="2226178464-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·cla[·...·truncated·by·diffoscope;·len:·522,·SHA:·a31ead800b541fb03a6bcae17cbe0e08bc09f8800a0e10ba3e65e9003810107b·...·]-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="2499472328-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:·bfd263e4ac44c2e1326c07a8429f01a81c38580e60a0b767e4e7c3ffd619d8df·...·]-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="2226178464-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:·c84e151e6465908d4f5c6a1ab98958a2410a07a60111c198ab003ee1b16f519d·...·]-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="2499472328-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:·914411ca80ad4297af049e759f03cdbe20c77cd8aa385541ba337efa8f6268a8·...·]-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="2226178464-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:·778611fb4985663c9694b40ef5fbbeb7ddfc36add04cf8f9070515691e65c381·...·]-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="2499472328-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·class[·...·truncated·by·diffoscope;·len:·520,·SHA:·e7e524719249150fb535ec04cdeec47f0511a2a676daf9ea8850a09755dd321c·...·]-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="2226178464-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·class[·...·truncated·by·diffoscope;·len:·520,·SHA:·e05e55d0f7514d02b4feb98e650776b742de6427e77716fab799141f87e8143f·...·]-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="2499472328-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="2226178464-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="2499472328-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="2226178464-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="2499472328-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:·91cd0bf3f45360aa57f799f7d4156f3f8888b6ce9d9b47d2606cf807852c1a5d·...·]-14">}</span><span·class="p">,</span><span·class="w">500 ·················</span><span·class="p"·data-group-id="2226178464-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:·d3fef39dcb1f14f1443d9272a05887b2cfbc1614c07886cad39fb6b569a2efee·...·]-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="2499472328-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="2499472328-17">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</[·...·truncated·by·diffoscope;·len:·737,·SHA:·78235d807735c2b51b74a10a147797d7098da735ab7fc4536b9e1140707b3066·...·]-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="2226178464-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="2226178464-17">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</[·...·truncated·by·diffoscope;·len:·737,·SHA:·5429c7348f6c233fefc5c41d321ec1d83a80476973f31b569985447e61f8b8d9·...·]-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="2499472328-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="2499472328-19">{</span><span·class="mi">2</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·694,·SHA:·b300fe79dfb63ac85204db0d81370b165564da53245b7ac635affecc7dd1f801·...·]-19">}</span><span·class="p">,</span><span·class="w">503 ···········</span><span·class="p"·data-group-id="2226178464-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="2226178464-19">{</span><span·class="mi">2</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·694,·SHA:·b3fde9b5af5c88b193d5f5a42c5a7709b8f3e52be148bcc1529843e65f650f21·...·]-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="2499472328-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:·a483f2808bbb0efc9e0e8d01dee161c360227db5e07486337179528910e22dc3·...·]-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="2226178464-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:·cbe095736acd1196d93c814b33a849f45eb3403a01c9a534f8ab763851eeaa67·...·]-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="2499472328-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:·a483f2808bbb0efc9e0e8d01dee161c360227db5e07486337179528910e22dc3·...·]-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="2226178464-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:·cbe095736acd1196d93c814b33a849f45eb3403a01c9a534f8ab763851eeaa67·...·]-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="2499472328-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:·37e644d73310709426e806a82cea829f9331442c358e64821436408f59fd6cce·...·]-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="2226178464-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:·4c73ea01444e1d3a7814d2cdceda5356df8b95c18c824a071f00b4fcec050ad8·...·]-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="2499472328-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:·9d5540683e44cd10ca24aa4350878847ddaf06b706e900a5d253358459689773·...·]-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="2226178464-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:·3daf42829de433bfe4a843da66f656e023fe909cbf92b437ac463abd6d412bf2·...·]-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="2499472328-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="2499472328-25">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">4[·...·truncated·by·diffoscope;·len:·685,·SHA:·8de8cae27a9a78ea563df7fbf8bdf0f06c530e5d65e9ab6234671bb26df1fc5f·...·]-25">}</span><span·class="p">,</span><span·class="w">509 ···········</span><span·class="p"·data-group-id="2226178464-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="2226178464-25">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">4[·...·truncated·by·diffoscope;·len:·685,·SHA:·63bbf85c7bbd37603c7556835fab1ff09a23eb95c54e5c695f22a3145e118e31·...·]-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="2499472328-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:·24cadbd6086c174e0e5e24d8c080635e3a721d9e9464c21bad125bf00d0cd757·...·]-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="2226178464-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:·a2aaddd42dae6a6f0ed716a371732745f6ffe9386f7931b33d94d5d281175580·...·]-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="4766841532-1">(</span><span·class="p"·data-group-id="4766841532-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:·b121c0662d6f60d2c597493432da4d971fe8587481110fbbcd46e3394af1f300·...·]-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="5576599045-1">(</span><span·class="p"·data-group-id="5576599045-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:·c8ed231b10536e1fda561e221b5b344355b52fbc2c5faa4ba5049dad7abf3b3e·...·]-1">)</span><span·class="p">.</span><span·class="w">
584 </span><span·class="p"·data-group-id="4766841532-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4766841532-4">{</span><span·class="mi">512</span><span·class="p">,</span><span·class="w">584 </span><span·class="p"·data-group-id="5576599045-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5576599045-4">{</span><span·class="mi">512</span><span·class="p">,</span><span·class="w">
585 ·····</span><span·class="p"·data-group-id="4766841532-5">[</span><span·class="p"·data-group-id="4766841532-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="5576599045-5">[</span><span·class="p"·data-group-id="5576599045-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="4766841532-7">[</span><span·class="p"·data-group-id="4766841532-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="4766841532-8[·...·truncated·by·diffoscope;·len:·51,·SHA:·6e8206d6e2006be67e0176af16991d898a84c71dac69267dcdcc0a350b0f4ecf·...·]-7">]</span><span·class="p">,</span><span·class="w">586 ····················</span><span·class="p"·data-group-id="5576599045-7">[</span><span·class="p"·data-group-id="5576599045-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="5576599045-8[·...·truncated·by·diffoscope;·len:·51,·SHA:·d9523b8cf1d165d649c6cdbb282f2c59c6df7d3fe7671ef6a725cfdafffc7f2c·...·]-7">]</span><span·class="p">,</span><span·class="w">
587 ····················</span><span·class="p"·data-group-id="4766841532-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:·7cedd674d47e72e2ed590928e3496b6e39741755bcc12e0e528c1e59cde5e48f·...·]-6">}</span><span·class="p">,</span><span·class="w">587 ····················</span><span·class="p"·data-group-id="5576599045-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:·b209c3f30fd2b0e0fafbf0c8f55b06db6e3cdfa43c73c7bf16a37295e1c15050·...·]-6">}</span><span·class="p">,</span><span·class="w">
588 ······</span><span·class="p"·data-group-id="4766841532-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="5576599045-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="4766841532-11">[</span><span·class="p"·data-group-id="4766841532-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="4766841532[·...·truncated·by·diffoscope;·len:·54,·SHA:·c105dffcd5a8b8838df1579954023be8b77427c15fbf01147a2977db3c969a60·...·]-11">]</span><span·class="p">,</span><span·class="w">589 ····················</span><span·class="p"·data-group-id="5576599045-11">[</span><span·class="p"·data-group-id="5576599045-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="5576599045[·...·truncated·by·diffoscope;·len:·54,·SHA:·0edfe8d7637ac3d7f0d6a4ec0e60469cb1f4ae6049ee10b5dcf010d59d96aa14·...·]-11">]</span><span·class="p">,</span><span·class="w">
590 ····················</span><span·class="p"·data-group-id="4766841532-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:·c3176829d3f3f44996a2751f7ec4c95dfb13fccb319aa89db6d774799d7778f9·...·]-10">}</span><span·class="p">,</span><span·class="w">590 ····················</span><span·class="p"·data-group-id="5576599045-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:·fbf2c6565de6fff6aec931a2c2903e636e28e475171677a876db4adde5d3efdf·...·]-10">}</span><span·class="p">,</span><span·class="w">
591 ······</span><span·class="p"·data-group-id="4766841532-14">{</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4766841532-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:·56469efd8f9b01f539628c3dcc861ab07067d7f6159e4ee01b316a7752c0ca0c·...·]-3">}</span></code></pre>591 ······</span><span·class="p"·data-group-id="5576599045-14">{</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="5576599045-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:·9401c1fefffab8a826d9d44a40355f662878ed2379c319deac7c5655dc77fd74·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>618 <p>Copyright·©·1996-2025·<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.7 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/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-15.2.7/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-15.2.7/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="7362185162-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="7362185162-1">}</span><span·[·...·truncated·by·diffoscope;·len:·731,·SHA:·07b7fa6f985e494fd3c70c3b1d4a9c4ad1c57e453c55fab0a56f18e6b7900bf6·...·]-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-15.2.7/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="6043330895-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="6043330895-1">}</span><span·[·...·truncated·by·diffoscope;·len:·731,·SHA:·7b0a70fc92840ac14eab81fd283829d1b99093c64b4914d636b6e3d53f573e06·...·]-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-15.2.7/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-15.2.7/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-15.2.7/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="0064422567-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="0064422567-1">}</span><span·[·...·truncated·by·diffoscope;·len:·703,·SHA:·e9353d112b94906ac241029af2a4cc7ef5183b2e2b69fa45f5b5a70f4360f309·...·]-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="8188449108-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="8188449108-1">}</span><span·[·...·truncated·by·diffoscope;·len:·703,·SHA:·f49f38f058f5440353f1c96183aee08c88c68a7f286ecbdbad0fdfd11552de0a·...·]-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-15.2.7/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-15.2.7/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="5566683074-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="5566683074-1">}</span><span·[·...·truncated·by·diffoscope;·len:·715,·SHA:·b816b05fa99a56cacffef5e84f08d3405837e5458b6bea6e2ddf01451d23f011·...·]4-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-15.2.7/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="1495449164-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="1495449164-1">}</span><span·[·...·truncated·by·diffoscope;·len:·715,·SHA:·25627d1fb9b39b306d82f0ae8e5fa1d8a21defab32c64c819c38f010ca5e056b·...·]4-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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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="6568677611-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="6568677611-1">}</span><span·[·...·truncated·by·diffoscope;·len:·723,·SHA:·65f8e4ec2ce576828dac410c45a99a3165bf76668203cdf062865780ccbfc17c·...·]-2">}</span></code></pre><p><em>port_scheduled</em></p><p>Available·through·<a·href="../../../../erts-15.2.7/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="2331214990-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="2331214990-1">}</span><span·[·...·truncated·by·diffoscope;·len:·723,·SHA:·978d653729ee69b63dabe655a9883441d018300be63d95c9a137bf1ed85fd9fa·...·]-2">}</span></code></pre><p><em>port_scheduled</em></p><p>Available·through·<a·href="../../../../erts-15.2.7/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="9607221736-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="9607221736-1">}</span><span·[·...·truncated·by·diffoscope;·len:·712,·SHA:·109759c7643320f8521bf8769316ba3bd67f5821ea1ce5cabb9ed467f39392ce·...·]-2">}</span></code></pre><p>Available·through·<a·href="../../../../erts-15.2.7/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="8970402147-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="8970402147-1">}</span><span·[·...·truncated·by·diffoscope;·len:·712,·SHA:·f88b7d66fc2ac1902cf9583f7b78338f236e2155e1ff99c76c1b290abca5681b·...·]-2">}</span></code></pre><p>Available·through·<a·href="../../../../erts-15.2.7/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-15.2.7/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-15.2.7/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="8498458396-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="8498458396-1">}</span><span·[·...·truncated·by·diffoscope;·len:·740,·SHA:·42f2238a5f06e529b2ee7f80710a7906fee1d95e8b170906445d8c4f9eaaaa48·...·]-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-15.2.7/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="6543156752-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="6543156752-1">}</span><span·[·...·truncated·by·diffoscope;·len:·740,·SHA:·3f2f69c22e7b38c0aa60f6ef18dd1064c8b16b7066db8ef3f56d2cd16f29c16e·...·]-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-15.2.7/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="9789482457-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="9789482457-1">}</span><span·[·...·truncated·by·diffoscope;·len:·719,·SHA:·57c5464260f6fe20e7fda4ef95aa983e1585823bdd3bec23a52587283d149352·...·]7-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-15.2.7/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="2096759597-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="2096759597-1">}</span><span·[·...·truncated·by·diffoscope;·len:·719,·SHA:·4fabb172c5fa3ae00972a9753b4c56cfaed5268d0913ad4bfee88e65e8a37b1e·...·]7-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-15.2.7/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="1190212986-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="1190212986-1">}</span><span·[·...·truncated·by·diffoscope;·len:·718,·SHA:·7f394cf5ca7f59dab8adb9ab0835b7cbd4aa5645ba54f67d62ca61246a7a596d·...·]-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-15.2.7/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="8098737471-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="8098737471-1">}</span><span·[·...·truncated·by·diffoscope;·len:·718,·SHA:·b89fa101c72683ca6c2f0c22e645c7defd0a77954c19ec2c9da2fdbc01fa318c·...·]-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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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="6184509576-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="6184509576-1">}</span><span·[·...·truncated·by·diffoscope;·len:·858,·SHA:·080338e3850a21c6890487b76f11f5c419ccc508ba39626387a74e9f8124dcd5·...·]-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-15.2.7/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="3682825220-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="3682825220-1">}</span><span·[·...·truncated·by·diffoscope;·len:·858,·SHA:·a56af0686b4e7d2c51fb0093f2f3657b2bb11d179aee72b092c53e032ac4a96d·...·]-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-15.2.7/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-15.2.7/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-15.2.7/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="7970102006-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="7970102006-1">}</span><span·[·...·truncated·by·diffoscope;·len:·862,·SHA:·465ee72cf6c06749e058fba6971deecdc0187b54eb18ac17db9e1940847061d6·...·]-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-15.2.7/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="8622066998-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="8622066998-1">}</span><span·[·...·truncated·by·diffoscope;·len:·862,·SHA:·817f11bbd75d448c2490d21af1d7575f4979e370811efcf8194a19e2f7c7bf99·...·]-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-15.2.7/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="9848035802-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="9848035802-1">}</span><span·[·...·truncated·by·diffoscope;·len:·19389,·SHA:·49d5467e53a31cbb291a672191c9d7f60331fa3cdef03961f06fc729fde53aca·...·]-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="2874887102-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="2874887102-1">}</span><span·[·...·truncated·by·diffoscope;·len:·19389,·SHA:·a84771e7856e788037fdc3a81f947bb18f3215f8afcc69e7cb8a0f86b481b188·...·]-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="8472959572-1">(</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="8472959572-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="2401211094-1">(</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="2401211094-1">)</span><span·class="p">.</span><span·class="w">
201 </span><span·class="p"·data-group-id="8472959572-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="8472959572-2">}</span></code></pre><p>All·tracepoints·via·dyntrace·are·now·visible·and·can·be·listed·through201 </span><span·class="p"·data-group-id="2401211094-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="2401211094-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="1984580097-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="1984580097-2">[</span><span·class="ss">procs</span><span·class="p">,</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·391,·SHA:·9460774cde71189146a02b5c0fead31df19d729789b46536b3937d6b19ba5bde·...·]-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="0013535853-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="0013535853-2">[</span><span·class="ss">procs</span><span·class="p">,</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·391,·SHA:·12ef12166063a8232ce605abba793a64ddd2dbf1ca5ca3d831067647ebf4e60b·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>276 <p>Copyright·©·1996-2025·<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.1.1/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-15.2.7/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="5826518454-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="5826518454-1">)</span><span·class="p">.</span><span·class="w">132 <a·href="../../../../erts-15.2.7/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="9635252380-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="9635252380-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="5826518454-2">(</span><span·class="p"·data-group-id="5826518454-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="9635252380-2">(</span><span·class="p"·data-group-id="9635252380-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="5826518454-3">(</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="5826518454-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="9635252380-3">(</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="9635252380-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="5826518454-4">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5826518454-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="9635252380-4">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="9635252380-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="5826518454-5">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5826518454-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="9635252380-5">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="9635252380-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="5826518454-6">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5826518454-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="9635252380-6">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="9635252380-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="5826518454-7">(</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="5826518454-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="9635252380-7">(</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="9635252380-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="7883954455-1">(</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">stats</span><span·class="p"·data-group-id="7883954455-2">(</span><span·class="ss">runtime</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">msa[·...·truncated·by·diffoscope;·len:·1323,·SHA:·927e604a463f3ce08abcfded65457976a581bf0eebcfd0263b2f9406ed63ea36·...·]-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="0316219591-1">(</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">stats</span><span·class="p"·data-group-id="0316219591-2">(</span><span·class="ss">runtime</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">msa[·...·truncated·by·diffoscope;·len:·1323,·SHA:·61215be2350e56e3000ca73b04362d50a0c95c1c36c0fa4014b07e61244120eb·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1191 <p>Copyright·©·1996-2025·<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
1.5 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/doc/html/notes.html
    
Offset 1275, 15 lines modifiedOffset 1275, 15 lines modified
1275 ······<p·class="built-using">1275 ······<p·class="built-using">
1276 ········Built·using1276 ········Built·using
1277 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1277 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1278 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1278 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1279 ······</p>1279 ······</p>
1280 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1280 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1281 ····</footer>1281 ····</footer>
1282 ··</div>1282 ··</div>
1283 </main>1283 </main>
1284 </div>1284 </div>
1285 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1285 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1286 ··<script>1286 ··<script>
1287 ··let·initialized·=·false;1287 ··let·initialized·=·false;
680 B
html2text {}
Max HTML report size reached
495 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/doc/html/runtime_tools.epub
3.27 KB
zipinfo {}
Max HTML report size reached
106 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·Jul·06·2026·03:06:54,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:56:46,·uncompressed·size·20,·method=store
2.53 KB
OEBPS/scheduler.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.25 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.1.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>196 <p>Copyright·©·1996-2025·<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.11 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/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-15.2.7/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-15.2.7/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="3657422188-1">(</span><span·class="nc">scheduler</span><span·class="p">:</span><span·class="nf">sample</span><span·class="p"·data-group-id="3657422188-2">(</span><span·class="p"·data-group-id="3657422188-2">)</span><span·class="p"·data-group-id="3657422188-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="2809363951-1">(</span><span·class="nc">scheduler</span><span·class="p">:</span><span·class="nf">sample</span><span·class="p"·data-group-id="2809363951-2">(</span><span·class="p"·data-group-id="2809363951-2">)</span><span·class="p"·data-group-id="2809363951-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>662 <p>Copyright·©·1996-2025·<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.77 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/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-1DC1D27C.js"></script>124 <script·src="dist/search_data-A1188F1F.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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;
470 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>295 <p>Copyright·©·1996-2025·<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.55 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2025·<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.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>409 <p>Copyright·©·1996-2025·<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.42 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.2.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>213 <p>Copyright·©·1996-2025·<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.2.2/doc/html/appup.html
    
Offset 217, 29 lines modifiedOffset 217, 29 lines modified
217 that·is,·if·a·process·using·the·module·spontaneously·switches·to·new·code,·or217 that·is,·if·a·process·using·the·module·spontaneously·switches·to·new·code,·or
218 if·it·is·&quot;static&quot;.·When·doing·an·advanced·update·and·upgrade,·the·new·version218 if·it·is·&quot;static&quot;.·When·doing·an·advanced·update·and·upgrade,·the·new·version
219 of·a·dynamic·module·is·loaded·before·the·process·is·asked·to·change·code.·When219 of·a·dynamic·module·is·loaded·before·the·process·is·asked·to·change·code.·When
220 downgrading,·the·process·is·asked·to·change·code·before·loading·the·new220 downgrading,·the·process·is·asked·to·change·code·before·loading·the·new
221 version.·For·static·modules,·the·new·version·is·loaded·before·the·process·is221 version.·For·static·modules,·the·new·version·is·loaded·before·the·process·is
222 asked·to·change·code,·both·in·the·case·of·upgrading·and·downgrading.·Callback222 asked·to·change·code,·both·in·the·case·of·upgrading·and·downgrading.·Callback
223 modules·are·dynamic.</p></li></ul><p><code·class="inline">update</code>·with·argument·<code·class="inline">supervisor</code>·is·used·when·changing·the·start223 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
224 specification·of·a·supervisor.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3534600556-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="3534600556-1">}</span><span·class="w">224 specification·of·a·supervisor.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2662917209-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="2662917209-1">}</span><span·class="w">
225 </span><span·class="p"·data-group-id="3534600556-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="3534600556-2">}</span><span·class="w">225 </span><span·class="p"·data-group-id="2662917209-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="2662917209-2">}</span><span·class="w">
226 </span><span·class="p"·data-group-id="3534600556-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:·81f3b7d9fbc715ebc1b347c0d0d4581ec09d295bbe715223ad17b4fac4e4a9d0·...·]-3">}</span><span·class="w">226 </span><span·class="p"·data-group-id="2662917209-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:·8b7ce9ae9a01cfdf1d27493562f75930011c37da79ba591824b0c98f2b2e0947·...·]-3">}</span><span·class="w">
227 ··</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="3534600556-4">(</span><span·class="p"·data-group-id="3534600556-4">)</span><span·class="w">227 ··</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="2662917209-4">(</span><span·class="p"·data-group-id="2662917209-4">)</span><span·class="w">
228 ··</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">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">
229 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3534600556-5">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="3534600556-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·dependent229 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2662917209-5">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="2662917209-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
230 on.·In·the·<code·class="inline">relup</code>·file,·instructions·for·loading·these·modules·come·before·the230 on.·In·the·<code·class="inline">relup</code>·file,·instructions·for·loading·these·modules·come·before·the
231 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="9835164659-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="9835164659-1">}</span><span·class="w">231 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="2137481370-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="2137481370-1">}</span><span·class="w">
232 </span><span·class="p"·data-group-id="9835164659-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="9835164659-2">}</span><span·class="w">232 </span><span·class="p"·data-group-id="2137481370-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="2137481370-2">}</span><span·class="w">
233 ··</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="9835164659-3">(</span><span·class="p"·data-group-id="9835164659-3">)</span><span·class="w">233 ··</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="2137481370-3">(</span><span·class="p"·data-group-id="2137481370-3">)</span><span·class="w">
234 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9835164659-4">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="9835164659-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·dependent234 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2137481370-4">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="2137481370-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
235 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the235 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the
236 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="9146386268-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="9146386268-1">}</span><span·class="w">236 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="8737693801-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="8737693801-1">}</span><span·class="w">
237 </span><span·class="p"·data-group-id="9146386268-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="9146386268-2">}</span><span·class="w">237 </span><span·class="p"·data-group-id="8737693801-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="8737693801-2">}</span><span·class="w">
238 ··</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="9146386268-3">(</span><span·class="p"·data-group-id="9146386268-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·dependent238 ··</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="8737693801-3">(</span><span·class="p"·data-group-id="8737693801-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
239 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the239 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the
240 instruction·for·removing·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="text">{add_application,·Application}240 instruction·for·removing·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="text">{add_application,·Application}
241 {add_application,·Application,·Type}241 {add_application,·Application,·Type}
242 ··Application·=·atom()242 ··Application·=·atom()
243 ··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·the243 ··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
244 <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 <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.
245 If·<code·class="inline">Type·=·permanent·|·transient·|·temporary</code>,·the·application·is·loaded·and245 If·<code·class="inline">Type·=·permanent·|·transient·|·temporary</code>,·the·application·is·loaded·and
Offset 258, 62 lines modifiedOffset 258, 62 lines modified
258 application·is·not·loaded·and·not·started,·although·the·code·for·its·modules·is258 application·is·not·loaded·and·not·started,·although·the·code·for·its·modules·is
259 loaded.</p><h3·id="low-level-instructions"·class="section-heading">259 loaded.</p><h3·id="low-level-instructions"·class="section-heading">
260 ··<a·href="#low-level-instructions"·class="hover-link">260 ··<a·href="#low-level-instructions"·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">Low-Level·Instructions</span>263 ··<span·class="text">Low-Level·Instructions</span>
264 </h3>264 </h3>
265 <pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7268235738-1">{</span><span·class="ss">load_object_code</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7268235738-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:·f04bbe83ba9b75c3a9a621518a43421a8fdf957d56b502317af39176ccd70d5f·...·]-1">}</span><span·class="w">265 <pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0711016551-1">{</span><span·class="ss">load_object_code</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0711016551-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:·19d7ac768067ebdb29283fc7fef70739efeb8fb841ac3a180ef7b8aa6e46cbf8·...·]-1">}</span><span·class="w">
266 ··</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="7268235738-4">(</span><span·class="p"·data-group-id="7268235738-4">)</span><span·class="w">266 ··</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="0711016551-4">(</span><span·class="p"·data-group-id="0711016551-4">)</span><span·class="w">
267 ··</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="7268235738-5">(</span><span·class="p"·data-group-id="7268235738-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·the267 ··</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="0711016551-5">(</span><span·class="p"·data-group-id="0711016551-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
268 modules.·The·instruction·is·to·be·placed·first·in·the·script·to·read·all·new268 modules.·The·instruction·is·to·be·placed·first·in·the·script·to·read·all·new
269 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·is269 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
270 restarted·from·the·old·release·version.·The·instruction·must·only·occur·once·in270 restarted·from·the·old·release·version.·The·instruction·must·only·occur·once·in
271 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 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}}
272 ··Mod·=·atom()272 ··Mod·=·atom()
273 ··PrePurge·=·PostPurge·=·soft_purge·|·brutal_purge</code></pre><p>Before·this·instruction·occurs,·<code·class="inline">Mod</code>·must·have·been·loaded·using273 ··PrePurge·=·PostPurge·=·soft_purge·|·brutal_purge</code></pre><p>Before·this·instruction·occurs,·<code·class="inline">Mod</code>·must·have·been·loaded·using
274 <code·class="inline">load_object_code</code>.·This·instruction·loads·the·module.·<code·class="inline">PrePurge</code>·is·ignored.274 <code·class="inline">load_object_code</code>.·This·instruction·loads·the·module.·<code·class="inline">PrePurge</code>·is·ignored.
275 For·a·description·of·<code·class="inline">PostPurge</code>,·see·the·high-level·instruction·<code·class="inline">update</code>275 For·a·description·of·<code·class="inline">PostPurge</code>,·see·the·high-level·instruction·<code·class="inline">update</code>
276 earlier.</p><pre><code·class="text">{remove,·{Mod,·PrePurge,·PostPurge}}276 earlier.</p><pre><code·class="text">{remove,·{Mod,·PrePurge,·PostPurge}}
277 ··Mod·=·atom()277 ··Mod·=·atom()
278 ··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·description278 ··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
279 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 of·<code·class="inline">PostPurge</code>,·see·the·high-level·instruction·<code·class="inline">update</code>·earlier.</p><pre><code·class="text">{purge,·[Mod]}
280 ··Mod·=·atom()</code></pre><p>Purges·each·module·<code·class="inline">Mod</code>,·that·is,·removes·the·old·code.·Notice·that·any·process280 ··Mod·=·atom()</code></pre><p>Purges·each·module·<code·class="inline">Mod</code>,·that·is,·removes·the·old·code.·Notice·that·any·process
281 executing·purged·code·is·killed.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6751260941-1">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6751260941-2">[</span><span·class="n">Mod</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·298,·SHA:·8a5a29fcae3ec4e8299cb729cbe7d444ee99a56aff71cb705fb4856a5c6aade9·...·]1-1">}</span><span·class="w">281 executing·purged·code·is·killed.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6549281301-1">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6549281301-2">[</span><span·class="n">Mod</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·298,·SHA:·b88e7392514ce9cbb6b662b95072155e23dbb104c4926708c7d46f3987893f72·...·]1-1">}</span><span·class="w">
282 ··</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="6751260941-4">(</span><span·class="p"·data-group-id="6751260941-4">)</span><span·class="w">282 ··</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="6549281301-4">(</span><span·class="p"·data-group-id="6549281301-4">)</span><span·class="w">
283 ··</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="6751260941-5">(</span><span·class="p"·data-group-id="6751260941-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·not283 ··</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="6549281301-5">(</span><span·class="p"·data-group-id="6549281301-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
284 respond,·it·is·ignored.·This·can·cause·the·process·to·die,·either·because·it284 respond,·it·is·ignored.·This·can·cause·the·process·to·die,·either·because·it
285 crashes·when·it·spontaneously·switches·to·new·code,·or·as·a·result·of·a·purge285 crashes·when·it·spontaneously·switches·to·new·code,·or·as·a·result·of·a·purge
286 operation.·If·no·<code·class="inline">Timeout</code>·is·specified·or·<code·class="inline">default</code>·is·specified,·the·default286 operation.·If·no·<code·class="inline">Timeout</code>·is·specified·or·<code·class="inline">default</code>·is·specified,·the·default
287 value·for·<a·href="../../../../lib/stdlib-6.2.2/doc/html/sys.html#suspend/1"><code·class="inline">sys:suspend</code></a>·is·used.</p><pre><code·class="text">{resume,·[Mod]}287 value·for·<a·href="../../../../lib/stdlib-6.2.2/doc/html/sys.html#suspend/1"><code·class="inline">sys:suspend</code></a>·is·used.</p><pre><code·class="text">{resume,·[Mod]}
288 ··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="9083479752-1">{</span><span·class="ss">code_change</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9083479752-2">[</span><span·class="p"·data-group-id="9083479752-3">{</span><span·class="n">Mod</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·204,·SHA:·45b17dda11063a048cf2fd47694782f301505f8449a4b98ec1dbbbf096d65b9e·...·]-1">}</span><span·class="w">288 ··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="3135786738-1">{</span><span·class="ss">code_change</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3135786738-2">[</span><span·class="p"·data-group-id="3135786738-3">{</span><span·class="n">Mod</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·204,·SHA:·256718ba9df95a56756b58a5e2de46e301abda1ab31664dd32d8bee286e2c233·...·]-1">}</span><span·class="w">
289 </span><span·class="p"·data-group-id="9083479752-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="9083479752-5">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·279,·SHA:·840001a72d2c45eac7ae034fb72496779a134156e400ff9bdad413a87c0b2da5·...·]-4">}</span><span·class="w">289 </span><span·class="p"·data-group-id="3135786738-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="3135786738-5">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·279,·SHA:·938caef37b5d3056da45dfc1dab1c9383eca2e097a8b495f6138254c93c0850e·...·]-4">}</span><span·class="w">
290 ··</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="9083479752-7">(</span><span·class="p"·data-group-id="9083479752-7">)</span><span·class="w">290 ··</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="3135786738-7">(</span><span·class="p"·data-group-id="3135786738-7">)</span><span·class="w">
291 ··</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">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">
292 ··</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="9083479752-8">(</span><span·class="p"·data-group-id="9083479752-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.·This292 ··</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="3135786738-8">(</span><span·class="p"·data-group-id="3135786738-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
293 instruction·sends·a·<code·class="inline">code_change</code>·system·message·to·all·processes·using·a·module293 instruction·sends·a·<code·class="inline">code_change</code>·system·message·to·all·processes·using·a·module
294 <code·class="inline">Mod</code>·by·calling·function·<a·href="../../../../lib/stdlib-6.2.2/doc/html/sys.html#change_code/4"><code·class="inline">sys:change_code</code></a>,·passing·term294 <code·class="inline">Mod</code>·by·calling·function·<a·href="../../../../lib/stdlib-6.2.2/doc/html/sys.html#change_code/4"><code·class="inline">sys:change_code</code></a>,·passing·term
295 <code·class="inline">Extra</code>·as·argument.</p><pre><code·class="text">{stop,·[Mod]}295 <code·class="inline">Extra</code>·as·argument.</p><pre><code·class="text">{stop,·[Mod]}
296 ··Mod·=·atom()</code></pre><p>Stops·all·processes·using·a·module·<code·class="inline">Mod</code>·by·calling296 ··Mod·=·atom()</code></pre><p>Stops·all·processes·using·a·module·<code·class="inline">Mod</code>·by·calling
297 <a·href="../../../../lib/stdlib-6.2.2/doc/html/supervisor.html#terminate_child/2"><code·class="inline">supervisor:terminate_child/2</code></a>.·This·instruction·is·useful·when·the·simplest·way297 <a·href="../../../../lib/stdlib-6.2.2/doc/html/supervisor.html#terminate_child/2"><code·class="inline">supervisor:terminate_child/2</code></a>.·This·instruction·is·useful·when·the·simplest·way
298 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="1026290840-1">{</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1026290840-2">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="1026290840-2">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·17113bbf593c35483a35ed5e3ccc8b9510c913d683086825f58a09ac0abfa471·...·]-1">}</span><span·class="w">298 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="0191596687-1">{</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0191596687-2">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="0191596687-2">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·76ee83d39abadbd215050ba23e5a8d73f01952013965bb1404c17f0f17669286·...·]-1">}</span><span·class="w">
299 ··</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="1026290840-3">(</span><span·class="p"·data-group-id="1026290840-3">)</span></code></pre><p>Starts·all·stopped·processes·using·a·module·<code·class="inline">Mod</code>·by·calling299 ··</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="0191596687-3">(</span><span·class="p"·data-group-id="0191596687-3">)</span></code></pre><p>Starts·all·stopped·processes·using·a·module·<code·class="inline">Mod</code>·by·calling
300 <a·href="../../../../lib/stdlib-6.2.2/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="6364923211-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="6364923211-2">[</span><span·class="n">Node</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·4ef6c9989651735ae63aad0b0216bce73f6f4781b66e26566fdad6740fc94866·...·]-1">}</span><span·class="w">300 <a·href="../../../../lib/stdlib-6.2.2/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="9239526253-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="9239526253-2">[</span><span·class="n">Node</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·cc41bc5a01d36781927f701862491c17152d8de60d5cf1de0d2b7dac872c75f4·...·]-1">}</span><span·class="w">
301 </span><span·class="p"·data-group-id="6364923211-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="6364923211-4">{</span><span·class="n">M</span><s[·...·truncated·by·diffoscope;·len:·236,·SHA:·ec042ae46b184d4f66f921491d9c77e167f1bcbc54f68609679323d1f5cbaebb·...·]-3">}</span><span·class="w">301 </span><span·class="p"·data-group-id="9239526253-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="9239526253-4">{</span><span·class="n">M</span><s[·...·truncated·by·diffoscope;·len:·236,·SHA:·188dc904465df74918a3be7dc6a98aa0b2126277bec80861f83c871ac606ba53·...·]-3">}</span><span·class="w">
302 ··</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="6364923211-5">(</span><span·class="p"·data-group-id="6364923211-5">)</span><span·class="w">302 ··</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="9239526253-5">(</span><span·class="p"·data-group-id="9239526253-5">)</span><span·class="w">
303 ··</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="6364923211-6">(</span><span·class="p"·data-group-id="6364923211-6">)</span><span·class="w">303 ··</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="9239526253-6">(</span><span·class="p"·data-group-id="9239526253-6">)</span><span·class="w">
304 ··</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="6364923211-7">(</span><span·class="p"·data-group-id="6364923211-7">)</span><span·class="w">304 ··</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="9239526253-7">(</span><span·class="p"·data-group-id="9239526253-7">)</span><span·class="w">
305 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6364923211-8">[</span><span·class="nf">term</span><span·class="p"·data-group-id="6364923211-9">(</span><span·class="p"·data-group-id="6364923211-9">)</span><span·class="p"·data-group-id="6364923211-8">]</span></code></pre><p><a·href="../../../../erts-15.2.7/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.·Each305 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9239526253-8">[</span><span·class="nf">term</span><span·class="p"·data-group-id="9239526253-9">(</span><span·class="p"·data-group-id="9239526253-9">)</span><span·class="p"·data-group-id="9239526253-8">]</span></code></pre><p><a·href="../../../../erts-15.2.7/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
306 <code·class="inline">Node</code>·must·evaluate·this·command·with·the·same·<code·class="inline">Id</code>.·The·local·node·waits·for306 <code·class="inline">Node</code>·must·evaluate·this·command·with·the·same·<code·class="inline">Id</code>.·The·local·node·waits·for
307 all·other·nodes·to·evaluate·the·instruction·before·execution·continues.·If·a307 all·other·nodes·to·evaluate·the·instruction·before·execution·continues.·If·a
308 node·goes·down,·it·is·considered·to·be·an·unrecoverable·error,·and·the·local308 node·goes·down,·it·is·considered·to·be·an·unrecoverable·error,·and·the·local
309 node·is·restarted·from·the·old·release.·There·is·no·time-out·for·this309 node·is·restarted·from·the·old·release.·There·is·no·time-out·for·this
310 instruction,·which·means·that·it·can·hang·forever.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9892782325-1">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9892782325-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:·a7fa8f5d6347eb54f5d89942ff62378a0d9082cfaeb5d58be1251aeb4af793e8·...·]-1">}</span><span·class="w">310 instruction,·which·means·that·it·can·hang·forever.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7712081734-1">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7712081734-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:·ee45a2b0917ef465277a09cbfada00966fd5c50d4e5a151a3ac0875956996c55·...·]-1">}</span><span·class="w">
311 ··</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="9892782325-3">(</span><span·class="p"·data-group-id="9892782325-3">)</span><span·class="w">311 ··</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="7712081734-3">(</span><span·class="p"·data-group-id="7712081734-3">)</span><span·class="w">
312 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9892782325-4">[</span><span·class="nf">term</span><span·class="p"·data-group-id="9892782325-5">(</span><span·class="p"·data-group-id="9892782325-5">)</span><span·class="p"·data-group-id="9892782325-4">]</span></code></pre><p>Evaluates·<a·href="../../../../erts-15.2.7/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·is312 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7712081734-4">[</span><span·class="nf">term</span><span·class="p"·data-group-id="7712081734-5">(</span><span·class="p"·data-group-id="7712081734-5">)</span><span·class="p"·data-group-id="7712081734-4">]</span></code></pre><p>Evaluates·<a·href="../../../../erts-15.2.7/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
313 caught.·<a·href="release_handler.html#install_release/1"><code·class="inline">release_handler:install_release/1</code></a>·then·returns313 caught.·<a·href="release_handler.html#install_release/1"><code·class="inline">release_handler:install_release/1</code></a>·then·returns
314 <code·class="inline">{error,{'EXIT',Reason}}</code>,·unless·<code·class="inline">{error,Error}</code>·is·thrown·or·returned.·Then·it314 <code·class="inline">{error,{'EXIT',Reason}}</code>,·unless·<code·class="inline">{error,Error}</code>·is·thrown·or·returned.·Then·it
315 returns·<code·class="inline">{error,Error}</code>.</p><p>If·the·instruction·appears·after·instruction·<code·class="inline">point_of_no_return</code>·and·the315 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
316 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·is316 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
317 upgraded.·It·shuts·down·the·current·emulator·and·starts·a·new·one.·All·processes317 upgraded.·It·shuts·down·the·current·emulator·and·starts·a·new·one.·All·processes
318 are·terminated·gracefully,·and·the·new·version·of·ERTS,·Kernel,·STDLIB,·and·SASL318 are·terminated·gracefully,·and·the·new·version·of·ERTS,·Kernel,·STDLIB,·and·SASL
319 are·used·when·the·emulator·restarts.·Only·one·<code·class="inline">restart_new_emulator</code>·instruction319 are·used·when·the·emulator·restarts.·Only·one·<code·class="inline">restart_new_emulator</code>·instruction
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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>396 <p>Copyright·©·1996-2025·<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;
690 B
html2text {}
Max HTML report size reached
18.7 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.2.2/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="2765238141-1">(</span><span·class="mi">4</span><span·class="p"·data-group-id="2765238141-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="2026931708-1">(</span><span·class="mi">4</span><span·class="p"·data-group-id="2026931708-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="2765238141-2">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">sasl_sup</span><span·class="p"·data-group-id="2765238141-2">}</span><span·class="w">314 </span><span·class="ss">supervisor</span><span·class="w">·····················································</span><span·class="p"·data-group-id="2026931708-2">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">sasl_sup</span><span·class="p"·data-group-id="2026931708-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="2765238141-3">[</span><span·class="p"·data-group-id="2765238141-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:·41,·SHA:·88ae1a6b2270dd26b04b0286d6da6db2e90ad2a3aa9e11481f06ffb557af2102·...·]-4">}</span><span·class="p">,</span><span·class="w">316 </span><span·class="p"·data-group-id="2026931708-3">[</span><span·class="p"·data-group-id="2026931708-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:·41,·SHA:·2a35c22a6237770e64e290149c50c20f32669281ef44d9f7b512bfcd8e93b4be·...·]-4">}</span><span·class="p">,</span><span·class="w">
317 </span><span·class="p"·data-group-id="2765238141-5">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="ss">release_handler</span><span·class="p"·data-group-id="2765238141-5">}</span><span·class="p">,</span><span·class="w">317 </span><span·class="p"·data-group-id="2026931708-5">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="ss">release_handler</span><span·class="p"·data-group-id="2026931708-5">}</span><span·class="p">,</span><span·class="w">
318 </span><span·class="p"·data-group-id="2765238141-6">{</span><span·class="ss">mfa</span><span·class="p">,</span><span·class="p"·data-group-id="2765238141-7">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·190,·SHA:·daa3f7a37c853afba960aa20b78371eebc3d5111d478da61340ab7af036faf00·...·]-6">}</span><span·class="p">,</span><span·class="w">318 </span><span·class="p"·data-group-id="2026931708-6">{</span><span·class="ss">mfa</span><span·class="p">,</span><span·class="p"·data-group-id="2026931708-7">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·190,·SHA:·8033fc54edba7f80a9b4548d41af092311eda07a73e22fc2cda662c19b40c807·...·]-6">}</span><span·class="p">,</span><span·class="w">
319 </span><span·class="p"·data-group-id="2765238141-9">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="2765238141-9">}</span><span·class="p">,</span><span·class="w">319 </span><span·class="p"·data-group-id="2026931708-9">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="2026931708-9">}</span><span·class="p">,</span><span·class="w">
320 </span><span·class="p"·data-group-id="2765238141-10">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="2765238141-10">}</span><span·class="p">,</span><span·class="w">320 </span><span·class="p"·data-group-id="2026931708-10">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="2026931708-10">}</span><span·class="p">,</span><span·class="w">
321 </span><span·class="p"·data-group-id="2765238141-11">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="2765238141-11">}</span><span·class="p"·data-group-id="2765238141-3">]</span><span·class="w">321 </span><span·class="p"·data-group-id="2026931708-11">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="2026931708-11">}</span><span·class="p"·data-group-id="2026931708-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="2765238141-12">(</span><span·class="mi">9</span><span·class="p"·data-group-id="2765238141-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="2026931708-12">(</span><span·class="mi">9</span><span·class="p"·data-group-id="2026931708-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="2765238141-13">{</span><span·class="ss">undef</span><span·class="p">,</span><span·class="p"·data-group-id="2765238141-14">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">mbj_func</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·195,·SHA:·053067730f306cdf56548c4696730b2778fe2864df18b52032a483644433fe3a·...·]-13">}</span><span·class="w">329 </span><span·class="ss">error_info</span><span·class="w">·····························</span><span·class="p"·data-group-id="2026931708-13">{</span><span·class="ss">undef</span><span·class="p">,</span><span·class="p"·data-group-id="2026931708-14">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">mbj_func</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·195,·SHA:·f53cef56f58ed5af2448847c55f536ac2cc4c1300d5329aeebb73d1ea7654895·...·]-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="2765238141-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="2026931708-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="2765238141-17">[</span><span·class="ss">gen_server</span><span·class="p">,</span><span·class="w">332 </span><span·class="p"·data-group-id="2026931708-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="2765238141-18">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">register</span><span·class="p"·data-group-id="2765238141-18">}</span><span·class="p">,</span><span·class="w">335 </span><span·class="p"·data-group-id="2026931708-18">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">register</span><span·class="p"·data-group-id="2026931708-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="2765238141-19">[</span><span·class="p"·data-group-id="2765238141-19">]</span><span·class="p">,</span><span·class="w">338 </span><span·class="p"·data-group-id="2026931708-19">[</span><span·class="p"·data-group-id="2026931708-19">]</span><span·class="p">,</span><span·class="w">
339 </span><span·class="p"·data-group-id="2765238141-20">[</span><span·class="p"·data-group-id="2765238141-20">]</span><span·class="p"·data-group-id="2765238141-17">]</span><span·class="p"·data-group-id="2765238141-16">}</span><span·class="w">339 </span><span·class="p"·data-group-id="2026931708-20">[</span><span·class="p"·data-group-id="2026931708-20">]</span><span·class="p"·data-group-id="2026931708-17">]</span><span·class="p"·data-group-id="2026931708-16">}</span><span·class="w">
340 </span><span·class="ss">ancestors</span><span·class="w">················································</span><span·class="p"·data-group-id="2765238141-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="2765238141-21">]</span><span·class="w">340 </span><span·class="ss">ancestors</span><span·class="w">················································</span><span·class="p"·data-group-id="2026931708-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="2026931708-21">]</span><span·class="w">
341 </span><span·class="ss">messages</span><span·class="w">··································································</span><span·class="p"·data-group-id="2765238141-22">[</span><span·class="p"·data-group-id="2765238141-22">]</span><span·class="w">341 </span><span·class="ss">messages</span><span·class="w">··································································</span><span·class="p"·data-group-id="2026931708-22">[</span><span·class="p"·data-group-id="2026931708-22">]</span><span·class="w">
342 </span><span·class="ss">links</span><span·class="w">····················································</span><span·class="p"·data-group-id="2765238141-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:·93,·SHA:·10076d6fe611446f68885bc56e03ae2f3b4e7c365252db91a6acc5054895fc0b·...·]-23">]</span><span·class="w">342 </span><span·class="ss">links</span><span·class="w">····················································</span><span·class="p"·data-group-id="2026931708-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:·93,·SHA:·2e3e5a90422b2e5aa73d5b82dc3b791b2cf5287967a469fde137c9f4435bde00·...·]-23">]</span><span·class="w">
343 </span><span·class="ss">dictionary</span><span·class="w">································································</span><span·class="p"·data-group-id="2765238141-24">[</span><span·class="p"·data-group-id="2765238141-24">]</span><span·class="w">343 </span><span·class="ss">dictionary</span><span·class="w">································································</span><span·class="p"·data-group-id="2026931708-24">[</span><span·class="p"·data-group-id="2026931708-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>486 <p>Copyright·©·1996-2025·<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.2.2/doc/html/notes.html
    
Offset 1159, 15 lines modifiedOffset 1159, 15 lines modified
1159 ······<p·class="built-using">1159 ······<p·class="built-using">
1160 ········Built·using1160 ········Built·using
1161 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1161 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1162 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1162 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1163 ······</p>1163 ······</p>
1164 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1164 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1165 ····</footer>1165 ····</footer>
1166 ··</div>1166 ··</div>
1167 </main>1167 </main>
1168 </div>1168 </div>
1169 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1169 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1170 ··<script>1170 ··<script>
1171 ··let·initialized·=·false;1171 ··let·initialized·=·false;
694 B
html2text {}
Max HTML report size reached
1.4 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1070 <p>Copyright·©·1996-2025·<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.11 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.2.2/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="3666420624-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3666420624-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:·e46ca5be11f22d1f6b985d3a5d7e3b49c893cac80f3dce72d087b47c6082cc7c·...·]-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="9647597277-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9647597277-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:·7faccf687c66d742be91ee97299f716d973afa8a55014d80c9b09f4e52960f59·...·]-3">}</span><span·class="p">,</span><span·class="w">
144 ··</span><span·class="p"·data-group-id="3666420624-4">[</span><span·class="p"·data-group-id="3666420624-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="3666420624-5">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">144 ··</span><span·class="p"·data-group-id="9647597277-4">[</span><span·class="p"·data-group-id="9647597277-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="9647597277-5">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
145 ···</span><span·class="p"·data-group-id="3666420624-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="3666420624-6">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">145 ···</span><span·class="p"·data-group-id="9647597277-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="9647597277-6">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
146 ···</span><span·class="p"·data-group-id="3666420624-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="3666420624-7">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">146 ···</span><span·class="p"·data-group-id="9647597277-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="9647597277-7">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
147 ···</span><span·class="p"·data-group-id="3666420624-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:·5bc44cb04bbf524f472c83999c31cec1744998e8e7d1b466ccb36e4dc508899e·...·]-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="9647597277-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:·a3a5f03f2201756534ae2ceae4078d4722a734908623703fe5b081211e0a45f1·...·]-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.2.7/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.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>209 <p>Copyright·©·1996-2025·<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.2.2/doc/html/release_handler.html
    
Offset 1054, 16 lines modifiedOffset 1054, 16 lines modified
1054 updated·(<code·class="inline">Bool==true</code>)·or·if·only·code·paths·for·modified·applications·are·to1054 updated·(<code·class="inline">Bool==true</code>)·or·if·only·code·paths·for·modified·applications·are·to
1055 be·updated·(<code·class="inline">Bool==false</code>,·default).·This·option·has·only·effect·for·other1055 be·updated·(<code·class="inline">Bool==false</code>,·default).·This·option·has·only·effect·for·other
1056 application·directories·than·the·default·<code·class="inline">$ROOT/lib/App-Vsn</code>,·that·is,1056 application·directories·than·the·default·<code·class="inline">$ROOT/lib/App-Vsn</code>,·that·is,
1057 application·directories·specified·in·argument·<code·class="inline">AppDirs</code>·in·a·call·to1057 application·directories·specified·in·argument·<code·class="inline">AppDirs</code>·in·a·call·to
1058 <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·of1058 <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
1059 <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·outside1059 <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
1060 the·release·handler·and·the·release·handler·is·informed·about·this·with·a·call1060 the·release·handler·and·the·release·handler·is·informed·about·this·with·a·call
1061 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="0990595132-1">(</span><span·class="n">RelFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0990595132-2">[</span><span·class="p"·data-group-id="0990595132-3">{</span><span·class="ss">myapp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·353,·SHA:·220850af4f1c718790769f6ad14e235449f1e3febb828e5e8f7c0e27e54453df·...·]-1">)</span><span·class="p">.</span><span·class="w">1061 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="3051800071-1">(</span><span·class="n">RelFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3051800071-2">[</span><span·class="p"·data-group-id="3051800071-3">{</span><span·class="ss">myapp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·353,·SHA:·662a3ee323f53d1713e2c58ed2f512243878de02c2b2e98546f7ae84dc64c941·...·]-1">)</span><span·class="p">.</span><span·class="w">
1062 </span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0990595132-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">NewVsn</span><span·class="p"·data-group-id="0990595132-4">}</span></code></pre><p>If·<code·class="inline">NewVsn</code>·is·installed·with·option·<code·class="inline">{update_paths,true}</code>,·then1062 </span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3051800071-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">NewVsn</span><span·class="p"·data-group-id="3051800071-4">}</span></code></pre><p>If·<code·class="inline">NewVsn</code>·is·installed·with·option·<code·class="inline">{update_paths,true}</code>,·then
1063 <a·href="../../../../lib/kernel-10.2.7/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·in1063 <a·href="../../../../lib/kernel-10.2.7/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
1064 the·system.·The·reason·is·that·each·process·must·be·checked·for·references·to1064 the·system.·The·reason·is·that·each·process·must·be·checked·for·references·to
1065 old·code·before·a·module·can·be·purged.·This·check·can·lead·to·garbage1065 old·code·before·a·module·can·be·purged.·This·check·can·lead·to·garbage
1066 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>,·first1066 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
1067 call·<a·href="#check_install_release/1"><code·class="inline">check_install_release</code></a>,·using·option1067 call·<a·href="#check_install_release/1"><code·class="inline">check_install_release</code></a>,·using·option
1068 <code·class="inline">purge</code>.·This·does·the·same·check·for·old·code.·Then·purges·all·modules·that1068 <code·class="inline">purge</code>.·This·does·the·same·check·for·old·code.·Then·purges·all·modules·that
1069 can·be·soft-purged.·The·purged·modules·do·then·no·longer·have·any·old·code,1069 can·be·soft-purged.·The·purged·modules·do·then·no·longer·have·any·old·code,
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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1345 <p>Copyright·©·1996-2025·<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;
707 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>211 <p>Copyright·©·1996-2025·<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
197 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.2.2/doc/html/sasl.epub
3.39 KB
zipinfo {}
Max HTML report size reached
117 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
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.59 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>266 <p>Copyright·©·1996-2025·<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.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>193 <p>Copyright·©·1996-2025·<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.2.2/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="1125987731-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1125987731-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:·f9f03c99dedb8833b52c94347c94206b1aabba6dc45cae95e7b8c6cc37333a77·...·]-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="1519654664-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1519654664-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:·3d110f5e9036de095effb183627a0a961025b46a4ea49e65a6ff3334d3b46482·...·]-2">}</span><span·class="p">,</span><span·class="w">
146 ·</span><span·class="p"·data-group-id="1125987731-3">[</span><span·class="w">146 ·</span><span·class="p"·data-group-id="1519654664-3">[</span><span·class="w">
147 ··</span><span·class="p"·data-group-id="1125987731-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="1125987731-4">}</span><span·class="p">,</span><span·class="w">147 ··</span><span·class="p"·data-group-id="1519654664-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="1519654664-4">}</span><span·class="p">,</span><span·class="w">
148 ··</span><span·class="p"·data-group-id="1125987731-5">{</span><span·class="ss">preLoaded</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1125987731-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:·05700283129774d3c72ca8b214c4d6700fc08c80ca43429bde43a0d16cf740bd·...·]-5">}</span><span·class="p">,</span><span·class="w">148 ··</span><span·class="p"·data-group-id="1519654664-5">{</span><span·class="ss">preLoaded</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1519654664-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:·dbd7842243f27bf52c76eba2e92d74be094c03f0c58d2072211c880b89566560·...·]-5">}</span><span·class="p">,</span><span·class="w">
149 ··</span><span·class="p"·data-group-id="1125987731-7">{</span><span·class="ss">path</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1125987731-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:·108f51302be8f05afbd82e600bef09e904c2c1d212482a367d9508496193b912·...·]-7">}</span><span·class="p">.</span><span·class="w">149 ··</span><span·class="p"·data-group-id="1519654664-7">{</span><span·class="ss">path</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1519654664-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:·8a8be9051343e2bcb0727ea27286e3f7b1301f2c08fd8c5b18a4fe02eed384fc·...·]-7">}</span><span·class="p">.</span><span·class="w">
150 ··</span><span·class="p"·data-group-id="1125987731-9">{</span><span·class="ss">primLoad</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1125987731-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:·9b9bd2eeecf91638a2b63aacd67ae2a7fd5f22d1d0781e64b84618d330accb18·...·]-9">}</span><span·class="p">,</span><span·class="w">150 ··</span><span·class="p"·data-group-id="1519654664-9">{</span><span·class="ss">primLoad</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1519654664-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:·8f21cf19c3c42e59cb5cc45fdd91daac85d6ce08dbd8036f903ba88a079f3230·...·]-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="1125987731-11">{</span><span·class="ss">kernel_load_completed</span><span·class="p"·data-group-id="1125987731-11">}</span><span·class="p">,</span><span·class="w">152 ··</span><span·class="p"·data-group-id="1519654664-11">{</span><span·class="ss">kernel_load_completed</span><span·class="p"·data-group-id="1519654664-11">}</span><span·class="p">,</span><span·class="w">
153 ··</span><span·class="p"·data-group-id="1125987731-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="1125987731-12">}</span><span·class="p">,</span><span·class="w">153 ··</span><span·class="p"·data-group-id="1519654664-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="1519654664-12">}</span><span·class="p">,</span><span·class="w">
154 ··</span><span·class="p"·data-group-id="1125987731-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="1125987731-14">{</span><span·class="n">Mod<[·...·truncated·by·diffoscope;·len:·251,·SHA:·886b14933e9f1480dbeef1cb9e101b44422414e824091197c8e2839385c8c63c·...·]-13">}</span><span·class="p">,</span><span·class="w">154 ··</span><span·class="p"·data-group-id="1519654664-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="1519654664-14">{</span><span·class="n">Mod<[·...·truncated·by·diffoscope;·len:·251,·SHA:·941da25538230652fa95f62a5a958ef96c904989b09e3f78dcb4139f9caf3d0b·...·]-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="1125987731-15">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1125987731-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:·60e6292aaab830aaf641e853f95926b733d3718026f5ff0c53c1a3e3d95d74f1·...·]-15">}</span><span·class="p">,</span><span·class="w">156 ··</span><span·class="p"·data-group-id="1519654664-15">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1519654664-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:·4761450844f0d413c79cc04887da12933cd602e701e36d1840472c85e25d9e85·...·]-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="1125987731-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="1125987731-17">}</span><span·class="p"·data-group-id="1125987731-3">]</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·9d857b31ba074c812fd6a7b5debc3fc54ab865ee45df9872078a7a2913b9f450·...·]-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="1519654664-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="1519654664-17">}</span><span·class="p"·data-group-id="1519654664-3">]</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·a2d50e3f19047c5c832967160077db0ef212e83b79f7832cf533dec114d59ba8·...·]-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-15.2.7/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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>235 <p>Copyright·©·1996-2025·<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.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.43 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.2.2/doc/html/systools.html
    
Offset 656, 15 lines modifiedOffset 656, 15 lines modified
656 ······<p·class="built-using">656 ······<p·class="built-using">
657 ········Built·using657 ········Built·using
658 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the658 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
659 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>659 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
660 ······</p>660 ······</p>
661 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>661 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
662 ····</footer>662 ····</footer>
663 ··</div>663 ··</div>
664 </main>664 </main>
665 </div>665 </div>
666 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>666 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
667 ··<script>667 ··<script>
668 ··let·initialized·=·false;668 ··let·initialized·=·false;
625 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.5 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>483 <p>Copyright·©·1996-2025·<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
1.49 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/doc/html/notes.html
    
Offset 1127, 15 lines modifiedOffset 1127, 15 lines modified
1127 ······<p·class="built-using">1127 ······<p·class="built-using">
1128 ········Built·using1128 ········Built·using
1129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1131 ······</p>1131 ······</p>
1132 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1132 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1133 ····</footer>1133 ····</footer>
1134 ··</div>1134 ··</div>
1135 </main>1135 </main>
1136 </div>1136 </div>
1137 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1137 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1138 ··<script>1138 ··<script>
1139 ··let·initialized·=·false;1139 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
954 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/doc/html/snmp.epub
12.3 KB
zipinfo {}
Max HTML report size reached
432 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·Jul·06·2026·03:07:46,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:00,·uncompressed·size·20,·method=store
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
3.55 KB
OEBPS/content.opf
3.52 KB
OEBPS/content.opf
Max HTML report size reached
11.6 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-15.2.7/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-15.2.7/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="6712664720-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="6712664720-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="6712664720-2">(</span><span·class="p"·data-group-id="6712664720-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="6712664720-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="6712664720-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="3310783729-1">{</span><span·class="ss[·...·truncated·by·diffoscope;·len:·438,·SHA:·0ed90a1f841dc40307ca0b2b4e0512084b9215c1b4cd0d6b2cc1593e5b075182·...·]>
 3200 ···········</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">print_versions</span><span·class="p"·data-group-id="3310783729-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="3310783729-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-15.2.7/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),3253 ····························Prefix·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
3254 ····························Versions·::·[VersionInfo],3254 ····························Versions·::·[VersionInfo],
3255 ····························VersionInfo·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>3255 ····························VersionInfo·::·<a·href="../../../../erts-15.2.7/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="4394577242-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="4394577242-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="4394577242-2">(</span><span·class="p"·data-group-id="4394577242-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="4394577242-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="4394577242-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="4028968420-1">{</span><span·[·...·truncated·by·diffoscope;·len:·447,·SHA:·15b3110daf8f1935195efbe81ff247b6035cd59f687bbb8f6bf6e4eff71bfe30·...·]>
 3259 ···········</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">print_versions</span><span·class="p"·data-group-id="4028968420-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="4028968420-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-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()}·|·TargetOpt.</pre>3382 ·······················TraceOpt·::·{timestamp,·<a·href="../../../../erts-15.2.7/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="8502041292-1">(</span><span·class="p"·data-group-id="8502041292-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="6614990363-1">(</span><span·class="p"·data-group-id="6614990363-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="8502041292-2">(</span><span·class="p"·data-group-id="8502041292-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="6614990363-2">(</span><span·class="p"·data-group-id="6614990363-3">[</span><span·class="ss">snmp_generic</span><span·class="p">,</span><span·class="w">
3389 ··························</span><span·class="p"·data-group-id="8502041292-4">{</span><span·class="ss">snmp_generic_mnesia</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8502041292-5">[</span><span·class="p"·data-group-id="8502041292-6">{</span><span·class="ss">scope</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·e6eedb9be6ad3dc224bbda8cd96021c6dc2cb6ffa0ef02ed2e43ff2664805721·...·]-2">)</span><span·class="p">,</span><span·class="w">3389 ··························</span><span·class="p"·data-group-id="6614990363-4">{</span><span·class="ss">snmp_generic_mnesia</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6614990363-5">[</span><span·class="p"·data-group-id="6614990363-6">{</span><span·class="ss">scope</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·d7f330893d25417b90b2068e6bc820ab4ed0c96f2278f5977146959491862b90·...·]-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="8502041292-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="8502041292-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="6614990363-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="6614990363-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="8502041292-8">(</span><span·class="p"·data-group-id="8502041292-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="6614990363-8">(</span><span·class="p"·data-group-id="6614990363-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3767 <p>Copyright·©·1996-2025·<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.18.2/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="5735044921-1">(</span><span·class="p"·data-group-id="5735044921-2">[</span><span·class="p"·data-group-id="5735044921-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:·c9ab07ddbe7bfd1923d3dd07c73be2e45e7b221b2d83528248503355395e35fb·...·]-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="3951340367-1">(</span><span·class="p"·data-group-id="3951340367-2">[</span><span·class="p"·data-group-id="3951340367-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:·ecf108a92cad1240b46247616ab9a3c6092cfedfd8ba04989c5319364f2f9994·...·]-3">}</span><span·class="p">,</span><span·class="w">
333 ·····················</span><span·class="p"·data-group-id="5735044921-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5735044921-5">[</span><span·class="p"·data-group-id="5735044921-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·b61306eab9d9fd8b35b1b5ba34f3440990459c28e94ca6e8fbcfd29362ff1b33·...·]-4">}</span><span·class="p">,</span><span·class="w">333 ·····················</span><span·class="p"·data-group-id="3951340367-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3951340367-5">[</span><span·class="p"·data-group-id="3951340367-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·c469408b5c2b981691278a648c2e23ef3563f600bf71a4be48c1c26fb78cfb0b·...·]-4">}</span><span·class="p">,</span><span·class="w">
334 ·····················</span><span·class="p"·data-group-id="5735044921-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5735044921-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:·0057a00aee045f682db972a36dfbcb3046a8cfc49d20d74a0d7f36db96c66e8f·...·]-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="3951340367-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3951340367-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:·99b9f8ab8777a941656f0dc93ffd5954b9e9a3b12c4b63f45854d1c596fe143c·...·]-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="7476429687-1">(</span><span·class="s">&quot;EmpMIB&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7476429687-2">[</span><span·class="p"·data-group-id="7476429687-3">{</span><span·class="ss">db</span><span·class="[·...·truncated·by·diffoscope;·len:·212,·SHA:·a86dab12576c1cb12f5b0fdfe5053c42a0385a91a5cb887ea4c2c58c287b5bc3·...·]-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="1579573549-1">(</span><span·class="s">&quot;EmpMIB&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1579573549-2">[</span><span·class="p"·data-group-id="1579573549-3">{</span><span·class="ss">db</span><span·class="[·...·truncated·by·diffoscope;·len:·212,·SHA:·1c3ff40a489e19e3301b777cccafda8efe92e85f69ddc7e16842e986901607a9·...·]-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="5398349609-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="5398349609-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="5733878198-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="5733878198-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="5398349609-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="5398349609-2">)</span><span·class="p">,</span><span·class="w">354 ····</span><span·class="nf">notify_internal_resources</span><span·class="p"·data-group-id="5733878198-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="5733878198-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="5398349609-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:·251,·SHA:·ef1ba54a80640f700f13e9e9a2ba224293c1e0b9f7ee6b9ca2e576d648542081·...·]-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="5733878198-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:·251,·SHA:·916b6f6fc3d96d40848db0b69bf63e36a3022ba4abf02f99aafe9138ecced5ed·...·]-3">)</span><span·class="p">;</span><span·class="w">
356 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="5398349609-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="5398349609-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="5733878198-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="5733878198-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="5398349609-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·cl[·...·truncated·by·diffoscope;·len:·249,·SHA:·1d6889cc648ffeb5eedc4bb6c9675e712fc7cd5b68b8b8ac5e9c6fe99931efb2·...·]-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="5733878198-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·cl[·...·truncated·by·diffoscope;·len:·249,·SHA:·fd22b1b2411c64581b6e3787f53f28b8c2a559fdf507d5576f7fc4d017320dbc·...·]-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="3558277120-1">(</span><span·class="p"·data-group-id="3558277120-2">[</span><span·class="p"·data-group-id="3558277120-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:·767bd640a81335c44034862cd53aec8b4b4bc68768ba9cbdb717def7bb6a2990·...·]-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="9390611376-1">(</span><span·class="p"·data-group-id="9390611376-2">[</span><span·class="p"·data-group-id="9390611376-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:·997ace9c8ab9a33a99756cb60ea2812fb98b671de69c4ee7337f16613da1dbf0·...·]-3">}</span><span·class="p">,</span><span·class="w">
371 ·····················</span><span·class="p"·data-group-id="3558277120-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3558277120-5">[</span><span·class="p"·data-group-id="3558277120-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·e9c8b0801f2fcb45610ff3fbfdbd9fda0c6d020dc12b281a557521683aa58ba0·...·]-4">}</span><span·class="p">,</span><span·class="w">371 ·····················</span><span·class="p"·data-group-id="9390611376-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9390611376-5">[</span><span·class="p"·data-group-id="9390611376-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·7253612ca0ac63e23516d09ece4a0c729f71d08b1d71b79218bdb656b8492741·...·]-4">}</span><span·class="p">,</span><span·class="w">
372 ·····················</span><span·class="p"·data-group-id="3558277120-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3558277120-9">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">telno</[·...·truncated·by·diffoscope;·len:·371,·SHA:·816cd506a491ba6aae588df147a5a6949914b925bd06106138a29803272f18a7·...·]-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="9390611376-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9390611376-9">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">telno</[·...·truncated·by·diffoscope;·len:·371,·SHA:·7a6b61c9653ade5e154227093e73b5dcb7aee61443fefe2809c0bfaca315215c·...·]-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="1686314257-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="1686314257-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="6895482206-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="6895482206-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="1686314257-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="1686314257-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="6895482206-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="6895482206-2">)</span><span·class="p">.</span><span·class="w">
  
376 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="1686314257-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="1686314257-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="6895482206-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="6895482206-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="1686314257-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="1686314257-4">)</span><span·class="p">,</span><span·class="w">377 ··</span><span·class="nf">notify_internal_resources</span><span·class="p"·data-group-id="6895482206-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="6895482206-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="1686314257-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="1686314257-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="6895482206-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="6895482206-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="1686314257-6">[</span><span·class="p"·data-group-id="1686314257-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="1686314257-7">}</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·4ca3d40861db01da4eeb7f735f6818f5ed01f47494d3f910abd7d89dd9b4565f·...·]-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="6895482206-6">[</span><span·class="p"·data-group-id="6895482206-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="6895482206-7">}</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·7127333808007517b4db4e2c0c12f14cf21b782334af3a86afdfdadd1614ab29·...·]-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="1686314257-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:·1cc2475e9108bec18eefc1fb8ab8881c5c700a04735414d9b2c6c0f4a2bbae0e·...·]-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="6895482206-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:·32f5bbadc09818969c5e6f3021cdadd24e90159ab6ab6a3815fc0a3c50ba4554·...·]-8">)</span><span·class="p">;</span><span·class="w">
384 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="1686314257-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="1686314257-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="6895482206-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="6895482206-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="1686314257-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:·dcbf828fa7845373498bcd445a4ca4d14dde80e298b3bcada4e590a01246ec12·...·]-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="6895482206-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:·7a35cbe7bc99e73e28973b3e41ed9fc58cfd94d0769df6ddd06e269509b52e32·...·]-11">)</span><span·class="p">.</span><span·class="w">
  
386 </span><span·class="nf">is_row_created</span><span·class="p"·data-group-id="1686314257-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="1686314257-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="6895482206-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="6895482206-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="1686314257-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="1686314257-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="6895482206-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="6895482206-14">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
388 ····</span><span·class="p"·data-group-id="1686314257-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="1686314257-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="6895482206-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="6895482206-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="1686314257-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="1686314257-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="6895482206-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="6895482206-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>458 <p>Copyright·©·1996-2025·<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.18.2/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="8667316690-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="8667316690-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="8898316554-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="8898316554-1">}</span><span·class="p">.</span><span·class="w">
154 </span><span·class="p"·data-group-id="8667316690-2">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">154 </span><span·class="p"·data-group-id="8898316554-2">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">
155 ·</span><span·class="p"·data-group-id="8667316690-3">[</span><span·class="p"·data-group-id="8667316690-4">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8667316690-5">{</span><span·class="mi">141</span><span·cl[·...·truncated·by·diffoscope;·len:·237,·SHA:·822970c69fd229f92e4d200ee0804953afa101562022f3d4a287819a37bc1e09·...·]-4">}</span><span·class="p">,</span><span·class="w">155 ·</span><span·class="p"·data-group-id="8898316554-3">[</span><span·class="p"·data-group-id="8898316554-4">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8898316554-5">{</span><span·class="mi">141</span><span·cl[·...·truncated·by·diffoscope;·len:·237,·SHA:·b7c3f85ef81416f7ac7137c2dd2dec2fa0f7ba1e15cdba916746a81dd1e8d379·...·]-4">}</span><span·class="p">,</span><span·class="w">
156 ··</span><span·class="p"·data-group-id="8667316690-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8667316690-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p[·...·truncated·by·diffoscope;·len:·480,·SHA:·7b4bdde2a0b93f31afcca600fc80e195ccb89f563b41ad1649c16b27f7344339·...·]-2">}</span><span·class="p">.</span><span·class="w">156 ··</span><span·class="p"·data-group-id="8898316554-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8898316554-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p[·...·truncated·by·diffoscope;·len:·480,·SHA:·55c52f5b3b423be5d94ea74e82c9cd7e663a7d11c89a389d5f92c47cb1ee81f2·...·]-2">}</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="8667316690-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="8667316690-8">}</span><span·class="p">.</span><span·class="w">157 </span><span·class="p"·data-group-id="8898316554-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="8898316554-8">}</span><span·class="p">.</span><span·class="w">
158 </span><span·class="p"·data-group-id="8667316690-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="8667316690-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="8898316554-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="8898316554-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="6193646605-1">[</span><span·class="p"·data-group-id="6193646605-2">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6193646605-3">{</span><span·class="mi">141</span><span·c[·...·truncated·by·diffoscope;·len:·237,·SHA:·b59d7d581d350c3db13c3a709a4de917b2f106a77662693abf8d1609ab96992a·...·]5-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="5467079985-1">[</span><span·class="p"·data-group-id="5467079985-2">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5467079985-3">{</span><span·class="mi">141</span><span·c[·...·truncated·by·diffoscope;·len:·237,·SHA:·29570d8a8b12d53e6ec779087136c10c8e3bab714539c3d8dc4464667b7c2e09·...·]5-2">}</span><span·class="p">,</span><span·class="w">
161 ···············</span><span·class="p"·data-group-id="6193646605-4">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6193646605-5">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·427,·SHA:·5d65e6cf6b00fd8b9f51166ce2d3a46bbdf7d054692802827c17805af7f5f7d9·...·]5-1">]</span><span·class="p">,</span><span·class="w">161 ···············</span><span·class="p"·data-group-id="5467079985-4">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5467079985-5">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·427,·SHA:·b819c77add2cd222e12132a3f0f9e23bafb2e0d8a2a55a1f36d0419357f8ae63·...·]5-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="6193646605-6">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="6193646605-7">(</span><span·class="ss">intAgentUDPPort</span><span·class="p">,</span><span·class="w">·········[·...·truncated·by·diffoscope;·len:·80,·SHA:·907519f9475099a25ddef08fa57a1222b4a6267e5f11475b6acb6372445c187e·...·]5-7">)</span><span·class="p">,</span><span·class="w">165 ···</span><span·class="p"·data-group-id="5467079985-6">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="5467079985-7">(</span><span·class="ss">intAgentUDPPort</span><span·class="p">,</span><span·class="w">·········[·...·truncated·by·diffoscope;·len:·80,·SHA:·b4a91aa336d3e089176f9be0c394f343e72db8e213d4a6e404aa6982ef16ef12·...·]5-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="6193646605-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="6193646605-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="5467079985-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="5467079985-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="6193646605-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="6193646605-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="5467079985-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="5467079985-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="6193646605-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="6193646605-10">)</span><span·class="p"·data-group-id="6193646605-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="5467079985-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="5467079985-10">)</span><span·class="p"·data-group-id="5467079985-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="6193646605-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="6193646605-11">)</span><span·class="p">,</span></code></pre><p>These·are·the·supported·en[·...·truncated·by·diffoscope;·len:·435,·SHA:·700558f9f42272b9a37618261e58d6196215663e8f61461d416b634a18dbddda·...·]-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="5467079985-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="5467079985-11">)</span><span·class="p">,</span></code></pre><p>These·are·the·supported·en[·...·truncated·by·diffoscope;·len:·435,·SHA:·c058d22e0688f9936e37db067950a880e2e16b143a81302f6c6a2b55e3823adb·...·]-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="6864741848-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="6[·...·truncated·by·diffoscope;·len:·115,·SHA:·3cb54c271ace3760f1d01b5433e86b8a2c87bf419957ff3d96a59f8a7411fa99·...·]-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="2841793893-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="2[·...·truncated·by·diffoscope;·len:·115,·SHA:·ed04bfa218cc87a5b802bd6d5efef64b5a782055f2b98eb68881a29db3a1b418·...·]-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="6864741848-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="6864741848-6">(</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·f3a7d47b801103d6df74f7e4ca5115365aa34a308378325d1ef26479f089fef3·...·]-5">}</span><span·class="p">.</span><span·class="w">······················</span><span·class="c1">%·Optional</span><span·class="w">171 ······</span><span·class="p"·data-group-id="2841793893-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="2841793893-6">(</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·27608dbfc49050c9b727c6359740c2115266ffa89fea5987b77463e187a917a7·...·]-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="6864741848-7">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="6864741848-8">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">intAgentTr[·...·truncated·by·diffoscope;·len:·214,·SHA:·1e6d2b614136b021da9748e692c4ee5d51e914148f1888c5aad36cc1862a4d47·...·]-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>,·handling172 ······</span><span·class="p"·data-group-id="2841793893-7">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="2841793893-8">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">intAgentTr[·...·truncated·by·diffoscope;·len:·214,·SHA:·0e358faacbc729af2b44834a46b4a66fba27644ec3146780c9195004593f3503·...·]-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="0662635743-1">[</span><span·class="p"·data-group-id="0662635743-2">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0662635743-3">{</span><span·class="p"·data-group-id="066[·...·truncated·by·diffoscope;·len:·420,·SHA:·d70003d1c5b5a66f8bb2c269e6215d54420777983a069c8475793556d6c5a086·...·]-2">}</span><span·class="p">,</span><span·class="w">175 example,·<em>not</em>·allowed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="p"·data-group-id="9563688238-1">[</span><span·class="p"·data-group-id="9563688238-2">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9563688238-3">{</span><span·class="p"·data-group-id="956[·...·truncated·by·diffoscope;·len:·420,·SHA:·98d9a3f3254a637e8370b97143b6fe0e071800d1695d1a263b42e14f4d29f798·...·]-2">}</span><span·class="p">,</span><span·class="w">
176 ··</span><span·class="p"·data-group-id="0662635743-5">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0662635743-6">{</span><span·class="p"·data-group-id="0662635743-7">{</span><span·class="mi">141</span><span·c[·...·truncated·by·diffoscope;·len:·503,·SHA:·b21aaceefc6f6894a354a6196613e98eb1d63a4559cc053d6cbf32e0bb342c90·...·]-1">]</span><span·class="p">.</span></code></pre><p>Note·that·only·one·transport·per·kind·for·each·transport·domain·can·be176 ··</span><span·class="p"·data-group-id="9563688238-5">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9563688238-6">{</span><span·class="p"·data-group-id="9563688238-7">{</span><span·class="mi">141</span><span·c[·...·truncated·by·diffoscope;·len:·503,·SHA:·c4b17377b3d1830a94095d842b6df7049e4646571c052416d46d05f2ca23328d·...·]-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="8478183649-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">context_entry</span><span·class="p"·data-group-id="8478183649-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="8478183649-2">)</span><span·class="p">,</span><span·class="w">197 ···</span><span·class="p"·data-group-id="0460715124-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">context_entry</span><span·class="p"·data-group-id="0460715124-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="0460715124-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="8478183649-3">(</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="8478183649-3">)</span><span·class="p"·data-group-id="8478183649-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="0460715124-3">(</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="0460715124-3">)</span><span·class="p"·data-group-id="0460715124-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="8478183649-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="8478183649-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="0460715124-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="0460715124-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="0460550745-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="0460550745-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="5321006875-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="5321006875-1">}</span><span·class="p">.</span><span·class="w">
207 </span><span·class="p"·data-group-id="0460550745-2">{</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0460550745-3">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·118,·SHA:·bca1239f521f6efa0b54203fc57ad385c5c6aeea95c1e7d06fe589d08c3fd663·...·]5-2">}</span><span·class="p">.</span><span·class="w">207 </span><span·class="p"·data-group-id="5321006875-2">{</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5321006875-3">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·118,·SHA:·367970835c1954885a92b30b5433b8897fe2bca884377b7b1b6e2d59b8346736·...·]5-2">}</span><span·class="p">.</span><span·class="w">
208 </span><span·class="p"·data-group-id="0460550745-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="0460550745-4">}</span><span·class="p">.</span><span·class="w">208 </span><span·class="p"·data-group-id="5321006875-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="5321006875-4">}</span><span·class="p">.</span><span·class="w">
209 </span><span·class="p"·data-group-id="0460550745-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="0460550745-5">}</span><span·class="p">.</span><span·class="w">209 </span><span·class="p"·data-group-id="5321006875-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="5321006875-5">}</span><span·class="p">.</span><span·class="w">
210 </span><span·class="p"·data-group-id="0460550745-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="0460550745-6">}</span><span·class="p">.</span><span·class="w">210 </span><span·class="p"·data-group-id="5321006875-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="5321006875-6">}</span><span·class="p">.</span><span·class="w">
211 </span><span·class="p"·data-group-id="0460550745-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="0460550745-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="5321006875-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="5321006875-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="9535805271-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="9535805271-2">(</span><span·class="ss">sysDescr</span><span·class="p">,</span><span·class="w">····</span><s[·...·truncated·by·diffoscope;·len:·91,·SHA:·ba5d3b8ded8e57e7340e8ff491b337218a54af454fc4f4195e68770f2dce5c93·...·]-2">)</span><span·class="p">,</span><span·class="w">213 ···</span><span·class="p"·data-group-id="5174875808-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="5174875808-2">(</span><span·class="ss">sysDescr</span><span·class="p">,</span><span·class="w">····</span><s[·...·truncated·by·diffoscope;·len:·91,·SHA:·d3044135a408540ea75ec9d0866d2517f43285369585f1568d78d27b448593e6·...·]-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="9535805271-3">(</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9535805271-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:·20be5f0dde45d1255a7c7d54c97b5f5ff0decd55146310fc2d4c01a70ac7ee72·...·]-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="5174875808-3">(</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5174875808-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:·bac93cabd57abcaae8770cfe029a8dfc92afdc3640f610c2c942fbc2b8b37cf0·...·]-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="9535805271-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="9535805271-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="5174875808-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="5174875808-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="9535805271-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="9535805271-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="5174875808-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="5174875808-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="9535805271-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="9535805271-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="5174875808-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="5174875808-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="9535805271-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="9535805271-8">)</span><span·class="p"·data-group-id="9535805271-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="5174875808-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="5174875808-8">)</span><span·class="p"·data-group-id="5174875808-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="9535805271-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="9535805271-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="5174875808-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="5174875808-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="4227772834-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">community_entry</span><span·class="p"·data-group-id="4227772834-2">(</span><span·class="s">&quot;public&quot;</span><span·class="p"·data-group-id="4227772834-2">)</span><span·class="p">,</span><span·class="w">230 ···</span><span·class="p"·data-group-id="8685669688-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">community_entry</span><span·class="p"·data-group-id="8685669688-2">(</span><span·class="s">&quot;public&quot;</span><span·class="p"·data-group-id="8685669688-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="4227772834-3">(</span><span·class="s">&quot;all-rights&quot;</span><span·class="p"·data-group-id="4227772834-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="8685669688-3">(</span><span·class="s">&quot;all-rights&quot;</span><span·class="p"·data-group-id="8685669688-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="4227772834-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="8685669688-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="4227772834-4">)</span><span·class="p"·data-group-id="4227772834-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="8685669688-4">)</span><span·class="p"·data-group-id="8685669688-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="4227772834-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="4227772834-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="8685669688-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="8685669688-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="0058090618-1">[</span><span·class="c1">%%························SecModel,·SecName,·GroupName</span><span·class="w">249 ···</span><span·class="p"·data-group-id="2059792095-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="0058090618-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="0058090618-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="2059792095-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="2059792095-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="0058090618-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="2059792095-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="0058090618-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="2059792095-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="0058090618-4">(</span><span·class="s">&quot;restricted&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0058090618-5">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p[·...·truncated·by·diffoscope;·len:·387,·SHA:·e5dc221698da5d4ef24c4742e237ecf1ba08c740bc38992cd0bd9605d00b3f40·...·]-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="2059792095-4">(</span><span·class="s">&quot;restricted&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2059792095-5">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p[·...·truncated·by·diffoscope;·len:·387,·SHA:·6f459346bfdc6cd385aaec1d08edb93bdd6f99abbe54d9ae1a3bea9cf25b850a·...·]-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="0058090618-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="0058090618-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="2059792095-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="2059792095-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="0394889845-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="0394889845-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="7305534240-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="7305534240-1">)</span><span·class="p">,</span><span·class="w">
279 </span><span·class="n">Secret20</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="0394889845-2">(</span><span·class="ss">sha</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="0394889845-2">)</span><span·class="p">,</span><span·class="w">279 </span><span·class="n">Secret20</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="7305534240-2">(</span><span·class="ss">sha</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="7305534240-2">)</span><span·class="p">,</span><span·class="w">
280 </span><span·class="n">UsmConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">280 </span><span·class="n">UsmConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
Max diff block lines reached; 24319/83155 bytes (29.25%) of diff not shown.
847 B
html2text {}
Max HTML report size reached
8.3 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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="3689818729-1">(</span><span·class="s">&quot;snmp/include/SNMPv2-MIB.hrl&quot;</span><span·class="p"·data-group-id="3689818729-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="2599557991-1">(</span><span·class="s">&quot;snmp/include/SNMPv2-MIB.hrl&quot;</span><span·class="p"·data-group-id="2599557991-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="7728678312-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="5958855374-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="7728678312-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:·8bd6c39a6ba8764e544231d74b3212a7b49ea752afd634522e8095296979f282·...·]-1">)</span><span·class="w">473 ·······················</span><span·class="p"·data-group-id="5958855374-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:·add716e8fe2ee9b89bde3c9fdd61756e69241c8eca835e854a26077d37348d43·...·]-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="7728678312-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:·ba4812574d1bf903870a6156376d7f40102988009dbe528713aad504812a3944·...·]-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="5958855374-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:·a379e124c70fa2f1cb6f85bdd153049f54ab8c36a16ca182f6a10377c6209af6·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>616 <p>Copyright·©·1996-2025·<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.69 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>268 <p>Copyright·©·1996-2025·<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.18.2/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="4865424587-1">[</span><span·class="p"·data-group-id="4865424587-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="8712191004-1">[</span><span·class="p"·data-group-id="8712191004-2">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">
144 ········</span><span·class="p"·data-group-id="4865424587-3">[</span><span·class="p"·data-group-id="4865424587-4">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4865424587-5">[</span><span·class="p"·data-group-id="4865424587-6">{</spa[·...·truncated·by·diffoscope;·len:·174,·SHA:·ae65eaccb409f0fa149b0924e220d41cc8c3a6c9df99888f1c207e1e2244e1f4·...·]-6">}</span><span·class="p">,</span><span·class="w">144 ········</span><span·class="p"·data-group-id="8712191004-3">[</span><span·class="p"·data-group-id="8712191004-4">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8712191004-5">[</span><span·class="p"·data-group-id="8712191004-6">{</spa[·...·truncated·by·diffoscope;·len:·174,·SHA:·4034c695cebd212e0d8fcc2d6f9b5d8633a06ae209b1226149198c17c4927127·...·]-6">}</span><span·class="p">,</span><span·class="w">
145 ··················</span><span·class="p"·data-group-id="4865424587-7">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4865424587-8">[</span><span·class="p"·data-group-id="4865424587-9">{</span><span·class="ss">dir</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·333,·SHA:·afdeedb20dd03fdace3f11e33b9e27797a38a9d535a43854ff11ace98bcbadc6·...·]-4">}</span><span·class="p">,</span><span·class="w">145 ··················</span><span·class="p"·data-group-id="8712191004-7">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8712191004-8">[</span><span·class="p"·data-group-id="8712191004-9">{</span><span·class="ss">dir</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·333,·SHA:·1b4f0deaf5acaeee1104ccc40c1dc0adc389e885df00f9de1957ce24ed11b039·...·]-4">}</span><span·class="p">,</span><span·class="w">
146 ·········</span><span·class="p"·data-group-id="4865424587-10">{</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4865424587-11">[</span><span·class="p"·data-group-id="4865424587-12">{</span><span·class="ss">config</span><span·class="p">[·...·truncated·by·diffoscope;·len:·313,·SHA:·72b45cbb45a6bf01fba0cc80d4cbf2bd319e8f04214f3dc8b058c65fb77b5da3·...·]-14">}</span><span·class="p">,</span><span·class="w">146 ·········</span><span·class="p"·data-group-id="8712191004-10">{</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8712191004-11">[</span><span·class="p"·data-group-id="8712191004-12">{</span><span·class="ss">config</span><span·class="p">[·...·truncated·by·diffoscope;·len:·313,·SHA:·2e1ad7471717c1043be22942ebaaea88647deb9b5406d3d38dac6fee9f21673f·...·]-14">}</span><span·class="p">,</span><span·class="w">
147 ······························</span><span·class="p"·data-group-id="4865424587-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="4865424587-15">}</span><span·class="p"·data-group-id="4865424587-13">[·...·truncated·by·diffoscope;·len:·264,·SHA:·46a05563e069ce11d345202a8eed9c2080ee7b4da8a320207302767e3aac66b5·...·]-2">}</span><span·class="w">147 ······························</span><span·class="p"·data-group-id="8712191004-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="8712191004-15">}</span><span·class="p"·data-group-id="8712191004-13">[·...·truncated·by·diffoscope;·len:·264,·SHA:·727884a4c2c181b82968d9622b164a8a5b52c751e1cc6970445241760878862e·...·]-2">}</span><span·class="w">
148 ········</span><span·class="p"·data-group-id="4865424587-1">]</span><span·class="w">148 ········</span><span·class="p"·data-group-id="8712191004-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="1338184390-1">(</span><span·class="p"·data-group-id="1338184390-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1338184390-2">[</span><span·class="nf">snmp_component_config</span><span·class="p"·data-group-id="1338184390-3">(</span><span·class="p"·data-group-id="1338184390-3">)</span><span·class="p"·data-group-id="1338184390-2">]</span><span·class="w"> 
152 ······</span><span·class="nf">snmp_component_config</span><span·class="p"·data-group-id="1338184390-4">(</span><span·class="p"·data-group-id="1338184390-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·705,·SHA:·6a70179082035688da54f4e50f9d9bcf4a9b1527ac4447f769c8c21cb85c26aa·...·]</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="9053454032-1">(</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·351,·SHA:·bc023e9ad1740807e3cb605c748ff0c26cf2c28becf2d207f5da00e8c993272f·...·]</span><span·class="w">
 152 ······</span><span·class="nf">snmp_component_config</span><span·class="p"·data-group-id="9053454032-4">(</span><span·class="p"·data-group-id="9053454032-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9053454032-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="9053454032-6">(</span><span·class="p"·data-group-id="9053454032-6">)</span><span·class="p"·data-group-id="9053454032-5">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="9053454032-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="9053454032-8">(</span><span·class="p"·data-group-id="9053454032-8">)</span><span·class="p"·data-group-id="9053454032-7">}</span><span·class="w">
153 ······</span><span·class="nf">agent_options</span><span·class="p"·data-group-id="1338184390-9">(</span><span·class="p"·data-group-id="1338184390-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1338184390-10">[</span><span·class="nf">agent_option</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·0486926679facd5668ff5263fc3cf3cb4843b6eeaee4231a8472ef72e638eb0c·...·]-10">]</span><span·class="w">153 ······</span><span·class="nf">agent_options</span><span·class="p"·data-group-id="9053454032-9">(</span><span·class="p"·data-group-id="9053454032-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9053454032-10">[</span><span·class="nf">agent_option</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·86e3d3027c2834d3756b2e71aee4a95510a30fed0d8df04760c5ecc83b49935d·...·]-10">]</span><span·class="w">
154 ······</span><span·class="nf">agent_option</span><span·class="p"·data-group-id="1338184390-12">(</span><span·class="p"·data-group-id="1338184390-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1338184390-13">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·220,·SHA:·ef8c45825cb889193e5f03d7b930ad92f1faf3b72a9ddf815e7ebb1d33ccdb56·...·]-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="9053454032-12">(</span><span·class="p"·data-group-id="9053454032-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9053454032-13">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·220,·SHA:·65dba72d9a0ddbec53d0fa62d48dd7b03b0eb39deac6ae6bd9e9815e1bd93465·...·]-13">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
155 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-16">(</span><span·class="p"·data-group-id="1338184390-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·63342b519223b3cb2890e531b0b5e35937825254513c0a14654be0810be251a4·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">155 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-16">(</span><span·class="p"·data-group-id="9053454032-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·f7b24de18b6134148becf92a52c353441170976a25b00ffd1357a65acbb9fc45·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
156 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-18">(</span><span·class="p"·data-group-id="1338184390-18">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·e5ab1c4a860242caa58fda5f8c06e97423c18a7b002d1fe1597e3c6f4c0992cb·...·]-17">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">156 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-18">(</span><span·class="p"·data-group-id="9053454032-18">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·1d89db4b8f137bceb26d8f5ded9614d4f7d00deafe96537b63870774031da4e2·...·]-17">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
157 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-20">(</span><span·class="p"·data-group-id="1338184390-20">)</span><span·class="p"·data-group-id="1338184390-19">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w"> 
158 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-22">(</span><span·class="p"·data-group-id="1338184390-22">)</span><span[·...·truncated·by·diffoscope;·len:·72,·SHA:·4d1d0cf3000431277f1a07fc60311791beca1f0052b1f9600eba331a86bf3c5d·...·]··</span><span·class="p">|</span><span·class="w">157 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-20">(</span><span·class="p"·data-group-id="9053454032-20">)</spa[·...·truncated·by·diffoscope;·len:·72,·SHA:·85cff27544649ff61b2c587ce9ad06711b0621f9325823df7ebdad687a22984a·...·]··</span><span·class="p">|</span><span·class="w">
 158 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-22">(</span><span·class="p"·data-group-id="9053454032-22">)</span><span·class="p"·data-group-id="9053454032-21">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
159 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-24">(</span><span·class="p"·data-group-id="1338184390-24">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·63342b519223b3cb2890e531b0b5e35937825254513c0a14654be0810be251a4·...·]-23">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">159 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-24">(</span><span·class="p"·data-group-id="9053454032-24">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·f7b24de18b6134148becf92a52c353441170976a25b00ffd1357a65acbb9fc45·...·]-23">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
160 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-26">(</span><span·class="p"·data-group-id="1338184390-26">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·39206395c17340246a26fd923b2da286a7fe45aeb4fa94dff29ae974c404b0e0·...·]-25">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">160 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-26">(</span><span·class="p"·data-group-id="9053454032-26">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·c55821894c124121d2d8c98aa04cdaa950ed5f85890cf91d814d5828eaddb54c·...·]-25">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
161 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-28">(</span><span·class="p"·data-group-id="1338184390-28">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·3da2d22260551360172970430d538d471e413417bdcaf2d43f971600dd023317·...·]-27">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">161 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-28">(</span><span·class="p"·data-group-id="9053454032-28">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·d6faed3e9cc3a076c4f5a009ba9ee1e9af8413a3a3618e328187537403bac646·...·]-27">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
162 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-30">(</span><span·class="p"·data-group-id="1338184390-30">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·84a77cb7cda813b49e65c275842d114028d618a10785df851e5d9f0e9c2cf38e·...·]-29">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">162 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-30">(</span><span·class="p"·data-group-id="9053454032-30">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·627888ca17407fac0ae38f7d75ef75231afd1ae4c00bae28b6ecc4e76ac64802·...·]-29">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">
163 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-32">(</span><span·class="p"·data-group-id="1338184390-32">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·cdba4800ec15ef479010e2868626e736e1ffd0287e469c833637e1e363bd80ca·...·]-31">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">163 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-32">(</span><span·class="p"·data-group-id="9053454032-32">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·238def1f01f5a65e44e04f4b22e5a2f2807ca2e6d151802c228a2125bcc3a39a·...·]-31">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
164 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-34">(</span><span·class="p"·data-group-id="1338184390-34">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·39206395c17340246a26fd923b2da286a7fe45aeb4fa94dff29ae974c404b0e0·...·]-33">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">164 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-34">(</span><span·class="p"·data-group-id="9053454032-34">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·c55821894c124121d2d8c98aa04cdaa950ed5f85890cf91d814d5828eaddb54c·...·]-33">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
165 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-36">(</span><span·class="p"·data-group-id="1338184390-36">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·6ecb26a6dc92915222931a6c56f163321689b5c1d7687f4e47ceacd8910ed219·...·]-35">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">165 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-36">(</span><span·class="p"·data-group-id="9053454032-36">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·3883280c18f791898bf5aac11fa3e5e1e969fc1540686a5a4565437a27fe5253·...·]-35">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
166 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-38">(</span><span·class="p"·data-group-id="1338184390-38">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·a5a9b8175ac889d6388e12ec7ad8a197dabc1d74b6f980ba18c6b16e1335e20f·...·]-37">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">166 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-38">(</span><span·class="p"·data-group-id="9053454032-38">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·587d12c4b0349f75e89157f17321c7a6ab6ec90a7dbd8d389aabddc33a0a2849·...·]-37">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">
167 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-40">(</span><span·class="p"·data-group-id="1338184390-40">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·4e63dee1c309c6c25688274c682dc39a2f1bd81a11e376f04dc372a9a79be17b·...·]-39">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">167 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-40">(</span><span·class="p"·data-group-id="9053454032-40">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·2d615d0378676bcb50c7d3a493e3bf8f6a4e297101909308a1f3b620d469ae0c·...·]-39">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">
168 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-42">(</span><span·class="p"·data-group-id="1338184390-42">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·63342b519223b3cb2890e531b0b5e35937825254513c0a14654be0810be251a4·...·]-41">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">168 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-42">(</span><span·class="p"·data-group-id="9053454032-42">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·f7b24de18b6134148becf92a52c353441170976a25b00ffd1357a65acbb9fc45·...·]-41">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
169 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-44">(</span><span·class="p"·data-group-id="1338184390-44">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·094b04db0de2c3ab12c3773605b6899e4a6985be15b0f79e13417f762a75d2dd·...·]-43">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">169 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-44">(</span><span·class="p"·data-group-id="9053454032-44">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·761f28c1f05f6942af8111ff026a4369928fdfef6ba7bd057a61ecda8eb54be7·...·]-43">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
170 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-46">(</span><span·class="p"·data-group-id="1338184390-46">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·6fb463fab38b81582a1bc161212bc03e1205a9aed27e6e56eb138379f75d8180·...·]-45">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">170 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-46">(</span><span·class="p"·data-group-id="9053454032-46">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·3d1edcd43c52ede5d3fa66d3f1b1e342af796ac40955b4be7de02154ebc7f063·...·]-45">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
171 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-48">(</span><span·class="p"·data-group-id="1338184390-48">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·63342b519223b3cb2890e531b0b5e35937825254513c0a14654be0810be251a4·...·]-47">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">171 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-48">(</span><span·class="p"·data-group-id="9053454032-48">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·f7b24de18b6134148becf92a52c353441170976a25b00ffd1357a65acbb9fc45·...·]-47">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
172 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-50">(</span><span·class="p"·data-group-id="1338184390-50">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·3da2d22260551360172970430d538d471e413417bdcaf2d43f971600dd023317·...·]-49">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">172 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-50">(</span><span·class="p"·data-group-id="9053454032-50">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·d6faed3e9cc3a076c4f5a009ba9ee1e9af8413a3a3618e328187537403bac646·...·]-49">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
173 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-52">(</span><span·class="p"·data-group-id="1338184390-52">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·6ecb26a6dc92915222931a6c56f163321689b5c1d7687f4e47ceacd8910ed219·...·]-51">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">173 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-52">(</span><span·class="p"·data-group-id="9053454032-52">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·3883280c18f791898bf5aac11fa3e5e1e969fc1540686a5a4565437a27fe5253·...·]-51">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
174 ·······················</span><span·class="p"·data-group-id="1338184390-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="1338184390-54">(</span><span·class="p"·data-group-id="1338184390-54">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·6ecb26a6dc92915222931a6c56f163321689b5c1d7687f4e47ceacd8910ed219·...·]-53">}</span><span·class="w">174 ·······················</span><span·class="p"·data-group-id="9053454032-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="9053454032-54">(</span><span·class="p"·data-group-id="9053454032-54">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·3883280c18f791898bf5aac11fa3e5e1e969fc1540686a5a4565437a27fe5253·...·]-53">}</span><span·class="w">
175 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="1338184390-55">(</span><span·class="p"·data-group-id="1338184390-55">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1338184390-56">[</span><span·class="nf">manager_option</span><span·class="p"[·...·truncated·by·diffoscope;·len:·134,·SHA:·2364f96681a6e53d5c8e45b908a0c5601c836b372eac9d62cb454ccd1a3430aa·...·]-56">]</span><span·class="w">175 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="9053454032-55">(</span><span·class="p"·data-group-id="9053454032-55">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9053454032-56">[</span><span·class="nf">manager_option</span><span·class="p"[·...·truncated·by·diffoscope;·len:·134,·SHA:·064745ca1c229cd2050e77a8a8dcb6392a1823a9ecbe0211198feab676e1bab4·...·]-56">]</span><span·class="w">
176 ······</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="1338184390-58">(</span><span·class="p"·data-group-id="1338184390-58">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1338184390-59">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·228,·SHA:·7a6cccb00f583d55ebe4631b75b3cc1a769a9c0a7ef8b2d4a58fb1619c56513f·...·]-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="9053454032-58">(</span><span·class="p"·data-group-id="9053454032-58">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9053454032-59">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·228,·SHA:·7b5066d75f9941d1a2073ca677f4e807f6fdf213be523de591b768883f7aaf1c·...·]-59">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
177 ·························</span><span·class="p"·data-group-id="1338184390-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="1338184390-62">(</span><span·class="p"·data-group-id="1338184390-62"[·...·truncated·by·diffoscope;·len:·50,·SHA:·0674c8933212a6ff157c69983e68bf818763d500399142eca179e1103ad7ea40·...·]-61">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">177 ·························</span><span·class="p"·data-group-id="9053454032-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="9053454032-62">(</span><span·class="p"·data-group-id="9053454032-62"[·...·truncated·by·diffoscope;·len:·50,·SHA:·b5c3d35e67c8d3532ff96157fa7b4596916ff79356885acc1fcce7b4e211bece·...·]-61">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
178 ·························</span><span·class="p"·data-group-id="1338184390-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="1338184390-64">(</span><span·class="p"·data-group-id="1338184390-64">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·3da2d22260551360172970430d538d471e413417bdcaf2d43f971600dd023317·...·]-63">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">178 ·························</span><span·class="p"·data-group-id="9053454032-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="9053454032-64">(</span><span·class="p"·data-group-id="9053454032-64">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·d6faed3e9cc3a076c4f5a009ba9ee1e9af8413a3a3618e328187537403bac646·...·]-63">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">
179 ·························</span><span·class="p"·data-group-id="1338184390-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="1338184390-66">(</span><span·class="p"·data-group-id="1338184390-66">)</[·...·truncated·by·diffoscope;·len:·46,·SHA:·334d6e1300e58846ac08ba821284db0db31ae94c02bf2de77c6ab0f6f38be28c·...·]-65">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">179 ·························</span><span·class="p"·data-group-id="9053454032-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="9053454032-66">(</span><span·class="p"·data-group-id="9053454032-66">)</[·...·truncated·by·diffoscope;·len:·46,·SHA:·2f4658712dab9984c2859b545bd646938fb72f21806691470e26fad3faf04497·...·]-65">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">
180 ·························</span><span·class="p"·data-group-id="1338184390-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="1338184390-68">(</span><span·class="p"·data-group-id="1338184390-68"[·...·truncated·by·diffoscope;·len:·50,·SHA:·0674c8933212a6ff157c69983e68bf818763d500399142eca179e1103ad7ea40·...·]-67">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">180 ·························</span><span·class="p"·data-group-id="9053454032-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="9053454032-68">(</span><span·class="p"·data-group-id="9053454032-68"[·...·truncated·by·diffoscope;·len:·50,·SHA:·b5c3d35e67c8d3532ff96157fa7b4596916ff79356885acc1fcce7b4e211bece·...·]-67">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
181 ·························</span><span·class="p"·data-group-id="1338184390-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="1338184390-70">(</span><span·class="p"·data-group-id="1338184390-70">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·63d59e16567ea8ac95d455b52d71b43e4a341a4cc8fbd5f450f408cb94420c79·...·]-69">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">181 ·························</span><span·class="p"·data-group-id="9053454032-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="9053454032-70">(</span><span·class="p"·data-group-id="9053454032-70">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·21eda75dfcfcfd395d57aefe97b5794996522c1c3ea1fca5851c992753098a3f·...·]-69">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
182 ·························</span><span·class="p"·data-group-id="1338184390-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="1338184390-72">(</span><span·class="p"·data-group-id="1338184390-72">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·0456bf97e86e2a59c626e774e8ebdf6536581e84a54e51a99f0ab4ff7144eade·...·]-71">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">182 ·························</span><span·class="p"·data-group-id="9053454032-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="9053454032-72">(</span><span·class="p"·data-group-id="9053454032-72">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·c0693bc11aa34aeb2863ceb177dc1c691ea7491f08817f4d51e8218b3f6a2d0e·...·]-71">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
183 ·························</span><span·class="p"·data-group-id="1338184390-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="1338184390-74">(</span><span·class="p"·data-group-id="1338184390-74">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·6fb463fab38b81582a1bc161212bc03e1205a9aed27e6e56eb138379f75d8180·...·]-73">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">183 ·························</span><span·class="p"·data-group-id="9053454032-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="9053454032-74">(</span><span·class="p"·data-group-id="9053454032-74">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·3d1edcd43c52ede5d3fa66d3f1b1e342af796ac40955b4be7de02154ebc7f063·...·]-73">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
184 ·························</span><span·class="p"·data-group-id="1338184390-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="1338184390-76">(</span><span·class="p"·data-group-id="1338184390-76[·...·truncated·by·diffoscope;·len:·51,·SHA:·6899140d8c8701edee7073fc85b22539abfb75ea975f7885527d12d31e3f9514·...·]-75">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">184 ·························</span><span·class="p"·data-group-id="9053454032-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="9053454032-76">(</span><span·class="p"·data-group-id="9053454032-76[·...·truncated·by·diffoscope;·len:·51,·SHA:·beff70f5217227af1615a618e9a6077f2f16bcb8f803fda0163a23cf38d4b93e·...·]-75">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
185 ·························</span><span·class="p"·data-group-id="1338184390-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="1338184390-78">(</span><span·class="p"·data-group-id="1338184390-78">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·6fb463fab38b81582a1bc161212bc03e1205a9aed27e6e56eb138379f75d8180·...·]-77">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">185 ·························</span><span·class="p"·data-group-id="9053454032-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="9053454032-78">(</span><span·class="p"·data-group-id="9053454032-78">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·3d1edcd43c52ede5d3fa66d3f1b1e342af796ac40955b4be7de02154ebc7f063·...·]-77">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
186 ·························</span><span·class="p"·data-group-id="1338184390-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="1338184390-80">(</span><span·class="p"·data-group-id="1338184390-80">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">186 ·························</span><span·class="p"·data-group-id="9053454032-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="9053454032-80">(</span><span·class="p"·data-group-id="9053454032-80">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
187 ·························</span><span·class="p"·data-group-id="1338184390-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="1338184390-82">(</span><span·class="p"·data-group-id="1338184390-82">[·...·truncated·by·diffoscope;·len:·49,·SHA:·5f25d605a37f01300e117be375b1aede3cc96b5f90f41bed3e142dbe51fa2aab·...·]-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="9053454032-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="9053454032-82">(</span><span·class="p"·data-group-id="9053454032-82">[·...·truncated·by·diffoscope;·len:·49,·SHA:·a7e7e366bdaaeceb31804aaa52a0d1ef3c6eb52c38940d288db76877143428d2·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>426 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>184 <p>Copyright·©·1996-2025·<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.45 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>654 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>203 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>600 <p>Copyright·©·1996-2025·<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.18.2/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="3664141963-1">(</span><span·class="p"·data-group-id="3664141963-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3664141963-2">[</span><span·class="nf">agent_option</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·127,·SHA:·6d51575f3f9501e776863b70ba92e8b80d3a3005b0884eb8b1c4055e9d76c821·...·]-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="7926082316-1">(</span><span·class="p"·data-group-id="7926082316-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7926082316-2">[</span><span·class="nf">agent_option</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·127,·SHA:·79c863e0b43225a3dd7c1f47c71283564694052038a4ae3a0fb088692c5151b2·...·]-2">]</span><span·class="w">
149 ······</span><span·class="nf">agent_option</span><span·class="p"·data-group-id="3664141963-4">(</span><span·class="p"·data-group-id="3664141963-4">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3664141963-5">{</span><span·class="ss">restart_type</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·215,·SHA:·cd6ce34024de7a3efbfbd6c71288ebcca10fe4f5a7c26e6f4a9a6cd181fe1ee0·...·]-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="7926082316-4">(</span><span·class="p"·data-group-id="7926082316-4">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7926082316-5">{</span><span·class="ss">restart_type</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·215,·SHA:·7ec35629277e69a6a9a49088dcc0d8a5a0983180e2552830119b751c1ecf6a99·...·]-5">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
150 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-8">(</span><span·class="p"·data-group-id="3664141963-8">)</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·ad26b7e09038b262376a91e0e4817a889e132f78ced3698412f547eacc4a3a76·...·]-7">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">150 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-8">(</span><span·class="p"·data-group-id="7926082316-8">)</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·45600ff08a294c8d0b96d4efc1436fa9c6484e73216d06c4cec3b68e9bb2fa38·...·]-7">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
151 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-10">(</span><span·class="p"·data-group-id="3664141963-10">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·4b914058d4b6c9cc02394f7ca9d99ec92745ec75d4b554c8b48293dba36dd40d·...·]-9">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">151 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-10">(</span><span·class="p"·data-group-id="7926082316-10">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·78aefe6d4bff7f00f7568bdc5d5ca10d883f3d683541dd1fc2f084c9cf902c6a·...·]-9">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
152 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-12">(</span><span·class="p"·data-group-id="3664141963-12">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·4b914058d4b6c9cc02394f7ca9d99ec92745ec75d4b554c8b48293dba36dd40d·...·]-11">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">152 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-12">(</span><span·class="p"·data-group-id="7926082316-12">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·78aefe6d4bff7f00f7568bdc5d5ca10d883f3d683541dd1fc2f084c9cf902c6a·...·]-11">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
153 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-14">(</span><span·class="p"·data-group-id="3664141963-14">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·b25fef0c3e852d3ebda108df5122db3b116c5136c90842ac31a8111f5bae4a9a·...·]-13">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">153 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-14">(</span><span·class="p"·data-group-id="7926082316-14">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·1dcc030ba5aa4c2b288d42dfc73c01d8857753156c18ebecf7763b7806c47155·...·]-13">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
154 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-16">(</span><span·class="p"·data-group-id="3664141963-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·aa6ad77f9b159099d65ad812c236c585250e7558ed05ceb610ea1ec0ba5dd465·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">154 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-16">(</span><span·class="p"·data-group-id="7926082316-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·39914b2ce1d7bd339b3c44a4356b59a291a9cfe5e26881334323bedecb98f012·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
155 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-18">(</span><span·class="p"·data-group-id="3664141963-18">)</span><span·class="p"·data-group-id="3664141963-17">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w"> 
156 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-20">(</span><span·class="p"·data-group-id="3664141963-20">)</span[·...·truncated·by·diffoscope;·len:·71,·SHA:·103c9427c4e797abd823d0178475264e56e25b32d66e43a6c3f8d49b0d88f970·...·]···</span><span·class="p">|</span><span·class="w">155 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-18">(</span><span·class="p"·data-group-id="7926082316-18">)</span><span[·...·truncated·by·diffoscope;·len:·71,·SHA:·4ee1423225801614c51be20bbaabf24730ca436e93d65ffda4e6d7c2ade5c11a·...·]···</span><span·class="p">|</span><span·class="w">
 156 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-20">(</span><span·class="p"·data-group-id="7926082316-20">)</span><span·class="p"·data-group-id="7926082316-19">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
157 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-22">(</span><span·class="p"·data-group-id="3664141963-22">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·00c91adad63cbd8da2e91252dfdf68eab5c3c81ac5c0e07894e67ef6494d1446·...·]-21">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">157 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-22">(</span><span·class="p"·data-group-id="7926082316-22">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·b5592374dd3bf36f336b96cebdf57bdcc74b0b97bf5c2bbfb1546a2447e8d331·...·]-21">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">
158 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-24">(</span><span·class="p"·data-group-id="3664141963-24">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·4d28d397d71f8c1931733f5995a321be8e91ce4de624a61f8ecb08b84ed98668·...·]-23">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">158 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-24">(</span><span·class="p"·data-group-id="7926082316-24">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·f260b119ea52dab427a410a75b48ec7c7e902582c67d38af056aefc759160cf6·...·]-23">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
159 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-26">(</span><span·class="p"·data-group-id="3664141963-26">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·4b914058d4b6c9cc02394f7ca9d99ec92745ec75d4b554c8b48293dba36dd40d·...·]-25">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">159 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-26">(</span><span·class="p"·data-group-id="7926082316-26">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·78aefe6d4bff7f00f7568bdc5d5ca10d883f3d683541dd1fc2f084c9cf902c6a·...·]-25">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
160 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-28">(</span><span·class="p"·data-group-id="3664141963-28">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·eddc5dc041fa276833a0f7588455a30472f160de6604673195fb3502c894adb2·...·]-27">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">160 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-28">(</span><span·class="p"·data-group-id="7926082316-28">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·370022000ca84b81beac88a4c008017ed3e0c2f92a9bd78762dd398b75169024·...·]-27">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
161 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-30">(</span><span·class="p"·data-group-id="3664141963-30">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·104c8f849877ca31e0afa22f07709fe84e05f4e0513156af880bf55888ec850b·...·]-29">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">161 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-30">(</span><span·class="p"·data-group-id="7926082316-30">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·0cd06e05ae8b3e85c6b0728d32031be598f3bb1dbeef5557160f2cf51972b4d1·...·]-29">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">
162 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-32">(</span><span·class="p"·data-group-id="3664141963-32">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·5b56bdb1c4c88395c8a118d61bcb6d60d1f7f7617c957637bd786e759de0c180·...·]-31">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">162 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-32">(</span><span·class="p"·data-group-id="7926082316-32">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·5d50e789e5ee4f2b2a625403fa1d6f5ad406f1678d2f5bde5c8ecaf7857b7df7·...·]-31">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">
163 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-34">(</span><span·class="p"·data-group-id="3664141963-34">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·aa6ad77f9b159099d65ad812c236c585250e7558ed05ceb610ea1ec0ba5dd465·...·]-33">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">163 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-34">(</span><span·class="p"·data-group-id="7926082316-34">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·39914b2ce1d7bd339b3c44a4356b59a291a9cfe5e26881334323bedecb98f012·...·]-33">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
164 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-36">(</span><span·class="p"·data-group-id="3664141963-36">)</span><span·class="p"·data-group-id="3664141963-35">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w"> 
165 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-38">(</span><span·class="p"·data-group-id="3664141963-38">)</span><span·class="p"·data-group-id="3664141963-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w"> 
166 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-40">(</span><span·class="p"·data-group-id="3664141963-40">)</span><span·class="p"·data-group-id="3664141963-39">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w"> 
167 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-42">(</span><span·class="p"·data-group-id="3664141963-42">)</span[·...·truncated·by·diffoscope;·len:·72,·SHA:·d429fc974a6d80d18d0ba4900929b5c946bc4063cbc33c497552978ac5761f9d·...·]··</span><span·class="p">|</span><span·class="w">164 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-36">(</span><span·class="p"·data-group-id="7926082316-36">)</spa[·...·truncated·by·diffoscope;·len:·72,·SHA:·a30b88fdfab75ad966f75d1029e46b2736e77f8f1ebbcb96b318af344a9f13f6·...·]··</span><span·class="p">|</span><span·class="w">
 165 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-38">(</span><span·class="p"·data-group-id="7926082316-38">)</span><span·class="p"·data-group-id="7926082316-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
 166 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-40">(</span><span·class="p"·data-group-id="7926082316-40">)</span><span·class="p"·data-group-id="7926082316-39">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
 167 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-42">(</span><span·class="p"·data-group-id="7926082316-42">)</span><span·class="p"·data-group-id="7926082316-41">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
168 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-44">(</span><span·class="p"·data-group-id="3664141963-44">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·eddc5dc041fa276833a0f7588455a30472f160de6604673195fb3502c894adb2·...·]-43">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">168 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-44">(</span><span·class="p"·data-group-id="7926082316-44">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·370022000ca84b81beac88a4c008017ed3e0c2f92a9bd78762dd398b75169024·...·]-43">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
169 ·······················</span><span·class="p"·data-group-id="3664141963-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="3664141963-46">(</span><span·class="p"·data-group-id="3664141963-46">)</span><span·class="p"·data-group-id="3664141963-45">}</span><span·class="w"> 
170 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="3664141963-47">(</span><span·class="p"·data-group-id="3664141963-47">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3664141963-48">[</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="3664141963-49">(</span><span·class="p"·data-group-id="3664141963-49">)</span><span·class="p"·data-group-id="3664141963-48">]</span><span·class="w"> 
171 ······</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="3664141963-50">(</span><span·class="p"·data-group-id="3664141963-50">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·361,·SHA:·be977d467be45b857f263c1589aa093780e12f340f0d227d025a8329fbecd708·...·]</span><span·class="w">169 ·······················</span><span·class="p"·data-group-id="7926082316-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="7926082316-46">(</span>[·...·truncated·by·diffoscope;·len:·101,·SHA:·828dd7a84dd7f396c61ce8007cce0a8f76abebe2f0495aa6db65d825908a1047·...·]</span><span·class="w">
 170 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="7926082316-47">(</span><span·class="p"·data-group-id="7926082316-47">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7926082316-48">[</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="7926082316-49">(</span><span·class="p"·data-group-id="7926082316-49">)</span><span·class="p"·data-group-id="7926082316-48">]</span><span·class="w">
 171 ······</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="7926082316-50">(</span><span·class="p"·data-group-id="7926082316-50">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7926082316-51">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="w">·············</span><span·class="nf">restart_type</span><span·class="p"·data-group-id="7926082316-52">(</span><span·class="p"·data-group-id="7926082316-52">)</span><span·class="p"·data-group-id="7926082316-51">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
172 ·························</span><span·class="p"·data-group-id="3664141963-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="3664141963-54">(</span><span·class="p"·data-group-id="3664141963-54"[·...·truncated·by·diffoscope;·len:·50,·SHA:·78eb8acd755fa1e19b45629f464e40a4777af017b9b31d278367b77fc7fd6bfc·...·]-53">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">172 ·························</span><span·class="p"·data-group-id="7926082316-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="7926082316-54">(</span><span·class="p"·data-group-id="7926082316-54"[·...·truncated·by·diffoscope;·len:·50,·SHA:·99c4e338f365dcb069685e9385d91b882e9f538410fbf391b43f37dee276aa8f·...·]-53">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
173 ·························</span><span·class="p"·data-group-id="3664141963-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="3664141963-56">(</span><span·class="p"·data-group-id="3664141963-56">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·0c990ce9625c7df0282fb8fa3d5d42c4792e036a98e22eda22bfe3ef8eff48f4·...·]-55">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">173 ·························</span><span·class="p"·data-group-id="7926082316-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="7926082316-56">(</span><span·class="p"·data-group-id="7926082316-56">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·d1240a65a72a9c7a0c6b979572e769c7986e09514ccf9e72a52ec34d64791348·...·]-55">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">
174 ·························</span><span·class="p"·data-group-id="3664141963-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="3664141963-58">(</span><span·class="p"·data-group-id="3664141963-58">)</span><span·class="p"·data-group-id="3664141963-57">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w"> 
175 ·························</span><span·class="p"·data-group-id="3664141963-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="3664141963-60">(</span><span·class="p"·data-group-id="3664141963-60"[·...·truncated·by·diffoscope;·len:·79,·SHA:·3e77c29d92a67408dd9c72eff280c6bc1519ab05760f6631708b7752f1a6ac44·...·]··</span><span·class="p">|</span><span·class="w">174 ·························</span><span·class="p"·data-group-id="7926082316-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="7926082316-58">(</span><span·class="p"·data-group-id="7926082316-58">)</[·...·truncated·by·diffoscope;·len:·79,·SHA:·6f40f0aabbb7fef434762af5f17dcb665a4173df4b0ca5836c5ed4fa24807d0e·...·]··</span><span·class="p">|</span><span·class="w">
 175 ·························</span><span·class="p"·data-group-id="7926082316-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="7926082316-60">(</span><span·class="p"·data-group-id="7926082316-60">)</span><span·class="p"·data-group-id="7926082316-59">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
176 ·························</span><span·class="p"·data-group-id="3664141963-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="3664141963-62">(</span><span·class="p"·data-group-id="3664141963-62">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·9db019abcf89ad4d671f49843ad2d753bef915a15b7656c350f2586fd1ad9a79·...·]-61">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">176 ·························</span><span·class="p"·data-group-id="7926082316-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="7926082316-62">(</span><span·class="p"·data-group-id="7926082316-62">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·c6f5cb4568c9e44676db38dd43212b12463a8662de4fcb92ebaf31db56d64a34·...·]-61">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
177 ·························</span><span·class="p"·data-group-id="3664141963-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="3664141963-64">(</span><span·class="p"·data-group-id="3664141963-64">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·5a3eedec9f3da2523cfe9e3487e6c2de82bf0b2e47cc240fdc4b66af8142e7ac·...·]-63">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">177 ·························</span><span·class="p"·data-group-id="7926082316-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="7926082316-64">(</span><span·class="p"·data-group-id="7926082316-64">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·e89a4c5fac26a51949457973615d832376fa5d2b8425af64ecff3ccf56c9ed1d·...·]-63">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
178 ·························</span><span·class="p"·data-group-id="3664141963-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="3664141963-66">(</span><span·class="p"·data-group-id="3664141963-66">)</span><span·class="p"·data-group-id="3664141963-65">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w"> 
179 ·························</span><span·class="p"·data-group-id="3664141963-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="3664141963-68">(</span><span·class="p"·data-group-id="3664141963-68">)</span><span·class="p"·data-group-id="3664141963-67">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w"> 
180 ·························</span><span·class="p"·data-group-id="3664141963-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="3664141963-70">(</span><span·class="p"·data-group-id="3664141963-70">)</sp[·...·truncated·by·diffoscope;·len:·47,·SHA:·f8730791b8cc40a1552fb26327daf203a678327814e3d9bc5b57b008ae99e757·...·]">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">178 ·························</span><span·class="p"·data-group-id="7926082316-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="7926082316-66">(</span><span·class="p"·data-group-id="7926082316-66">)</sp[·...·truncated·by·diffoscope;·len:·47,·SHA:·9db55bcf46f66d798d104555e3cb3df75892f121a11534fce2ce5c2248c6f1d0·...·]">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
 179 ·························</span><span·class="p"·data-group-id="7926082316-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="7926082316-68">(</span><span·class="p"·data-group-id="7926082316-68">)</span><span·class="p"·data-group-id="7926082316-67">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
 180 ·························</span><span·class="p"·data-group-id="7926082316-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="7926082316-70">(</span><span·class="p"·data-group-id="7926082316-70">)</span><span·class="p"·data-group-id="7926082316-69">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
181 ·························</span><span·class="p"·data-group-id="3664141963-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="3664141963-72">(</span><span·class="p"·data-group-id="3664141963-72">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">181 ·························</span><span·class="p"·data-group-id="7926082316-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="7926082316-72">(</span><span·class="p"·data-group-id="7926082316-72">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
182 ·························</span><span·class="p"·data-group-id="3664141963-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="3664141963-74">(</span><span·class="p"·data-group-id="3664141963-74">[·...·truncated·by·diffoscope;·len:·49,·SHA:·75881511b63e7fbaa060dfe324c32bd3a6eab1e1b6bed9dd54ed36456cfcbf12·...·]-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="7926082316-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="7926082316-74">(</span><span·class="p"·data-group-id="7926082316-74">[·...·truncated·by·diffoscope;·len:·49,·SHA:·54514aadf8257a60ef22c53cd172306ec25b100ee0fb493fe1c016a8f425aa20·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>651 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>369 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>599 <p>Copyright·©·1996-2025·<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.18.2/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="6655752093-1">{</span><span·class="ss">myVar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6655752093-2">{</span><span·class="ss">snmp_generic</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">var[·...·truncated·by·diffoscope;·len:·1108,·SHA:·ac61f8aef86d218847ec4dac34da087b3c9be2f63f6c8b46560407e3d0b63e02·...·]-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="5183736675-1">{</span><span·class="ss">myVar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5183736675-2">{</span><span·class="ss">snmp_generic</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">var[·...·truncated·by·diffoscope;·len:·1108,·SHA:·2df5bcac8a457f87b7be9a07345fecbdeec3876a383e89fdd59ae7489ab7c18a·...·]-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="3621178884-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="3621178884-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="8316601994-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="8316601994-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="3621178884-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="3621178884-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="8316601994-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="8316601994-2">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">myTable_func</span><span·class="p"·data-group-id="3621178884-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="3621178884-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="8316601994-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="8316601994-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="3621178884-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="3621178884-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="8316601994-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="8316601994-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="3621178884-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:·70,·SHA:·463c3104b4f5d14ca1e987ce473263a861a9a06ac35f66cf3e3568db9b503409·...·]4-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="8316601994-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:·70,·SHA:·e56db6aa89a0c529655373767209af5b17a5996a3ae0c3bf5d88f9db8d8d81c6·...·]4-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="3621178884-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="8316601994-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="3621178884-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="8316601994-6">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="3621178884-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="3621178884-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 ····</span><span·class="p"·data-group-id="8316601994-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="8316601994-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="3621178884-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="3621178884-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="8316601994-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="8316601994-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="3621178884-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:·64,·SHA:·d430b3a268ff76cc00bbe479e67ad50826d392b22a7197e8fc7b9f1937921644·...·]4-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="8316601994-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:·64,·SHA:·7e9ec8403fd6db574ee296b5a61d7f257aff21f9920c2ff1fc145b16cf847a6a·...·]4-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="3621178884-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="8316601994-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="3621178884-10">)</span><span·class="p">,</span><span·class="w">187 ·······························</span><span·class="n">NameDb</span><span·class="p"·data-group-id="8316601994-10">)</span><span·class="p">,</span><span·class="w">
188 ····</span><span·class="p"·data-group-id="3621178884-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="3621178884-11">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">188 ····</span><span·class="p"·data-group-id="8316601994-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="8316601994-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="3621178884-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="3621178884-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="8316601994-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="8316601994-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="3621178884-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:·63,·SHA:·51a27e4a1c8a33156fee3c2942d5fc3cda2cc1585dc598f3f7c3348d195f8b7b·...·]4-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="8316601994-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:·63,·SHA:·3c57ab5be2ddedc8c6cb64ea932702b2597fa2a496ca91cb53654e43a04da21a·...·]4-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="3621178884-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:·f308ccc7c97fdd4a88389ae2e0f12554144a84e6d6dae1824383342a4930986a·...·]-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="8316601994-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:·d0ee335d45abf4390c28c2635b39c3447e2b184a29066eaded6cba3db13276af·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>934 <p>Copyright·©·1996-2025·<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.18.2/doc/html/snmp_impl_example_agent.html
    
Offset 226, 62 lines modifiedOffset 226, 62 lines modified
226 ··</a>226 ··</a>
227 ··<span·class="text">Default·Implementation</span>227 ··<span·class="text">Default·Implementation</span>
228 </h2>228 </h2>
229 <p>Without·writing·any·instrumentation·functions,·we·can·compile·the·MIB·and·use229 <p>Without·writing·any·instrumentation·functions,·we·can·compile·the·MIB·and·use
230 the·default·implementation·of·it.·Recall·that·MIBs·imported·by·&quot;EX1-MIB.mib&quot;230 the·default·implementation·of·it.·Recall·that·MIBs·imported·by·&quot;EX1-MIB.mib&quot;
231 must·be·present·and·compiled·in·the·current·directory231 must·be·present·and·compiled·in·the·current·directory
232 (&quot;./STANDARD-MIB.bin&quot;,&quot;./RFC1213-MIB.bin&quot;)·when·compiling.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">unix</span><span·class="o">&gt;</span><span·class="w">·</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="p">.</span><span·class="o">/</span><span·class="ss">sys</span><span·class="gp·unselectable">232 (&quot;./STANDARD-MIB.bin&quot;,&quot;./RFC1213-MIB.bin&quot;)·when·compiling.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">unix</span><span·class="o">&gt;</span><span·class="w">·</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="p">.</span><span·class="o">/</span><span·class="ss">sys</span><span·class="gp·unselectable">
233 1&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="2899165619-1">(</span><span·class="ss">snmp</span><span·class="p"·data-group-id="2899165619-1">)</span><span·class="p">.</span><span·class="w">233 1&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0429487478-1">(</span><span·class="ss">snmp</span><span·class="p"·data-group-id="0429487478-1">)</span><span·class="p">.</span><span·class="w">
234 </span><span·class="ss">ok</span><span·class="gp·unselectable">234 </span><span·class="ss">ok</span><span·class="gp·unselectable">
235 2&gt;·</span><span·class="nc">snmpc</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="2899165619-2">(</span><span·class="s">&quot;EX1-MIB&quot;</span><span·class="p"·data-group-id="2899165619-2">)</span><span·class="p">.</span><span·class="w">235 2&gt;·</span><span·class="nc">snmpc</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="0429487478-2">(</span><span·class="s">&quot;EX1-MIB&quot;</span><span·class="p"·data-group-id="0429487478-2">)</span><span·class="p">.</span><span·class="w">
236 </span><span·class="n">No</span><span·class="w">·</span><span·class="ss">accessfunction</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">&#39;friendsTable&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">using</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">.</span><span·class="w">236 </span><span·class="n">No</span><span·class="w">·</span><span·class="ss">accessfunction</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">&#39;friendsTable&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">using</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">.</span><span·class="w">
237 </span><span·class="n">No</span><span·class="w">·</span><span·class="ss">accessfunction</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">&#39;myName&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">using</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">.</span><span·class="w">237 </span><span·class="n">No</span><span·class="w">·</span><span·class="ss">accessfunction</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">&#39;myName&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">using</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">.</span><span·class="w">
238 </span><span·class="p"·data-group-id="2899165619-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;EX1-MIB.bin&quot;</span><span·class="p"·data-group-id="2899165619-3">}</span><span·class="gp·unselectable">238 </span><span·class="p"·data-group-id="0429487478-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;EX1-MIB.bin&quot;</span><span·class="p"·data-group-id="0429487478-3">}</span><span·class="gp·unselectable">
239 3&gt;·</span><span·class="nc">snmpa</span><span·class="p">:</span><span·class="nf">load_mibs</span><span·class="p"·data-group-id="2899165619-4">(</span><span·class="ss">snmp_master_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2899165619-5">[</span><span·class="s">&quot;EX1-MIB&quot;</span><span·class="p"·data-group-id="2899165619-5">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·ae2035be0283385222794fc7b81b043bc0d48b5ec0e705e653a88bf782f5d229·...·]-4">)</span><span·class="p">.</span><span·class="w">239 3&gt;·</span><span·class="nc">snmpa</span><span·class="p">:</span><span·class="nf">load_mibs</span><span·class="p"·data-group-id="0429487478-4">(</span><span·class="ss">snmp_master_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0429487478-5">[</span><span·class="s">&quot;EX1-MIB&quot;</span><span·class="p"·data-group-id="0429487478-5">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·49328d782fce9f3fe4e994ebb2550db206714d36bf66d5dc4d06b8378884ac30·...·]-4">)</span><span·class="p">.</span><span·class="w">
240 </span><span·class="ss">ok</span></code></pre><p>This·MIB·is·now·loaded·into·the·agent,·and·a·manager·can·ask·questions.·As·an240 </span><span·class="ss">ok</span></code></pre><p>This·MIB·is·now·loaded·into·the·agent,·and·a·manager·can·ask·questions.·As·an
241 example·of·this,·we·start·another·Erlang·system·and·the·simple·Erlang·manager·in241 example·of·this,·we·start·another·Erlang·system·and·the·simple·Erlang·manager·in
242 the·toolkit:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="1752597276-1">(</span><span·class="p"·data-group-id="1752597276-2">[</span><span·class="p"·data-group-id="1752597276-3">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="s">&quot;dront.ericsson.se&quot;</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·250,·SHA:·b09542ad43dbffd17a724c320c4da49b5fbc8a0b15b27a30d344f359c0a802e2·...·]-4">}</span><span·class="p">,</span><span·class="w">242 the·toolkit:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="9419212527-1">(</span><span·class="p"·data-group-id="9419212527-2">[</span><span·class="p"·data-group-id="9419212527-3">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="s">&quot;dront.ericsson.se&quot;</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·250,·SHA:·ad65f8d29653c819daeb336092cce9f9ce94f4012b9973a90192b1c9393832c5·...·]-4">}</span><span·class="p">,</span><span·class="w">
243 ·</span><span·class="c1">%%·making·it·understand·symbolic·names:·{mibs,[&quot;EX1-MIB&quot;,&quot;STANDARD-MIB&quot;]}]).</span><span·class="w">243 ·</span><span·class="c1">%%·making·it·understand·symbolic·names:·{mibs,[&quot;EX1-MIB&quot;,&quot;STANDARD-MIB&quot;]}]).</span><span·class="w">
244 </span><span·class="p"·data-group-id="1752597276-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</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"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·b96db3e7e5364865b0ffe3b3b4154165197f7f1197717ba364d94cbfdf93af20·...·]-5">}</span><span·class="w">244 </span><span·class="p"·data-group-id="9419212527-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</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"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·7a6650f81819a32eea3ebdfe7b3d23804b41a1a4778c5b85e39785a5a55fe49a·...·]-5">}</span><span·class="w">
245 </span><span·class="c1">%%·a·get-next·request·with·one·OID.</span><span·class="gp·unselectable">245 </span><span·class="c1">%%·a·get-next·request·with·one·OID.</span><span·class="gp·unselectable">
246 2&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">gn</span><span·class="p"·data-group-id="1752597276-6">(</span><span·class="p"·data-group-id="1752597276-7">[</span><span·class="p"·data-group-id="1752597276-8">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">6</span><span[·...·truncated·by·diffoscope;·len:·289,·SHA:·4cf0e889c4d39904174d477284aaa7e97a788d7c08a51915b8dd22ffab69c88b·...·]-6">)</span><span·class="p">.</span><span·class="w">246 2&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">gn</span><span·class="p"·data-group-id="9419212527-6">(</span><span·class="p"·data-group-id="9419212527-7">[</span><span·class="p"·data-group-id="9419212527-8">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">6</span><span[·...·truncated·by·diffoscope;·len:·289,·SHA:·d96ed0cf60b339060503ca42215a2bba71f08c75c685ed2d354e1754ab473cfb·...·]-6">)</span><span·class="p">.</span><span·class="w">
247 </span><span·class="ss">ok</span><span·class="w">247 </span><span·class="ss">ok</span><span·class="w">
248 </span><span·class="gt">*·Got·PDU:</span><span·class="w">248 </span><span·class="gt">*·Got·PDU:</span><span·class="w">
249 </span><span·class="p"·data-group-id="1752597276-9">[</span><span·class="ss">myName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1752597276-9">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·65,·SHA:·3b30fe36a4dfe66f8f94968a94d513a6b0b1295e3a9dcdfc089cf36cddcfdc35·...·]-10">]</span><span·class="w">249 </span><span·class="p"·data-group-id="9419212527-9">[</span><span·class="ss">myName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="9419212527-9">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·65,·SHA:·7f307227385b8b5dae8133a2a52319e113886a02887ea320c221bc4ec1a18ffc·...·]-10">]</span><span·class="w">
250 </span><span·class="c1">%%·A·set-request·(now·using·symbolic·names·for·convenience)</span><span·class="gp·unselectable">250 </span><span·class="c1">%%·A·set-request·(now·using·symbolic·names·for·convenience)</span><span·class="gp·unselectable">
251 3&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">s</span><span·class="p"·data-group-id="1752597276-11">(</span><span·class="p"·data-group-id="1752597276-12">[</span><span·class="p"·data-group-id="1752597276-13">{</span><span·class="p"·data-group-id="1752597276-14">[</span><span·class="ss">myName</span><span·class="p">,</span><span·class="mi">[·...·truncated·by·diffoscope;·len:·300,·SHA:·eaafed8ef1dc269430cf18e4bb085ad8d731ab45232c6197eb494e99dfc3482c·...·]-11">)</span><span·class="p">.</span><span·class="w">251 3&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">s</span><span·class="p"·data-group-id="9419212527-11">(</span><span·class="p"·data-group-id="9419212527-12">[</span><span·class="p"·data-group-id="9419212527-13">{</span><span·class="p"·data-group-id="9419212527-14">[</span><span·class="ss">myName</span><span·class="p">,</span><span·class="mi">[·...·truncated·by·diffoscope;·len:·300,·SHA:·4ce5709ba8e5d9e4ef963c9009bb25724e18e639e4346289949fd2191224f2ca·...·]-11">)</span><span·class="p">.</span><span·class="w">
252 </span><span·class="ss">ok</span><span·class="w">252 </span><span·class="ss">ok</span><span·class="w">
253 </span><span·class="gt">*·Got·PDU:</span><span·class="w">253 </span><span·class="gt">*·Got·PDU:</span><span·class="w">
254 </span><span·class="p"·data-group-id="1752597276-15">[</span><span·class="ss">myName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1752597276-15">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Martin&quot;</span><span·class="w">254 </span><span·class="p"·data-group-id="9419212527-15">[</span><span·class="ss">myName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="9419212527-15">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Martin&quot;</span><span·class="w">
255 </span><span·class="c1">%%·Try·the·same·get-next·request·again</span><span·class="gp·unselectable">255 </span><span·class="c1">%%·Try·the·same·get-next·request·again</span><span·class="gp·unselectable">
256 4&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">gn</span><span·class="p"·data-group-id="1752597276-16">(</span><span·class="p"·data-group-id="1752597276-17">[</span><span·class="p"·data-group-id="1752597276-18">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">6</span><s[·...·truncated·by·diffoscope;·len:·294,·SHA:·4759a3b3d1624084d92dae6ef8fa1978ae0a4f0107000fc781c405a9b35345ae·...·]-16">)</span><span·class="p">.</span><span·class="w">256 4&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">gn</span><span·class="p"·data-group-id="9419212527-16">(</span><span·class="p"·data-group-id="9419212527-17">[</span><span·class="p"·data-group-id="9419212527-18">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">6</span><s[·...·truncated·by·diffoscope;·len:·294,·SHA:·d12b8d9304426d6f5790f22324c60e5e46ce91ebb838de30a1216433d84639b3·...·]-16">)</span><span·class="p">.</span><span·class="w">
257 </span><span·class="ss">ok</span><span·class="w">257 </span><span·class="ss">ok</span><span·class="w">
258 </span><span·class="gt">*·Got·PDU:</span><span·class="w">258 </span><span·class="gt">*·Got·PDU:</span><span·class="w">
259 </span><span·class="p"·data-group-id="1752597276-19">[</span><span·class="ss">myName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1752597276-19">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Martin&quot;</span><span·class="w">259 </span><span·class="p"·data-group-id="9419212527-19">[</span><span·class="ss">myName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="9419212527-19">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Martin&quot;</span><span·class="w">
260 </span><span·class="c1">%%·...·and·we·got·the·new·value.</span><span·class="w">260 </span><span·class="c1">%%·...·and·we·got·the·new·value.</span><span·class="w">
261 </span><span·class="c1">%%·you·can·event·do·row·operations.·How·to·add·a·row:</span><span·class="gp·unselectable">261 </span><span·class="c1">%%·you·can·event·do·row·operations.·How·to·add·a·row:</span><span·class="gp·unselectable">
262 5&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">s</span><span·class="p"·data-group-id="1752597276-20">(</span><span·class="p"·data-group-id="1752597276-21">[</span><span·class="p"·data-group-id="1752597276-22">{</span><span·class="p"·data-group-id="1752597276-23">[</span><span·class="ss">fName</span><span·class="p">,</span><span·class="mi">0[·...·truncated·by·diffoscope;·len:·1100,·SHA:·138886ac0fe17cd6745803fc413c632cc7db3471bff0fbf6593582ceb6476cfc·...·]-20">)</span><span·class="p">.</span><span·class="w">262 5&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">s</span><span·class="p"·data-group-id="9419212527-20">(</span><span·class="p"·data-group-id="9419212527-21">[</span><span·class="p"·data-group-id="9419212527-22">{</span><span·class="p"·data-group-id="9419212527-23">[</span><span·class="ss">fName</span><span·class="p">,</span><span·class="mi">0[·...·truncated·by·diffoscope;·len:·1100,·SHA:·c3de051633144e103531f962977ec9c2c8589bc6cdf6d40cf887ca4b140093f4·...·]-20">)</span><span·class="p">.</span><span·class="w">
263 ·</span><span·class="c1">%%·createAndGo</span><span·class="w">263 ·</span><span·class="c1">%%·createAndGo</span><span·class="w">
264 </span><span·class="ss">ok</span><span·class="w">264 </span><span·class="ss">ok</span><span·class="w">
265 </span><span·class="gt">*·Got·PDU:</span><span·class="w">265 </span><span·class="gt">*·Got·PDU:</span><span·class="w">
266 </span><span·class="p"·data-group-id="1752597276-28">[</span><span·class="ss">fName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1752597276-28">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Martin&quot;</span><span·class="w">266 </span><span·class="p"·data-group-id="9419212527-28">[</span><span·class="ss">fName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="9419212527-28">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Martin&quot;</span><span·class="w">
267 </span><span·class="p"·data-group-id="1752597276-29">[</span><span·class="ss">fAddress</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1752597276-29">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;home&quot;</span><span·class="w">267 </span><span·class="p"·data-group-id="9419212527-29">[</span><span·class="ss">fAddress</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="9419212527-29">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;home&quot;</span><span·class="w">
268 </span><span·class="p"·data-group-id="1752597276-30">[</span><span·class="ss">fStatus</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1752597276-30">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4</span><span·class="gp·unselectable">268 </span><span·class="p"·data-group-id="9419212527-30">[</span><span·class="ss">fStatus</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="9419212527-30">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4</span><span·class="gp·unselectable">
269 6&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">gn</span><span·class="p"·data-group-id="1752597276-31">(</span><span·class="p"·data-group-id="1752597276-32">[</span><span·class="p"·data-group-id="1752597276-33">[</span><span·class="ss">myName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1752597276-33">[·...·truncated·by·diffoscope;·len:·103,·SHA:·82ff05e6941ec8032b5100f586b53617f6e1db7a9c7569ca4e83b4fcc610c255·...·]-31">)</span><span·class="p">.</span><span·class="w">269 6&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">gn</span><span·class="p"·data-group-id="9419212527-31">(</span><span·class="p"·data-group-id="9419212527-32">[</span><span·class="p"·data-group-id="9419212527-33">[</span><span·class="ss">myName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="9419212527-33">[·...·truncated·by·diffoscope;·len:·103,·SHA:·e3a7d2828fa6006fcce6b1c8b8871bae42a184c23658e7cf67b2a5d14a44099d·...·]-31">)</span><span·class="p">.</span><span·class="w">
270 </span><span·class="ss">ok</span><span·class="w">270 </span><span·class="ss">ok</span><span·class="w">
271 </span><span·class="gt">*·Got·PDU:</span><span·class="w">271 </span><span·class="gt">*·Got·PDU:</span><span·class="w">
272 </span><span·class="p"·data-group-id="1752597276-34">[</span><span·class="ss">fName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1752597276-34">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Martin&quot;</span><span·class="gp·unselectable">272 </span><span·class="p"·data-group-id="9419212527-34">[</span><span·class="ss">fName</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="9419212527-34">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Martin&quot;</span><span·class="gp·unselectable">
273 7&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">gn</span><span·class="p"·data-group-id="1752597276-35">(</span><span·class="p"·data-group-id="1752597276-35">)</span><span·class="p">.</span><span·class="w">273 7&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">gn</span><span·class="p"·data-group-id="9419212527-35">(</span><span·class="p"·data-group-id="9419212527-35">)</span><span·class="p">.</span><span·class="w">
274 </span><span·class="ss">ok</span><span·class="w">274 </span><span·class="ss">ok</span><span·class="w">
275 </span><span·class="gt">*·Got·PDU:</span><span·class="w">275 </span><span·class="gt">*·Got·PDU:</span><span·class="w">
276 </span><span·class="p"·data-group-id="1752597276-36">[</span><span·class="ss">fAddress</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1752597276-36">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;home&quot;</span><span·class="gp·unselectable">276 </span><span·class="p"·data-group-id="9419212527-36">[</span><span·class="ss">fAddress</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="9419212527-36">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;home&quot;</span><span·class="gp·unselectable">
277 8&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">gn</span><span·class="p"·data-group-id="1752597276-37">(</span><span·class="p"·data-group-id="1752597276-37">)</span><span·class="p">.</span><span·class="w">277 8&gt;·</span><span·class="nc">snmp_test_mgr</span><span·class="p">:</span><span·class="nf">gn</span><span·class="p"·data-group-id="9419212527-37">(</span><span·class="p"·data-group-id="9419212527-37">)</span><span·class="p">.</span><span·class="w">
278 </span><span·class="ss">ok</span><span·class="w">278 </span><span·class="ss">ok</span><span·class="w">
279 </span><span·class="gt">*·Got·PDU:</span><span·class="w">279 </span><span·class="gt">*·Got·PDU:</span><span·class="w">
280 </span><span·class="p"·data-group-id="1752597276-38">[</span><span·class="ss">fStatus</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1752597276-38">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">280 </span><span·class="p"·data-group-id="9419212527-38">[</span><span·class="ss">fStatus</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="9419212527-38">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">
281 </span><span·class="mi">9</span><span·class="o">&gt;</span></code></pre><h2·id="manual-implementation"·class="section-heading">281 </span><span·class="mi">9</span><span·class="o">&gt;</span></code></pre><h2·id="manual-implementation"·class="section-heading">
282 ··<a·href="#manual-implementation"·class="hover-link">282 ··<a·href="#manual-implementation"·class="hover-link">
283 ····<i·class="ri-link-m"·aria-hidden="true"></i>283 ····<i·class="ri-link-m"·aria-hidden="true"></i>
284 ··</a>284 ··</a>
285 ··<span·class="text">Manual·Implementation</span>285 ··<span·class="text">Manual·Implementation</span>
286 </h2>286 </h2>
287 <p>The·following·example·shows·a·&quot;manual&quot;·implementation·of·the·EX1-MIB·in·Erlang.287 <p>The·following·example·shows·a·&quot;manual&quot;·implementation·of·the·EX1-MIB·in·Erlang.
Offset 291, 247 lines modifiedOffset 291, 247 lines modified
291 <code·class="inline">friendsTable</code>.·Each·row·is·a·4-tuple.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>There·are·more·efficient·ways·to·create·tables·manually,·i.e.·to·use·the291 <code·class="inline">friendsTable</code>.·Each·row·is·a·4-tuple.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>There·are·more·efficient·ways·to·create·tables·manually,·i.e.·to·use·the
292 module·<code·class="inline">snmp_index</code>.</p></section><h3·id="code"·class="section-heading">292 module·<code·class="inline">snmp_index</code>.</p></section><h3·id="code"·class="section-heading">
293 ··<a·href="#code"·class="hover-link">293 ··<a·href="#code"·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">Code</span>296 ··<span·class="text">Code</span>
297 </h3>297 </h3>
298 <pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1518067010-1">(</span><span·class="ss">ex1</span><span·class="p"·data-group-id="1518067010-1">)</span><span·class="p">.</span><span·class="w">298 <pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0461855550-1">(</span><span·class="ss">ex1</span><span·class="p"·data-group-id="0461855550-1">)</span><span·class="p">.</span><span·class="w">
299 </span><span·class="p">-</span><span·class="na">author</span><span·class="p"·data-group-id="1518067010-2">(</span><span·class="ss">&#39;dummy@flop.org&#39;</span><span·class="p"·data-group-id="1518067010-2">)</span><span·class="p">.</span><span·class="w">299 </span><span·class="p">-</span><span·class="na">author</span><span·class="p"·data-group-id="0461855550-2">(</span><span·class="ss">&#39;dummy@flop.org&#39;</span><span·class="p"·data-group-id="0461855550-2">)</span><span·class="p">.</span><span·class="w">
300 </span><span·class="c1">%%·External·exports</span><span·class="w">300 </span><span·class="c1">%%·External·exports</span><span·class="w">
301 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1518067010-3">(</span><span·class="p"·data-group-id="1518067010-4">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_name</span><span·class="p">/</span>[·...·truncated·by·diffoscope;·len:·380,·SHA:·49ba73727e23df10baf9f09c634e6992a7e08f90e50c635c09cded26b45a03d4·...·]0-3">)</span><span·class="p">.</span><span·class="w">301 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0461855550-3">(</span><span·class="p"·data-group-id="0461855550-4">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_name</span><span·class="p">/</span>[·...·truncated·by·diffoscope;·len:·380,·SHA:·6213a33a2a45e1510a6e77fe87862f5c6902dc8ddf0269df3b0f371135c8ba89·...·]0-3">)</span><span·class="p">.</span><span·class="w">
302 </span><span·class="c1">%%·Internal·exports</span><span·class="w">302 </span><span·class="c1">%%·Internal·exports</span><span·class="w">
303 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1518067010-5">(</span><span·class="p"·data-group-id="1518067010-6">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1518067010-6">]</span><span·class="p"·data-group-id="1518067010-5">)</span><span·class="p">.</span><span·class="w">303 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0461855550-5">(</span><span·class="p"·data-group-id="0461855550-6">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0461855550-6">]</span><span·class="p"·data-group-id="0461855550-5">)</span><span·class="p">.</span><span·class="w">
304 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1518067010-7">(</span><span·class="ss">status_col</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="1518067010-7">)</span><span·class="p">.</span><span·class="w">304 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="0461855550-7">(</span><span·class="ss">status_col</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="0461855550-7">)</span><span·class="p">.</span><span·class="w">
305 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1518067010-8">(</span><span·class="ss">active</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="1518067010-8">)</span><span·class="p">.</span><span·class="w">305 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="0461855550-8">(</span><span·class="ss">active</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="0461855550-8">)</span><span·class="p">.</span><span·class="w">
306 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1518067010-9">(</span><span·class="ss">notInService</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="1518067010-9">)</span><span·class="p">.</span><span·class="w">306 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="0461855550-9">(</span><span·class="ss">notInService</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="0461855550-9">)</span><span·class="p">.</span><span·class="w">
307 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1518067010-10">(</span><span·class="ss">notReady</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="1518067010-10">)</span><span·class="p">.</span><span·class="w">307 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="0461855550-10">(</span><span·class="ss">notReady</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="0461855550-10">)</span><span·class="p">.</span><span·class="w">
308 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1518067010-11">(</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="1518067010-11">)</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%·Action;·written,·not·read</span><span·class="w">308 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="0461855550-11">(</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="0461855550-11">)</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%·Action;·written,·not·read</span><span·class="w">
309 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1518067010-12">(</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="1518067010-12">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·Action;·written,·not·read</span><span·class="w">309 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="0461855550-12">(</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="0461855550-12">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·Action;·written,·not·read</span><span·class="w">
310 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1518067010-13">(</span><span·class="ss">destroy</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">6</span><span·class="p"·data-group-id="1518067010-13">)</span><span·class="p">.</span><span·class="w">·······</span><span·class="c1">%·Action;·written,·not·read</span><span·class="w">310 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="0461855550-13">(</span><span·class="ss">destroy</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">6</span><span·class="p"·data-group-id="0461855550-13">)</span><span·class="p">.</span><span·class="w">·······</span><span·class="c1">%·Action;·written,·not·read</span><span·class="w">
311 </span><span·class="nf">start</span><span·class="p"·data-group-id="1518067010-14">(</span><span·class="p"·data-group-id="1518067010-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">311 </span><span·class="nf">start</span><span·class="p"·data-group-id="0461855550-14">(</span><span·class="p"·data-group-id="0461855550-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
312 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="1518067010-15">(</span><span·class="ss">ex1</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="1518067010-16">[</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·66,·SHA:·084cca3d0b61332366c661dc10a5bbf74be99203cffed0d0e3c8154de1113dad·...·]0-15">)</span><span·class="p">.</span><span·class="w">312 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="0461855550-15">(</span><span·class="ss">ex1</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="0461855550-16">[</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·66,·SHA:·94b06a7a773086ad2b8b3dfcf1c9b4c45df118a4da42657ff1dc45def1afff07·...·]0-15">)</span><span·class="p">.</span><span·class="w">
313 </span><span·class="c1">%%----------------------------------------------------------------</span><span·class="w">313 </span><span·class="c1">%%----------------------------------------------------------------</span><span·class="w">
314 </span><span·class="c1">%%·Instrumentation·function·for·variable·myName.</span><span·class="w">314 </span><span·class="c1">%%·Instrumentation·function·for·variable·myName.</span><span·class="w">
315 </span><span·class="c1">%%·Returns:·(get)·{value,·Name}</span><span·class="w">315 </span><span·class="c1">%%·Returns:·(get)·{value,·Name}</span><span·class="w">
316 </span><span·class="c1">%%··········(set)·noError</span><span·class="w">316 </span><span·class="c1">%%··········(set)·noError</span><span·class="w">
317 </span><span·class="c1">%%----------------------------------------------------------------</span><span·class="w">317 </span><span·class="c1">%%----------------------------------------------------------------</span><span·class="w">
318 </span><span·class="nf">my_name</span><span·class="p"·data-group-id="1518067010-17">(</span><span·class="nb">get</span><span·class="p"·data-group-id="1518067010-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">318 </span><span·class="nf">my_name</span><span·class="p"·data-group-id="0461855550-17">(</span><span·class="nb">get</span><span·class="p"·data-group-id="0461855550-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
319 ····</span><span·class="ss">ex1_server</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="1518067010-18">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1518067010-19">(</span><span·class="p"·data-group-id="1518067010-19">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">get_my_name</span><span·class="p[·...·truncated·by·diffoscope;·len:·26,·SHA:·8ee9468cf0f8572c477f1fe29fd2345d0fffb283079b970c8615e1b7f98e901b·...·]0-18">}</span><span·class="p">,</span><span·class="w">319 ····</span><span·class="ss">ex1_server</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="0461855550-18">{</span><span·class="nf">self</span><span·class="p"·data-group-id="0461855550-19">(</span><span·class="p"·data-group-id="0461855550-19">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">get_my_name</span><span·class="p[·...·truncated·by·diffoscope;·len:·26,·SHA:·2888daf56a551eafae210759e3440ac5a0a2b9e8bbee3bd7e2ef71f8fd58b767·...·]0-18">}</span><span·class="p">,</span><span·class="w">
320 ····</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">wait_answer</span><span·class="p"·data-group-id="1518067010-20">(</span><span·class="p"·data-group-id="1518067010-20">)</span><span·class="p">,</span><span·class="w">320 ····</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">wait_answer</span><span·class="p"·data-group-id="0461855550-20">(</span><span·class="p"·data-group-id="0461855550-20">)</span><span·class="p">,</span><span·class="w">
321 ····</span><span·class="p"·data-group-id="1518067010-21">{</span><span·class="ss">value</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="1518067010-21">}</span><span·class="p">.</span><span·class="w">321 ····</span><span·class="p"·data-group-id="0461855550-21">{</span><span·class="ss">value</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="0461855550-21">}</span><span·class="p">.</span><span·class="w">
322 </span><span·class="nf">my_name</span><span·class="p"·data-group-id="1518067010-22">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NewName</span><span·class="p"·data-group-id="1518067010-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">322 </span><span·class="nf">my_name</span><span·class="p"·data-group-id="0461855550-22">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NewName</span><span·class="p"·data-group-id="0461855550-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
323 ····</span><span·class="ss">ex1_server</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="1518067010-23">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1518067010-24">(</span><span·class="p"·data-group-id="1518067010-24">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1518067010-25">{</[·...·truncated·by·diffoscope;·len:·212,·SHA:·624d34eac2018f9aa414894ce2a2ff10e681283876c3d090a2ed2b54d48518ac·...·]0-23">}</span><span·class="p">,</span><span·class="w">323 ····</span><span·class="ss">ex1_server</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="0461855550-23">{</span><span·class="nf">self</span><span·class="p"·data-group-id="0461855550-24">(</span><span·class="p"·data-group-id="0461855550-24">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0461855550-25">{</[·...·truncated·by·diffoscope;·len:·212,·SHA:·0b946d8874bde40d51a9baf98461e304ec25b6044dbe242430d55a42c0134b4a·...·]0-23">}</span><span·class="p">,</span><span·class="w">
324 ····</span><span·class="ss">noError</span><span·class="p">.</span><span·class="w">324 ····</span><span·class="ss">noError</span><span·class="p">.</span><span·class="w">
325 </span><span·class="c1">%%----------------------------------------------------------------</span><span·class="w">325 </span><span·class="c1">%%----------------------------------------------------------------</span><span·class="w">
326 </span><span·class="c1">%%·Instrumentation·function·for·table·friendsTable.</span><span·class="w">326 </span><span·class="c1">%%·Instrumentation·function·for·table·friendsTable.</span><span·class="w">
327 </span><span·class="c1">%%----------------------------------------------------------------</span><span·class="w">327 </span><span·class="c1">%%----------------------------------------------------------------</span><span·class="w">
328 </span><span·class="nf">friends_table</span><span·class="p"·data-group-id="1518067010-26">(</span><span·class="nb">get</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="1518067010-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">328 </span><span·class="nf">friends_table</span><span·class="p"·data-group-id="0461855550-26">(</span><span·class="nb">get</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="0461855550-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
329 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">get_row</span><span·class="p"·data-group-id="1518067010-27">(</span><span·class="n">RowIndex</span><span·class="p"·data-group-id="1518067010-27">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">329 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">get_row</span><span·class="p"·data-group-id="0461855550-27">(</span><span·class="n">RowIndex</span><span·class="p"·data-group-id="0461855550-27">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
330 ···</span><span·class="p"·data-group-id="1518067010-28">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="1518067010-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">330 ···</span><span·class="p"·data-group-id="0461855550-28">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="0461855550-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
331 ········</span><span·class="nf">get_cols</span><span·class="p"·data-group-id="1518067010-29">(</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="1518067010-29">)</span><span·class="p">;</span><span·class="w">331 ········</span><span·class="nf">get_cols</span><span·class="p"·data-group-id="0461855550-29">(</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="0461855550-29">)</span><span·class="p">;</span><span·class="w">
332 ···</span><span·class="p">_</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">332 ···</span><span·class="p">_</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">
333 ········</span><span·class="p"·data-group-id="1518067010-30">{</span><span·class="ss">noValue</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">noSuchInstance</span><span·class="p"·data-group-id="1518067010-30">}</span><span·class="w">333 ········</span><span·class="p"·data-group-id="0461855550-30">{</span><span·class="ss">noValue</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">noSuchInstance</span><span·class="p"·data-group-id="0461855550-30">}</span><span·class="w">
334 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">334 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
335 </span><span·class="nf">friends_table</span><span·class="p"·data-group-id="1518067010-31">(</span><span·class="ss">get_next</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="1518067010-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">335 </span><span·class="nf">friends_table</span><span·class="p"·data-group-id="0461855550-31">(</span><span·class="ss">get_next</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="0461855550-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
336 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">get_next_row</span><span·class="p"·data-group-id="1518067010-32">(</span><span·class="n">RowIndex</span><span·class="p"·data-group-id="1518067010-32">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">336 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">get_next_row</span><span·class="p"·data-group-id="0461855550-32">(</span><span·class="n">RowIndex</span><span·class="p"·data-group-id="0461855550-32">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
337 ···</span><span·class="p"·data-group-id="1518067010-33">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="1518067010-33">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">337 ···</span><span·class="p"·data-group-id="0461855550-33">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="0461855550-33">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
338 ········</span><span·class="nf">get_next_cols</span><span·class="p"·data-group-id="1518067010-34">(</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="1518067010-34">)</span><span·class="p">;</span><span·class="w">338 ········</span><span·class="nf">get_next_cols</span><span·class="p"·data-group-id="0461855550-34">(</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="0461855550-34">)</span><span·class="p">;</span><span·class="w">
339 ···</span><span·class="p">_</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">339 ···</span><span·class="p">_</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">
340 ·······</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">get_next_row</span><span·class="p"·data-group-id="1518067010-35">(</span><span·class="p"·data-group-id="1518067010-36">[</span><span·class="p"·data-group-id="1518067010-36">]</span><span·class="p"·data-group-id="1518067010-35">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">340 ·······</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">get_next_row</span><span·class="p"·data-group-id="0461855550-35">(</span><span·class="p"·data-group-id="0461855550-36">[</span><span·class="p"·data-group-id="0461855550-36">]</span><span·class="p"·data-group-id="0461855550-35">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
341 ·····</span><span·class="p"·data-group-id="1518067010-37">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="1518067010-37">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">341 ·····</span><span·class="p"·data-group-id="0461855550-37">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="0461855550-37">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
342 ·········</span><span·class="c1">%·Get·next·cols·from·first·row.</span><span·class="w">342 ·········</span><span·class="c1">%·Get·next·cols·from·first·row.</span><span·class="w">
343 ·········</span><span·class="n">NewCols</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">add_one_to_cols</span><span·class="p"·data-group-id="1518067010-38">(</span><span·class="n">Cols</span><span·class="p"·data-group-id="1518067010-38">)</span><span·class="p">,</span><span·class="w">343 ·········</span><span·class="n">NewCols</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">add_one_to_cols</span><span·class="p"·data-group-id="0461855550-38">(</span><span·class="n">Cols</span><span·class="p"·data-group-id="0461855550-38">)</span><span·class="p">,</span><span·class="w">
344 ·········</span><span·class="nf">get_next_cols</span><span·class="p"·data-group-id="1518067010-39">(</span><span·class="n">NewCols</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="1518067010-39">)</span><span·class="p">;</span><span·class="w">344 ·········</span><span·class="nf">get_next_cols</span><span·class="p"·data-group-id="0461855550-39">(</span><span·class="n">NewCols</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Row</span><span·class="p"·data-group-id="0461855550-39">)</span><span·class="p">;</span><span·class="w">
345 ·····</span><span·class="p">_</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">345 ·····</span><span·class="p">_</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">
346 ········</span><span·class="nf">end_of_table</span><span·class="p"·data-group-id="1518067010-40">(</span><span·class="n">Cols</span><span·class="p"·data-group-id="1518067010-40">)</span><span·class="w">346 ········</span><span·class="nf">end_of_table</span><span·class="p"·data-group-id="0461855550-40">(</span><span·class="n">Cols</span><span·class="p"·data-group-id="0461855550-40">)</span><span·class="w">
347 ········</span><span·class="k">end</span><span·class="w">347 ········</span><span·class="k">end</span><span·class="w">
348 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">348 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
349 </span><span·class="c1">%%----------------------------------------------------------------</span><span·class="w">349 </span><span·class="c1">%%----------------------------------------------------------------</span><span·class="w">
350 </span><span·class="c1">%%·If·RowStatus·is·set,·then:</span><span·class="w">350 </span><span·class="c1">%%·If·RowStatus·is·set,·then:</span><span·class="w">
351 </span><span·class="c1">%%····*)·If·set·to·destroy,·check·that·row·does·exist</span><span·class="w">351 </span><span·class="c1">%%····*)·If·set·to·destroy,·check·that·row·does·exist</span><span·class="w">
352 </span><span·class="c1">%%····*)·If·set·to·createAndGo,·check·that·row·does·not·exist·AND</span><span·class="w">352 </span><span·class="c1">%%····*)·If·set·to·createAndGo,·check·that·row·does·not·exist·AND</span><span·class="w">
353 </span><span·class="c1">%%·········that·all·columns·are·given·values.</span><span·class="w">353 </span><span·class="c1">%%·········that·all·columns·are·given·values.</span><span·class="w">
354 </span><span·class="c1">%%····*)·Otherwise,·error·(for·simplicity).</span><span·class="w">354 </span><span·class="c1">%%····*)·Otherwise,·error·(for·simplicity).</span><span·class="w">
Max diff block lines reached; 128564/178523 bytes (72.02%) of diff not shown.
711 B
html2text {}
Max HTML report size reached
1.62 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>194 <p>Copyright·©·1996-2025·<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.18.2/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="0176791393-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="0176791393-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="1746384119-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="1746384119-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="0176791393-2">(</span><span·class="p"·data-group-id="0176791393-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="1746384119-2">(</span><span·class="p"·data-group-id="1746384119-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="0176791393-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="0176791393-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="1746384119-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="1746384119-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="9011646066-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="9011646066-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="8899660675-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="8899660675-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
144 ··</span><span·class="p"·data-group-id="9011646066-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9011646066-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:·2df4dd1321870373dde2273780b74b7431e4a23e55baaed5bd37d9fe1e46638c·...·]-4">)</span><span·class="p">,</span><span·class="w">144 ··</span><span·class="p"·data-group-id="8899660675-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8899660675-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:·6bab2817ebd1b1ffc9c8d0e2b22ad3b7c24c8c1d371b1e35ec3a79f6f57210c2·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>768 <p>Copyright·©·1996-2025·<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.18.2/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="0922134863-1">[</span><span·class="p"·data-group-id="0922134863-2">{</span><span·class="p"·data-group-id="0922134863-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="0922134863-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">g</span><span·class="p"·data-group-id="0922134863-2">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0922134863-4">{</span><span·class="p"·data-group-id="0922134863-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="0922134863-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="p"·data-group-id="0922134863-4">}</span><span·class="p"·data-group-id="0922134863-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="0797728990-1">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0797728990-2">[</span><span·class="p"·data-group-id="0797728990-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0797728990-3">[</span><span·class="mi">0</span><span·class="p"·data-group-id="0797728990-3">]</span><span·class="p"·data-group-id="0797728990-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="0797728990-4">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0797728990-5">[</span><span·class="mi">3</span><span·[·...·truncated·by·diffoscope;·len:·447,·SHA:·2f9e65b1b40408239f9a08f88b40266d8193a8134baf489e94d403894dd18969·...·]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:·b88b19874bec01ca676c20c19b2828d8595b9326f0b2feceec11fd63d46cfbf5·...·]
 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="6224249800-1">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6224249800-2">[</span><span·class="p"·data-group-id="6224249800-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6224249800-3">[</span><span·class="mi">0</span><span·class="p"·data-group-id="6224249800-3">]</span><span·class="p"·data-group-id="6224249800-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="6224249800-4">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6224249800-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="6224249800-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6224249800-6">[</span><span·class="mi">1</span><span·class="p"·data-group-id="6224249800-6">]</span><span·class="p"·data-group-id="6224249800-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="2701395091-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2701395091-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:·54d241678b3afd56fe66b83953cd51a7c3fedaeb1f74ef4f73e1f591ade36b16·...·]-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="4895187669-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4895187669-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:·6d203c24387e199bb827990ed73f17c49f2f332920ccfaf9900d0ca92483dda6·...·]-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="2701395091-4">{</span><span·class="p"·data-group-id="2701395091-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="2701395091-5">]</span><span[·...·truncated·by·diffoscope;·len:·460,·SHA:·844f76a32144a7b580eb1f05d93e47bd47f39d015dc9f5772a8aa281d36d0b54·...·]-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="4895187669-4">{</span><span·class="p"·data-group-id="4895187669-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="4895187669-5">]</span><span[·...·truncated·by·diffoscope;·len:·460,·SHA:·b9328e6ed0592f3f9778091756bc0616c7e8abf0d912aff85c7db810c66087b0·...·]-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="0901686530-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0901686530-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:·d2843f6bb95ee9cdef7962ec51c294f0b740716d0c95763e6a4ef0b970391c27·...·]-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="3350314131-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3350314131-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:·ef54c64fba3e240b94e20b6c3b51b53c5b672f1a717f25603477cbf927e7f808·...·]-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="0901686530-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0901686530-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="0901686530-6">[</span><span·class="ss">&#39;NAME&#39;</span><span·class="p"·data-group-id="0901686530-6">]</span><span·class="p"·data-group-id="0901686530-5">}</span><span·class="p"·data-group-id="0901686530-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="2278825395-1">{</span><sp[·...·truncated·by·diffoscope;·len:·577,·SHA:·9bb05c60383128381f787f8583183f38beaac8e08caa3f3712aaeb4139ec34d0·...·]244 </span><span·class="p"·data-group-id="3350314131-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3350314131-5">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·466,·SHA:·5b36ea6a6d97975d42d1755f51376df4cc27a5aef36beb5b7fe793e8a2035d96·...·]
 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="0872861964-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0872861964-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="0872861964-3">[</span><span·class="mi">16#2543</span><span·class="p"·data-group-id="0872861964-3">]</span><span·class="p"·data-group-id="0872861964-2">}</span><span·class="p"·data-group-id="0872861964-1">}</span><span·class="p">.</span><span·class="w">
246 </span><span·class="p"·data-group-id="2278825395-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2278825395-5">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generic[·...·truncated·by·diffoscope;·len:·293,·SHA:·9553d3f0ffdfa2e3988921b63c087bd162f3a01ea104c444657f91f3174f444c·...·]-4">}</span><span·class="p">.</span></code></pre><h2·id="default-instrumentation"·class="section-heading">246 </span><span·class="p"·data-group-id="0872861964-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0872861964-5">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generic[·...·truncated·by·diffoscope;·len:·293,·SHA:·bc6dc23d4f5a55ba38c2c6886c2da9e39e8f90980ca6f318e47a0c92d31c81c5·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>350 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>258 <p>Copyright·©·1996-2025·<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.7 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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="9928686458-1">{</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="9928686458-2">[</span><span·class="p"·data-group-id="9928686458-3">{</span><span·class="ss">transportDomainUdpIpv4<[·...·truncated·by·diffoscope;·len:·560,·SHA:·8f00e138b31ac11d93e04d85392ee3a7fbf6c59593d57fb86d59801ab15c5b2c·...·]8-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="7851263148-1">{</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="7851263148-2">[</span><span·class="p"·data-group-id="7851263148-3">{</span><span·class="ss">transportDomainUdpIpv4<[·...·truncated·by·diffoscope;·len:·560,·SHA:·fb8cffbae2e9aec4c4f84da7e2262f1d3ac3fe2e6e4bc84be098ba251ec97e54·...·]8-3">}</span><span·class="p">,</span><span·class="w">
153 ····················</span><span·class="p"·data-group-id="9928686458-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9928686458-7">{</span><span·class="p"·data-group-id="9928686458-8">{</span><span·class="mi">0</span><span·cla[·...·truncated·by·diffoscope;·len:·662,·SHA:·db897a38429de80ae14743e497836f6dfb913f7bdadea36db5af9c1e193b908d·...·]8-1">}</span><span·class="p">.</span><span·class="w">153 ····················</span><span·class="p"·data-group-id="7851263148-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7851263148-7">{</span><span·class="p"·data-group-id="7851263148-8">{</span><span·class="mi">0</span><span·cla[·...·truncated·by·diffoscope;·len:·662,·SHA:·1bee7ece6d03e4af097747e04e5fe21045dfb376ce8a07177d21669a144fb776·...·]8-1">}</span><span·class="p">.</span><span·class="w">
154 </span><span·class="p"·data-group-id="9928686458-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="9928686458-9">}</span><span·class="p">.</span><span·class="w">154 </span><span·class="p"·data-group-id="7851263148-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="7851263148-9">}</span><span·class="p">.</span><span·class="w">
155 </span><span·class="p"·data-group-id="9928686458-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="9928686458-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="7851263148-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="7851263148-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="1986352647-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="1986352647-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="6577661473-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="6577661473-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="1986352647-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:·0b5d77fe8d6090c82986d1d3fe14f9461dc0b301ba81d462418ac3e5a2003de2·...·]-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="6577661473-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:·0d75dfa8a9bec648e1426dfb6125bf56b01c9e7ea922ac1ee3bb8dd4b52651b1·...·]-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="1986352647-3">[</span><span·class="p"·data-group-id="1986352647-4">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1986352647-5">{</span><span·class="n">Addr4</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="1986352647-5">}</span><span·class="p"·data-group-id="1986352647-4">}</span><span·class="p">,</span><span·class="w"> 
161 ·················</span><span·class="p"·data-group-id="1986352647-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1986352647-7">{</span><span·class="n">Addr6</span><spa[·...·truncated·by·diffoscope;·len:·223,·SHA:·6041471835e37b4224d0bf488e44dbb626ec2f0da8a1ce82a08c331115395fd8·...·]</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="6577661473-3">[</span><span·class="p"·data-group-id="6577661473-4">{</span><span·class="ss">transportDomainUdp[·...·truncated·by·diffoscope;·len:·314,·SHA:·902f828facc4ebb084314bc0e2ff7f9b2db586328e24e6fd1f853f61d5a3195d·...·]</span><span·class="p">,</span><span·class="w">
 161 ·················</span><span·class="p"·data-group-id="6577661473-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6577661473-7">{</span><span·class="n">Addr6</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="6577661473-7">}</span><span·class="p"·data-group-id="6577661473-6">}</span><span·class="p"·data-group-id="6577661473-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="1986352647-8">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">manager_entry</span><span·class="p"·data-group-id="1986352647-9">(</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</spa[·...·truncated·by·diffoscope;·len:·76,·SHA:·0e31567b03fa6b47c177ac3f63b1baaf66b2d5ae89d3639fe995cfaf2bbc2918·...·]-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="6577661473-8">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">manager_entry</span><span·class="p"·data-group-id="6577661473-9">(</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</spa[·...·truncated·by·diffoscope;·len:·76,·SHA:·dd79ded63e601ae3f4836f97ce441bf7ff035a43238b73b014a00bdcfaadc6ee·...·]-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="1986352647-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="1986352647-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="6577661473-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="6577661473-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="1986352647-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="1986352647-11">)</span><span·class="p"·data-group-id="1986352647-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="6577661473-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="6577661473-11">)</span><span·class="p"·data-group-id="6577661473-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="1986352647-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="1986352647-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="6577661473-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="6577661473-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="6290530041-1">(</span><span·class="p"·data-group-id="6290530041-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="0692064672-1">(</span><span·class="p"·data-group-id="0692064672-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="6290530041-2">(</span><span·class="p"·data-group-id="6290530041-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="0692064672-2">(</span><span·class="p"·data-group-id="0692064672-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="6290530041-3">[</span><span·class="p"·data-group-id="6290530041-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="6290530041-4">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·548,·SHA:·22e118cfd12d547ea909a289c0d1f85a91e8d0f8f8e9edee9c244e4bd3328b2b·...·]-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="0692064672-3">[</span><span·class="p"·data-group-id="0692064672-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="0692064672-4">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·548,·SHA:·f449657df62421121fc47ad6fa34adb66cf5d658be4254ea07c3da5359a14e7a·...·]-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="6290530041-7">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">users_entry</span><span·class="p"·data-group-id="6290530041-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="0692064672-7">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">users_entry</span><span·class="p"·data-group-id="0692064672-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="6290530041-8">)</span><span·class="p"·data-group-id="6290530041-7">]</span><span·class="p">,</span><span·class="w">182 ······································</span><span·class="n">DefaultAgentConfig</span><span·class="p"·data-group-id="0692064672-8">)</span><span·class="p"·data-group-id="0692064672-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="6290530041-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="6290530041-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="0692064672-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="0692064672-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.2.7/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.2.7/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="8933941779-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">agents_entry</span><span·class="p"·data-group-id="8933941779-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="4609568758-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">agents_entry</span><span·class="p"·data-group-id="4609568758-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="8933941779-3">{</span><span·class="p"·data-group-id="8933941779-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:·cb767b4b8256ed171dfd29f7c158c94c242d1156fb21d33c09988533fcc100fc·...·]-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="4609568758-3">{</span><span·class="p"·data-group-id="4609568758-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:·6405ede8d4ecc596a7d7988a649c1b85afeb55b4a86039ea4e05aa161efe17a2·...·]-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="8933941779-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="4609568758-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="8933941779-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="4609568758-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="8933941779-6">{</span><span·class="p"·data-group-id="8933941779-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:·4b635677270dfe43ef8db203ccc5262091e7ce28342ce2ae044dba8d5d09179b·...·]-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="4609568758-6">{</span><span·class="p"·data-group-id="4609568758-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:·70304f89f3877f657a70bc822330d27845c152e679d70d9139fa0e4ed20fdeff·...·]-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="8933941779-5">)</span><span·class="p"·data-group-id="8933941779-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="4609568758-5">)</span><span·class="p"·data-group-id="4609568758-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="8933941779-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="8933941779-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="4609568758-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="4609568758-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="3843634819-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">usm_entry</span><span·class="p"·data-group-id="3843634819-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="7888019151-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">usm_entry</span><span·class="p"·data-group-id="7888019151-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="3843634819-3">[</span><span·class="p"·data-group-id="3843634819-3">]</span><span·class="p">,</span><span·class="w">239 »       ·»       »       »       ···</span><span·class="p"·data-group-id="7888019151-3">[</span><span·class="p"·data-group-id="7888019151-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="3843634819-4">[</span><span·class="p"·data-group-id="3843634819-4">]</span><span·class="p"·data-group-id="3843634819-2">)</span><span·class="p"·data-group-id="3843634819-1">]</span><span·class="p">,</span><span·class="w">241 »       ·»       »       »       ···</span><span·class="p"·data-group-id="7888019151-4">[</span><span·class="p"·data-group-id="7888019151-4">]</span><span·class="p"·data-group-id="7888019151-2">)</span><span·class="p"·data-group-id="7888019151-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="3843634819-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="3843634819-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="7888019151-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="7888019151-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>291 <p>Copyright·©·1996-2025·<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.57 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2025·<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.58 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>256 <p>Copyright·©·1996-2025·<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.18.2/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="7532711891-1">(</span><span·class="s">&quot;RFC1213-MIB&quot;</span><span·class="p"·data-group-id="7532711891-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="5307666782-1">(</span><span·class="s">&quot;RFC1213-MIB&quot;</span><span·class="p"·data-group-id="5307666782-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="2848545737-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="8114098297-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="2848545737-2">[</span><span·class="p"·data-group-id="2848545737-3">{</span><span·class="ss">i</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2848545737-4">[</span><span·class="s">&quot;friend_mibs/&quot;</span><span·cl[·...·truncated·by·diffoscope;·len:·291,·SHA:·13e62130cc06bde27015d3353c1c8c6041c281f54338b6b7a2e937540e7fa470·...·]7-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="8114098297-2">[</span><span·class="p"·data-group-id="8114098297-3">{</span><span·class="ss">i</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8114098297-4">[</span><span·class="s">&quot;friend_mibs/&quot;</span><span·cl[·...·truncated·by·diffoscope;·len:·291,·SHA:·39d9c0b5a3d0818c1e4d2c4eecb4c3e33ce091f8e8ebe5192a3feb803e3629ff·...·]7-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="7038645036-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="9123104248-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="7038645036-2">[</span><span·class="p"·data-group-id="7038645036-3">{</span><span·class="ss">il</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7038645036-4">[</span><span·class="s">&quot;snmp/priv/mibs/&quot;</span><spa[·...·truncated·by·diffoscope;·len:·295,·SHA:·3f2efa16a9b6cccf5fa18d74b0a941b700478609e8359a3b23e0312811945dcb·...·]-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="9123104248-2">[</span><span·class="p"·data-group-id="9123104248-3">{</span><span·class="ss">il</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9123104248-4">[</span><span·class="s">&quot;snmp/priv/mibs/&quot;</span><spa[·...·truncated·by·diffoscope;·len:·295,·SHA:·a0a379ba52a8aae7df408e337b3411a09f68890695970fb1705f2624351621e8·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>267 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>473 <p>Copyright·©·1996-2025·<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.91 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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="7294262481-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="7294262481-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="1195412628-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="1195412628-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="7294262481-2">(</span><span·class="s">&quot;snmp/include/snmp_types.hrl&quot;</span><span·class="p"·data-group-id="7294262481-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="1195412628-2">(</span><span·class="s">&quot;snmp/include/snmp_types.hrl&quot;</span><span·class="p"·data-group-id="1195412628-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1012 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>415 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>791 <p>Copyright·©·1996-2025·<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.45 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>744 <p>Copyright·©·1996-2025·<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.48 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1051 <p>Copyright·©·1996-2025·<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.18.2/doc/html/snmpa.html
    
Offset 3215, 16 lines modifiedOffset 3215, 16 lines modified
3215 ······················AgentName·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>(),3215 ······················AgentName·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>(),
3216 ······················Mib·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),3216 ······················Mib·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>(),
3217 ······················Reason·::·already_loaded·|·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>3217 ······················Reason·::·already_loaded·|·<a·href="../../../../erts-15.2.7/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="8547947182-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="8547947182-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="4555513047-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="4555513047-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="8547947182-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:·4eb964802e29bfce439a123aa268636c1ebbab4aff8b2cc510c4f36d21ca1307·...·]-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="4555513047-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:·881b7592acbd3bcfbee19c7f5a12610dd85f03b3895b255d95fddac5af077e61·...·]-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-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>3326 ·······················InternalReason·::·already_loaded·|·<a·href="../../../../erts-15.2.7/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="9127756366-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="9127756366-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="3610818674-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="3610818674-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="9127756366-2">(</span><span·class="ss">snmp_master_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9127756366-3">[</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·142,·SHA:·d478d34d9c33949a51d10e8f4ae9276ea1a7e504a6977c3aed61bc61cf5e6c56·...·]-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="3610818674-2">(</span><span·class="ss">snmp_master_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3610818674-3">[</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·142,·SHA:·b7e1ba798687feb424f599eeebca3bccfe5188cd9cec4e48b1b643ee747e57b1·...·]-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-15.2.7/doc/html/erlang.html#t:module/0">module</a>(),4297 ··········································Mod·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:module/0">module</a>(),
4298 ··········································Data·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),4298 ··········································Data·::·<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>4300 ··········································Reason·::·<a·href="../../../../erts-15.2.7/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="1512042548-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:·a2865447d2cd6639f2366a86a7d695d274611548d4bffac53b959f9361b24136·...·]-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="2282164840-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:·bff7041b90c2814fba5d7f87b86e09dbd8de0ccf32bc70f817b00bc43ce37046·...·]-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="1512042548-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:·9af381ab2a2f14997572b676f06c3a4b739214fb6a001d3d4dc93eb0a6f987c5·...·]-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="2282164840-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:·da5affea47751b1ef1f581ec8ce54355a29faae211be1eec0e642b3d2d4daa02·...·]-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-15.2.7/doc/html/erlang.html#t:pid/0">pid</a>(),4367 ·······························SubAgent·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:pid/0">pid</a>(),
4368 ·······························Reason·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>4368 ·······························Reason·::·<a·href="../../../../erts-15.2.7/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="3789139141-1">(</span><span·class="n">MAPid</span><span·class="p">,</span><span·class="p"·data-group-id="3789139141-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="3789139141-2">]</span><span·class="p">,</span><span·class="n">SA1</span><span·class="p"·data-group-id="3789139141-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="3789139141-3">(</span><span·class="n">SA1</span><span·class="p">,</span><span·class="p"·data-group-id="3789139141-4">[<[·...·truncated·by·diffoscope;·len:·476,·SHA:·8e11bbb1b1218953d5c1c82a7ae1f08991ce6c75791fa4a99c5022ddc96c9bf0·...·]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="7676375265-1">(</span><span·class="n">MAPid</span>[·...·truncated·by·diffoscope;·len:·445,·SHA:·1e580e40223a2b05a73c1feca4522bbde4370109092c94fdf74284466566ce1a·...·]
 4373 </span><span·class="nc">snmp_agent</span><span·class="p">:</span><span·class="nf">register_subagent</span><span·class="p"·data-group-id="7676375265-3">(</span><span·class="n">SA1</span><span·class="p">,</span><span·class="p"·data-group-id="7676375265-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="7676375265-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SA2</span><span·class="p"·data-group-id="7676375265-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="7008993615-1">[</span><span·class="nf">address</span><span·class="p"·data-group-id="7008993615-2">(</span><span·class="p"·data-group-id="7008993615-2">)</span><span·class="p"·data-group-id="7008993615-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="7918641263-1">[</span><span·class="nf">address</span><span·class="p"·data-group-id="7918641263-2">(</span><span·class="p"·data-group-id="7918641263-2">)</span><span·class="p"·data-group-id="7918641263-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="7008993615-3">(</span><span·class="p"·data-group-id="7008993615-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="7918641263-3">(</span><span·class="p"·data-group-id="7918641263-3">)</span><span·class="w">
4802 ········</span><span·class="nf">address</span><span·class="p"·data-group-id="7008993615-4">(</span><span·class="p"·data-group-id="7008993615-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="7008993615-5">(</span><span·class="p"·data-group-id="7008993615-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="7008993615-6">(</span><span·class="p"·data-group-id="7008993615-6">)</span><span·class="w"> 
4803 ········</span><span·class="nf">v1_address</span><span·class="p"·data-group-id="7008993615-7">(</span><span·class="p"·data-group-id="7008993615-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7008993615-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="7008993615-8">}</span><span·class="w"> 
4804 ········</span><span·class="nf">v3_address</span><span·class="p"·data-group-id="7008993615-9">(</span><span·class="p"·data-group-id="7008993615-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7008993615-10">{</span><span·c[·...·truncated·by·diffoscope;·len:·337,·SHA:·85fba369efa9463610f83e002839837f2e2ccac43c81c3f72e81bb2cd3e388bb·...·]</span><span·class="w">4802 ········</span><span·class="nf">address</span><span·class="p"·data-group-id="7918641263-4">(</span><span·class="p"·data-group-id="7918641263-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:·140019a699bcedb4f6bc83b8e24f4fcd7a25abbcb853207b99721beef7287413·...·]</span><span·class="w">
 4803 ········</span><span·class="nf">v1_address</span><span·class="p"·data-group-id="7918641263-7">(</span><span·class="p"·data-group-id="7918641263-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7918641263-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="7918641263-8">}</span><span·class="w">
 4804 ········</span><span·class="nf">v3_address</span><span·class="p"·data-group-id="7918641263-9">(</span><span·class="p"·data-group-id="7918641263-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7918641263-10">{</span><span·class="p"·data-group-id="7918641263-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="7918641263-11">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">V3MsgData</span><span·class="p"·data-group-id="7918641263-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="7008993615-12">(</span><span·class="p"·data-group-id="7008993615-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="7918641263-12">(</span><span·class="p"·data-group-id="7918641263-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="7008993615-13">(</span><span·class="p"·data-group-id="7008993615-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="7918641263-13">(</span><span·class="p"·data-group-id="7918641263-13">)</span><span·class="w">
4807 ········</span><span·class="nf">tdomain</span><span·class="p"·data-group-id="7008993615-14">(</span><span·class="p"·data-group-id="7008993615-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="7918641263-14">(</span><span·class="p"·data-group-id="7918641263-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="7008993615-15">(</span><span·class="p"·data-group-id="7008993615-15">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7008993615-16">[</span><span·class="n">A1</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·377,·SHA:·daf321b3e43509db0fce80f3e414c96f43fcae13b5c6f0810c36a68e2af6ce06·...·]-16">]</span><span·class="w">4809 ········</span><span·class="nf">taddress</span><span·class="p"·data-group-id="7918641263-15">(</span><span·class="p"·data-group-id="7918641263-15">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7918641263-16">[</span><span·class="n">A1</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·377,·SHA:·247148ae522fd7cbcc0f2afbed1805793cdff7014b4d45dd928643a5090f9a72·...·]-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="7008993615-17">(</span><span·class="p"·data-group-id="7008993615-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="7918641263-17">(</span><span·class="p"·data-group-id="7918641263-17">)</span><span·class="w">
4813 ········</span><span·class="nf">v3_msg_data</span><span·class="p"·data-group-id="7008993615-18">(</span><span·class="p"·data-group-id="7008993615-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="7008993615-19">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·bb595c53808e77f669937fe7a54311ed1dbcc3db294404ffe45675b58594e270·...·]-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="7918641263-18">(</span><span·class="p"·data-group-id="7918641263-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="7918641263-19">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·83c6416d64f76a791e9339fa3653f1051f18a03458a91360c101724c29e7342f·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>5786 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3632 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>243 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>266 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>266 <p>Copyright·©·1996-2025·<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.51 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>273 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>262 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>714 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/doc/html/snmpa_mib_data.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1099 <p>Copyright·©·1996-2025·<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;
645 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>816 <p>Copyright·©·1996-2025·<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.58 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>984 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>479 <p>Copyright·©·1996-2025·<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.57 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>491 <p>Copyright·©·1996-2025·<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.55 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>415 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>324 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>365 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>406 <p>Copyright·©·1996-2025·<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.2 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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="8377011560-1">[</span><span·class="ss">options</span><span·class="p"·data-group-id="8377011560-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="7953641887-1">[</span><span·class="ss">options</span><span·class="p"·data-group-id="7953641887-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>216 <p>Copyright·©·1996-2025·<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.86 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-15.2.7/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-15.2.7/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="0094044996-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="0094044996-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="7405566355-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="7405566355-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="0094044996-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="0094044996-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="7405566355-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="7405566355-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-15.2.7/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-15.2.7/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="2837519095-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="2837519095-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="3826679908-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="3826679908-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="2837519095-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="2837519095-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="3826679908-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="3826679908-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3896 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1313 <p>Copyright·©·1996-2025·<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.45 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>628 <p>Copyright·©·1996-2025·<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.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>557 <p>Copyright·©·1996-2025·<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.6 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>483 <p>Copyright·©·1996-2025·<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.57 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.18.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>698 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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/ssh-5.2.11/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>278 <p>Copyright·©·1996-2025·<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.2.11/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="7971881315-1">(</span><span·class="mi">22</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7971881315-2">[</span><span·class="p"·data-group-id="7971881315-3">{</span><span·class="ss">user</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·624,·SHA:·d86b969c2e83e7f2d6f4cb68f7a46f49f0eafc2129c74ee6110800649343e609·...·]6-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="1045720049-1">(</span><span·class="mi">22</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1045720049-2">[</span><span·class="p"·data-group-id="1045720049-3">{</span><span·class="ss">user</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·624,·SHA:·e3e1e26a122c0a9d08bca10ffd03c954a6fa61d6adc778bc0ce35ef11076dc76·...·]6-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="0186919806-2">[</span><span·class="p"·data-group-id="0186919806-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="0186919806-3">}</span><span·class="p">,</span><span·class="w">146 ·</span><span·class="p"·data-group-id="7073707346-2">[</span><span·class="p"·data-group-id="7073707346-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="7073707346-3">}</span><span·class="p">,</span><span·class="w">
147 ··</span><span·class="p"·data-group-id="0186919806-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="0186919806-4">}</span><span·class="p">,</span><span·class="w">147 ··</span><span·class="p"·data-group-id="7073707346-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="7073707346-4">}</span><span·class="p">,</span><span·class="w">
148 ··</span><span·class="p"·data-group-id="0186919806-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0186919806-6">[</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">148 ··</span><span·class="p"·data-group-id="7073707346-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7073707346-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="0186919806-6">]</span><span·class="p"·data-group-id="0186919806-5">}</span><span·class="p">,</span><span·class="w">150 ·········</span><span·class="ss">ssh_xfer</span><span·class="p"·data-group-id="7073707346-6">]</span><span·class="p"·data-group-id="7073707346-5">}</span><span·class="p">,</span><span·class="w">
151 ··</span><span·class="p"·data-group-id="0186919806-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0186919806-8">[</span><span·class="p"·data-group-id="0186919806-8">]</span><span·class="p"·data-group-id="0186919806-7">}</span><span·class="p">,</span><span·class="w">151 ··</span><span·class="p"·data-group-id="7073707346-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7073707346-8">[</span><span·class="p"·data-group-id="7073707346-8">]</span><span·class="p"·data-group-id="7073707346-7">}</span><span·class="p">,</span><span·class="w">
152 ··</span><span·class="p"·data-group-id="0186919806-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0186919806-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·266,·SHA:·a114a10e572b2be5b130a439b7f3762c25573f35efec2c9d00c6e14138784453·...·]6-9">}</span><span·class="p">,</span><span·class="w">152 ··</span><span·class="p"·data-group-id="7073707346-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7073707346-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·266,·SHA:·4482711dbd1f6cb588af3321e7d7385ba8a442922fe6982eb3c6dd9226b2ddb5·...·]6-9">}</span><span·class="p">,</span><span·class="w">
153 ··</span><span·class="p"·data-group-id="0186919806-11">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0186919806-12">[</span><span·class="p"·data-group-id="0186919806-13">{</span><span·class="ss">user</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·128,·SHA:·846f429676cdfa775860e10c44bef94edf8df1a691c63a03468521bbade2814d·...·]6-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="7073707346-11">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7073707346-12">[</span><span·class="p"·data-group-id="7073707346-13">{</span><span·class="ss">user</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·128,·SHA:·58c2d7f56c713cdf6a1702e1f7066dc771fd16d8c2b9022b0f67adb38e5f3ebb·...·]6-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="0186919806-14">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0186919806-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:·177,·SHA:·88ca23a18ec45abca2b1cbe3bc1185a8f58f5808f654b8ae34fdff60e2c4c821·...·]6-14">}</span><span·class="p">,</span><span·class="w">154 ··</span><span·class="p"·data-group-id="7073707346-14">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7073707346-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:·177,·SHA:·2007fc03ae46f2b154d35d77ae7b87e8d7ff23e01866099d481cf65562912483·...·]6-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="6856862416-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="0449280135-1">[</span><span·class="w">
156 </span><span·class="p"·data-group-id="6856862416-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6856862416-3">[</span><span·class="p"·data-group-id="6856862416-4">{</span><span·class="ss">user</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·208,·SHA:·6d279c46069faefa38a2d78e81fd8dd2cfb3550b9ee2b3866da2d48d425a5cf7·...·]-2">}</span><span·class="w">156 </span><span·class="p"·data-group-id="0449280135-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0449280135-3">[</span><span·class="p"·data-group-id="0449280135-4">{</span><span·class="ss">user</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·208,·SHA:·f5314c9d4f03aefb5a957df7d73d7c38eba4a898a1a01080becd46991a0e3126·...·]-2">}</span><span·class="w">
157 </span><span·class="p"·data-group-id="6856862416-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="0449280135-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="9063412653-1">[</span><span·class="w">158 this·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1188898732-1">[</span><span·class="w">
159 </span><span·class="p"·data-group-id="9063412653-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9063412653-3">[</span><span·class="p"·data-group-id="9063412653-4">{</span><span·class="ss">server_options</span><span·class="p"[·...·truncated·by·diffoscope;·len:·376,·SHA:·61fd9fa588dd04ad1cff1f2ad981dd4447b1e29e8490eee35352d45af27b34a7·...·]-4">}</span><span·class="p">,</span><span·class="w">159 </span><span·class="p"·data-group-id="1188898732-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1188898732-3">[</span><span·class="p"·data-group-id="1188898732-4">{</span><span·class="ss">server_options</span><span·class="p"[·...·truncated·by·diffoscope;·len:·376,·SHA:·5e37a04977728980869c53345a968fff7117dd9072dcdafee6f907a86cdb55c4·...·]-4">}</span><span·class="p">,</span><span·class="w">
160 ·······</span><span·class="p"·data-group-id="9063412653-7">{</span><span·class="ss">client_options</span><span·class="p">,</span><span·class="p"·data-group-id="9063412653-8">[</span><span·class="p"·data-group-id="9063412653-9">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·195,·SHA:·bb64f1c80b71c83cbbb6f168dfb6542220029ccd24aaf447960c054113d7eef6·...·]-7">}</span><span·class="w">160 ·······</span><span·class="p"·data-group-id="1188898732-7">{</span><span·class="ss">client_options</span><span·class="p">,</span><span·class="p"·data-group-id="1188898732-8">[</span><span·class="p"·data-group-id="1188898732-9">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·195,·SHA:·e14836ff8ecb3ba6509998f332b5e130e90f6ce270218a223a6d7d3a74d87fc7·...·]-7">}</span><span·class="w">
161 </span><span·class="p"·data-group-id="9063412653-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="1188898732-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.2.7/doc/html/config.html">OTP·Configuration·Parameters</a></li><li>Level·2:·Options·in·the·<a·href="../../../../lib/kernel-10.2.7/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.2.7/doc/html/config.html">OTP·Configuration·Parameters</a></li><li>Level·2:·Options·in·the·<a·href="../../../../lib/kernel-10.2.7/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="9747981751-1">(</span><span·class="p"·data-group-id="9747981751-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="4978894123-1">(</span><span·class="p"·data-group-id="4978894123-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="9747981751-2">(</span><span·class="p"·data-group-id="9747981751-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="4978894123-2">(</span><span·class="p"·data-group-id="4978894123-2">)</span><span·class="p">.</span><span·class="w">
235 </span><span·class="p"·data-group-id="9747981751-3">[</span><span·class="p"·data-group-id="9747981751-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="9747981751-5">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·9c4ea161d1b719cb5f9da39df6ba4b7a40322c84586d1ef57ee45350881c9829·...·]-4">}</span><span·class="p">,</span><span·class="w">235 </span><span·class="p"·data-group-id="4978894123-3">[</span><span·class="p"·data-group-id="4978894123-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="4978894123-5">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·5c4ca06e367c7ae5f26f41a6e4a1dfe19b00ad10d1106d57918d2c7ce0d760e6·...·]-4">}</span><span·class="p">,</span><span·class="w">
236 ·</span><span·class="p"·data-group-id="9747981751-6">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="9747981751-7">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p"·data-group-id="9747981751-7">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·e590ec8606c61c13d259122c3e240d45363e25724dd10ccf7b4dae1bae9bc108·...·]-6">}</span><span·class="p">,</span><span·class="w">236 ·</span><span·class="p"·data-group-id="4978894123-6">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="4978894123-7">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p"·data-group-id="4978894123-7">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·e45933dc84aef367fdee210723701401e31a05be2c7160782a208783ff6f3394·...·]-6">}</span><span·class="p">,</span><span·class="w">
237 ·</span><span·class="p"·data-group-id="9747981751-8">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="9747981751-9">[</span><span·class="p"·data-group-id="9747981751-10">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class=[·...·truncated·by·diffoscope;·len:·181,·SHA:·9a002680cb7dbcfd2b3b1943181831b5e83e0268e65637b3e234b6516626ac4c·...·]-10">}</span><span·class="p">,</span><span·class="w">237 ·</span><span·class="p"·data-group-id="4978894123-8">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="4978894123-9">[</span><span·class="p"·data-group-id="4978894123-10">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class=[·...·truncated·by·diffoscope;·len:·181,·SHA:·c5af6464e2378247fb13add9d43109b01ce7e5513524c98ff03f3355b6623c0f·...·]-10">}</span><span·class="p">,</span><span·class="w">
238 ··········</span><span·class="p"·data-group-id="9747981751-12">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="9747981751-13">[</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p"·data-group-id="9747981751-13">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·128,·SHA:·3191df558e81b37726eb478cd7571b262c3fd0ed0d0e9fa1e355bab523b0f0dd·...·]-8">}</span><span·class="p">,</span><span·class="w">238 ··········</span><span·class="p"·data-group-id="4978894123-12">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4978894123-13">[</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p"·data-group-id="4978894123-13">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·128,·SHA:·db28c449613086630e7ce73dd806c9c574186b3fb1ea60df6aad02fe3ef7943e·...·]-8">}</span><span·class="p">,</span><span·class="w">
239 ·</span><span·class="p"·data-group-id="9747981751-14">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="9747981751-15">[</span><span·class="p"·data-group-id="9747981751-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·179,·SHA:·ae7f2edb034cc5e05a7a789829d383e0e2c7aa5c129d8690869ad57c398a22ef·...·]-16">}</span><span·class="p">,</span><span·class="w">239 ·</span><span·class="p"·data-group-id="4978894123-14">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="4978894123-15">[</span><span·class="p"·data-group-id="4978894123-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·179,·SHA:·8299f8e41ae45a8378356e065f1fecda5e13a21036e46fbe942b00887843ab60·...·]-16">}</span><span·class="p">,</span><span·class="w">
240 ·······</span><span·class="p"·data-group-id="9747981751-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="9747981751-19">[</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="9747981751-19">]</span><span·class="p"·data-group-id="9747981751-18">}</span><span·class="p"·data-group-id="9747981751-15">]</span><span·class="p"·data-group-id="9747981751-14">}</span><span·class="p">,</span><span·class="w"> 
241 ·</span><span·class="p"·data-group-id="9747981751-20">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="9747981751-21">[</span><span·class="p"·data-group-id="9747981751-22">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p"·data-group-id="9747981751-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="9747981751-23">]</span><span·class="p"·data-group-id="9747981751-22">}</span><span·class="p">,</span><span·class="w"> 
242 ···············</span><span·class="p"·data-group-id="9747981751-24">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="9747981751-25">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#3[·...·truncated·by·diffoscope;·len:·344,·SHA:·9797013d6b4bf17dae5c637a18517237724d773eb06d8694cf4a14d285ab2561·...·]</span><span·class="w">240 ·······</span><span·class="p"·data-group-id="4978894123-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4978894123-19">[</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="497889[·...·truncated·by·diffoscope;·len:·196,·SHA:·547631626417560e40abb7299d92b16d71355bbb5a79bcacf42f96199d4a9ac9·...·]</span><span·class="w">
 241 ·</span><span·class="p"·data-group-id="4978894123-20">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="4978894123-21">[</span><span·class="p"·data-group-id="4978894123-22">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p"·data-group-id="4978894123-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="4978894123-23">]</span><span·class="p"·data-group-id="4978894123-22">}</span><span·class="p">,</span><span·class="w">
 242 ···············</span><span·class="p"·data-group-id="4978894123-24">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4978894123-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="4978894123-25">]</span><span·class="p"·data-group-id="4978894123-24">}</span><span·class="p"·data-group-id="4978894123-21">]</span><span·class="p"·data-group-id="4978894123-20">}</span><span·class="p"·data-group-id="4978894123-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="8232139986-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="8232139986-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:·0a04a67b2a312232da9de96b977fb7067ef139a62a5e2e5847e669b568c1f272·...·]-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="4358824573-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="4358824573-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:·fa08a35c38840b9595c5e7a6f32aed353c366cc4f6e3c0eb08cddeee81c6dd31·...·]-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="8232139986-3">[</span><span·class="p"·data-group-id="8232139986-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">256 ························</span><span·class="p"·data-group-id="4358824573-3">[</span><span·class="p"·data-group-id="4358824573-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">
257 ·································</span><span·class="p"·data-group-id="8232139986-5">[</span><span·class="p"·data-group-id="8232139986-6">{</span><span·class="ss">rm</span><span·class="p">,</span><span·class="w">257 ·································</span><span·class="p"·data-group-id="4358824573-5">[</span><span·class="p"·data-group-id="4358824573-6">{</span><span·class="ss">rm</span><span·class="p">,</span><span·class="w">
258 ·····································</span><span·class="p"·data-group-id="8232139986-7">[</span><span·class="w">·</span><span·class="p"·data-group-id="8232139986-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8232139986-9">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><[·...·truncated·by·diffoscope;·len:·170,·SHA:·254c464570641c01dfa94cc5984e662898db4daf41093259ade0189a4c62589c·...·]-7">]</span><span·class="w">258 ·····································</span><span·class="p"·data-group-id="4358824573-7">[</span><span·class="w">·</span><span·class="p"·data-group-id="4358824573-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="4358824573-9">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><[·...·truncated·by·diffoscope;·len:·170,·SHA:·4175a615339089828fad1bb22720d4640cfb04753564bced7e86fb99bf518155·...·]-7">]</span><span·class="w">
259 »       »       »       »       ··</span><span·class="p"·data-group-id="8232139986-6">}</span><span·class="p">,</span><span·class="w">259 »       »       »       »       ··</span><span·class="p"·data-group-id="4358824573-6">}</span><span·class="p">,</span><span·class="w">
260 ··································</span><span·class="p"·data-group-id="8232139986-10">{</span><span·class="ss">append</span><span·class="p">,</span><span·class="w">260 ··································</span><span·class="p"·data-group-id="4358824573-10">{</span><span·class="ss">append</span><span·class="p">,</span><span·class="w">
261 »       »       »       ·············</span><span·class="p"·data-group-id="8232139986-11">[</span><span·class="w">·</span><span·class="p"·data-group-id="8232139986-12">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8232139986-13">[</span><span·class="ss">&#39;curve25519-sha256@libssh.org[·...·truncated·by·diffoscope;·len:·185,·SHA:·79f078736da8b4849e50b137ea1d6671d6db40dcedc5806abf0505e367a1a096·...·]-11">]</span><span·class="w">261 »       »       »       ·············</span><span·class="p"·data-group-id="4358824573-11">[</span><span·class="w">·</span><span·class="p"·data-group-id="4358824573-12">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="4358824573-13">[</span><span·class="ss">&#39;curve25519-sha256@libssh.org[·...·truncated·by·diffoscope;·len:·185,·SHA:·e22d876c60dee2e4a9b7281cfa989a328ed9c0796b5cc693f25827a003887b3d·...·]-11">]</span><span·class="w">
262 »       »       »       »       ··</span><span·class="p"·data-group-id="8232139986-10">}</span><span·class="w">262 »       »       »       »       ··</span><span·class="p"·data-group-id="4358824573-10">}</span><span·class="w">
263 »       »       »       »       ·</span><span·class="p"·data-group-id="8232139986-5">]</span><span·class="w">263 »       »       »       »       ·</span><span·class="p"·data-group-id="4358824573-5">]</span><span·class="w">
264 »       ·················</span><span·class="p"·data-group-id="8232139986-4">}</span><span·class="w">264 »       ·················</span><span·class="p"·data-group-id="4358824573-4">}</span><span·class="w">
265 ························</span><span·class="p"·data-group-id="8232139986-3">]</span><span·class="p"·data-group-id="8232139986-2">)</span><span·class="p">.</span><span·class="w">265 ························</span><span·class="p"·data-group-id="4358824573-3">]</span><span·class="p"·data-group-id="4358824573-2">)</span><span·class="p">.</span><span·class="w">
266 </span><span·class="p"·data-group-id="8232139986-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="8232139986-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="4358824573-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="4358824573-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="9153731980-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="9153731980-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="2568936388-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="2568936388-1">)</span><span·class="p">.</span><span·class="w">
268 </span><span·class="p"·data-group-id="9153731980-2">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="9153731980-3">[</span><span·class="p"·data-group-id="9153731980-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss">&#[·...·truncated·by·diffoscope;·len:·84,·SHA:·edb5385768589a1304e608a26a4c7b6bd7494c61928a9efa2aac984d6cf4faec·...·]-4">}</span><span·class="p">,</span><span·class="w">268 </span><span·class="p"·data-group-id="2568936388-2">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="2568936388-3">[</span><span·class="p"·data-group-id="2568936388-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss">&#[·...·truncated·by·diffoscope;·len:·84,·SHA:·5a10d67953968b6e0440f90d04d8c92bbb7215b73713e74692015c2339f0077d·...·]-4">}</span><span·class="p">,</span><span·class="w">
269 ·············</span><span·class="p"·data-group-id="9153731980-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="9153731980-5">}</span><span·class="p">,</span><span·class="w">269 ·············</span><span·class="p"·data-group-id="2568936388-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="2568936388-5">}</span><span·class="p">,</span><span·class="w">
270 ·············</span><span·class="p"·data-group-id="9153731980-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="9153731980-6">}</span><span·class="p">,</span><span·class="w">270 ·············</span><span·class="p"·data-group-id="2568936388-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="2568936388-6">}</span><span·class="p">,</span><span·class="w">
271 ·············</span><span·class="p"·data-group-id="9153731980-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="9153731980-7">}</span><span·class="p">,</span><span·class="w">271 ·············</span><span·class="p"·data-group-id="2568936388-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="2568936388-7">}</span><span·class="p">,</span><span·class="w">
272 ·············</span><span·class="p"·data-group-id="9153731980-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="9153731980-8">}</span><span·class="p">,</span><span·class="w">272 ·············</span><span·class="p"·data-group-id="2568936388-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="2568936388-8">}</span><span·class="p">,</span><span·class="w">
273 ·············</span><span·class="p"·data-group-id="9153731980-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="9153731980-9">}</span><span·class="p">,</span><span·class="w">273 ·············</span><span·class="p"·data-group-id="2568936388-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="2568936388-9">}</span><span·class="p">,</span><span·class="w">
274 ·············</span><span·class="p"·data-group-id="9153731980-10">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="9153731980-10">}</span><span·class="p">,</span><span·class="w">274 ·············</span><span·class="p"·data-group-id="2568936388-10">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="2568936388-10">}</span><span·class="p">,</span><span·class="w">
275 ·············</span><span·class="p"·data-group-id="9153731980-11">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="9153731980-11">}</span><span·class="p">,</span><span·class="w">275 ·············</span><span·class="p"·data-group-id="2568936388-11">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="2568936388-11">}</span><span·class="p">,</span><span·class="w">
276 ·············</span><span·class="p"·data-group-id="9153731980-12">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="9153731980-12">}</span><span·class="p">,</span><span·class="w">276 ·············</span><span·class="p"·data-group-id="2568936388-12">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="2568936388-12">}</span><span·class="p">,</span><span·class="w">
277 ·············</span><span·class="p"·data-group-id="9153731980-13">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="9153731980-13">}</span><span·class="p"·data-group-id="9153731980-3">]</span><span·class="p"·data-group-id="915373[·...·truncated·by·diffoscope;·len:·4,·SHA:·051c2e380d07844ffaca43743957f8c0efe2bdf74c6c1e6a9dcccb8d1a3c596b·...·]-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="2568936388-13">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="2568936388-13">}</span><span·class="p"·data-group-id="2568936388-3">]</span><span·class="p"·data-group-id="256893[·...·truncated·by·diffoscope;·len:·4,·SHA:·e78ade91a0871b5028c74aa0c7be53d54c3c00563fefd5f320d80ba18826f590·...·]-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="6432470288-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="0110879857-1">[</span><span·class="w">
283 ·</span><span·class="p"·data-group-id="6432470288-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6432470288-3">[</span><span·class="p"·data-group-id="6432470288-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">283 ·</span><span·class="p"·data-group-id="0110879857-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0110879857-3">[</span><span·class="p"·data-group-id="0110879857-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">
284 ·········</span><span·class="p"·data-group-id="6432470288-5">[</span><span·class="w">·</span><span·class="p"·data-group-id="6432470288-6">{</span><span·class="ss">prepend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6432470288-7">[</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·481,·SHA:·ec41caba2027e220e63d5bb885ea363356747e6f22f5dbcdde438f20ea21c11e·...·]-5">]</span><span·class="w">284 ·········</span><span·class="p"·data-group-id="0110879857-5">[</span><span·class="w">·</span><span·class="p"·data-group-id="0110879857-6">{</span><span·class="ss">prepend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0110879857-7">[</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·481,·SHA:·35199be9f8f537717ec21e488a1db14cc15d33f3108253b5745ab1c559ffe421·...·]-5">]</span><span·class="w">
285 ········</span><span·class="p"·data-group-id="6432470288-4">}</span><span·class="p"·data-group-id="6432470288-3">]</span><span·class="p"·data-group-id="6432470288-2">}</span><span·class="w">285 ········</span><span·class="p"·data-group-id="0110879857-4">}</span><span·class="p"·data-group-id="0110879857-3">]</span><span·class="p"·data-group-id="0110879857-2">}</span><span·class="w">
286 </span><span·class="p"·data-group-id="6432470288-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="0110879857-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="1705003577-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="1705003577-2">(</span><span·c[·...·truncated·by·diffoscope;·len:·87,·SHA:·bfb27fc69edf7fa4dd1700faa027c898dd580163f617959125e33758d2b76b48·...·]-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="1930261555-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="1930261555-2">(</span><span·c[·...·truncated·by·diffoscope;·len:·87,·SHA:·b6e2256fdb587e2d9557ab6fbb04763270cd27b9d589345996d955433d8d2894·...·]-1">)</span><span·class="p">.</span><span·class="w">
288 </span><span·class="p"·data-group-id="1705003577-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="1930261555-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="1705003577-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="1930261555-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="9177567264-1">(</span><span·class="p"·data-group-id="9177567264-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="4189457400-1">(</span><span·class="p"·data-group-id="4189457400-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="9177567264-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="9177567264-2">}</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:·1396dbca3cc35a6ae45568cde1945300032d3942279cce4da326b6f0d90d2cf5·...·]-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="4189457400-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="4189457400-2">}</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:·d9f64a48e8caef7b38cbae67aa7a4341a2add929add24487c356be25e0d340b9·...·]-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="9177567264-4">[</span><span·class="p"·data-group-id="9177567264-5">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">294 ························</span><span·class="p"·data-group-id="4189457400-4">[</span><span·class="p"·data-group-id="4189457400-5">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
295 ·························</span><span·class="p"·data-group-id="9177567264-6">[</span><span·class="p"·data-group-id="9177567264-7">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9177567264-8">[</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;[·...·truncated·by·diffoscope;·len:·101,·SHA:·b82ee096e03633766260f02371be62796ba3e6f75ca4780b598f69ad56f14be3·...·]-7">}</span><span·class="p">,</span><span·class="w">295 ·························</span><span·class="p"·data-group-id="4189457400-6">[</span><span·class="p"·data-group-id="4189457400-7">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4189457400-8">[</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;[·...·truncated·by·diffoscope;·len:·101,·SHA:·faee076f513de5f5bc9d2b5570c918bd22f0710c4b0f009055bccaf08c9b5e0e·...·]-7">}</span><span·class="p">,</span><span·class="w">
296 »       »       »       ··</span><span·class="p"·data-group-id="9177567264-9">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9177567264-10">[</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p"·data-group-id="9177567264-10">]</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·5bdd8150f80891f82c428a6e328d2c928e48d81b3efbd07948539d4376da90bd·...·]-9">}</span><span·class="p">,</span><span·class="w">296 »       »       »       ··</span><span·class="p"·data-group-id="4189457400-9">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4189457400-10">[</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p"·data-group-id="4189457400-10">]</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·93026e6bdce2b4584fa27ea24961bca5620ceac5293bdd640dfba67ec322aef2·...·]-9">}</span><span·class="p">,</span><span·class="w">
297 »       »       ··········</span><span·class="p"·data-group-id="9177567264-11">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9177567264-12">[</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="9177567[·...·truncated·by·diffoscope;·len:·57,·SHA:·385f4e9a2e317f2a433e36880dfa16aa36b96a2cd754c017883c48177d687be8·...·]-11">}</span><span·class="p">,</span><span·class="w">297 »       »       ··········</span><span·class="p"·data-group-id="4189457400-11">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4189457400-12">[</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="4189457[·...·truncated·by·diffoscope;·len:·57,·SHA:·4337ac1d974dbc04f23d7cc77646cb7c3db681a0152e24223398997a576462be·...·]-11">}</span><span·class="p">,</span><span·class="w">
298 »       »       »       ··</span><span·class="p"·data-group-id="9177567264-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9177567264-14">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p"·data-group-id="9177567264-14">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·37b5320f437a027e4ecb9cd2d1946254767e6edf663342c6796d3d29fbdee983·...·]-13">}</span><span·class="p">,</span><span·class="w">298 »       »       »       ··</span><span·class="p"·data-group-id="4189457400-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4189457400-14">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p"·data-group-id="4189457400-14">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·779b2f303242809b15948f61c3b582174bc6772422fa599e83478faca7ff72a8·...·]-13">}</span><span·class="p">,</span><span·class="w">
299 »       »       »       ··</span><span·class="p"·data-group-id="9177567264-15">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9177567264-16">[</span><span·class="ss">none</span><span·class="p"·data-group-id="9177567264-16">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·5829a68155cba5a671cbc749cb7a0d611f186e6858c4cbd64ae13a1cbbbc05e4·...·]-15">}</span><span·class="w">299 »       »       »       ··</span><span·class="p"·data-group-id="4189457400-15">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4189457400-16">[</span><span·class="ss">none</span><span·class="p"·data-group-id="4189457400-16">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·d388c9fea5d786a89a72b3e4ffea0361d672293d44325fdb4522d85d682b2021·...·]-15">}</span><span·class="w">
300 »       »       »       ··</span><span·class="p"·data-group-id="9177567264-6">]</span><span·class="p"·data-group-id="9177567264-5">}</span><span·class="w">300 »       »       »       ··</span><span·class="p"·data-group-id="4189457400-6">]</span><span·class="p"·data-group-id="4189457400-5">}</span><span·class="w">
301 »       »       »       ·</span><span·class="p"·data-group-id="9177567264-4">]</span><span·class="p"·data-group-id="9177567264-3">)</span><span·class="p">.</span><span·class="w">301 »       »       »       ·</span><span·class="p"·data-group-id="4189457400-4">]</span><span·class="p"·data-group-id="4189457400-3">)</span><span·class="p">.</span><span·class="w">
302 </span><span·class="p"·data-group-id="9177567264-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="9177567264-17">}</span><span·class="gp·unselectable">302 </span><span·class="p"·data-group-id="4189457400-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="4189457400-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="9177567264-18">(</span><span·class="n">C</span><span·class="p">,</span><span·class="ss">algorithms</span><span·class="p"·data-group-id="9177567264-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="4189457400-18">(</span><span·class="n">C</span><span·class="p">,</span><span·class="ss">algorithms</span><span·class="p"·data-group-id="4189457400-18">)</span><span·class="p">.</span><span·class="w">
304 </span><span·class="p"·data-group-id="9177567264-19">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="9177567264-20">[</span><span·class="p"·data-group-id="9177567264-21">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·77,·SHA:·bcfa2b2b2cff29a0587f93ce99454ad4b98fab9414d14ea61d2043d6a241d40d·...·]-21">}</span><span·class="p">,</span><span·class="w">304 </span><span·class="p"·data-group-id="4189457400-19">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="4189457400-20">[</span><span·class="p"·data-group-id="4189457400-21">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·77,·SHA:·aeae0194829590ccccb196d8fc635219295f7f87dc0376613c5de0d9b8a61b89·...·]-21">}</span><span·class="p">,</span><span·class="w">
305 ·············</span><span·class="p"·data-group-id="9177567264-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="9177567264-22">}</span><span·class="p">,</span><span·class="w">305 ·············</span><span·class="p"·data-group-id="4189457400-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="4189457400-22">}</span><span·class="p">,</span><span·class="w">
306 ·············</span><span·class="p"·data-group-id="9177567264-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="9177567264-23">}</span><span·class="p">,</span><span·class="w">306 ·············</span><span·class="p"·data-group-id="4189457400-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="4189457400-23">}</span><span·class="p">,</span><span·class="w">
307 ·············</span><span·class="p"·data-group-id="9177567264-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="9177567264-24">}</span><span·class="p">,</span><span·class="w">307 ·············</span><span·class="p"·data-group-id="4189457400-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="4189457400-24">}</span><span·class="p">,</span><span·class="w">
308 ·············</span><span·class="p"·data-group-id="9177567264-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="9177567264-25">}</span><span·class="p">,</span><span·class="w">308 ·············</span><span·class="p"·data-group-id="4189457400-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="4189457400-25">}</span><span·class="p">,</span><span·class="w">
309 ·············</span><span·class="p"·data-group-id="9177567264-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="9177567264-26">}</span><span·class="p">,</span><span·class="w">309 ·············</span><span·class="p"·data-group-id="4189457400-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="4189457400-26">}</span><span·class="p">,</span><span·class="w">
310 ·············</span><span·class="p"·data-group-id="9177567264-27">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="9177567264-27">}</span><span·class="p">,</span><span·class="w">310 ·············</span><span·class="p"·data-group-id="4189457400-27">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="4189457400-27">}</span><span·class="p">,</span><span·class="w">
311 ·············</span><span·class="p"·data-group-id="9177567264-28">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="9177567264-28">}</span><span·class="p">,</span><span·class="w">311 ·············</span><span·class="p"·data-group-id="4189457400-28">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="4189457400-28">}</span><span·class="p">,</span><span·class="w">
312 ·············</span><span·class="p"·data-group-id="9177567264-29">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="9177567264-29">}</span><span·class="p">,</span><span·class="w">312 ·············</span><span·class="p"·data-group-id="4189457400-29">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="4189457400-29">}</span><span·class="p">,</span><span·class="w">
313 ·············</span><span·class="p"·data-group-id="9177567264-30">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="9177567264-30">}</span><span·class="p"·data-group-id="9177567264-20">]</span><span·class="p"·data-group-id="91775[·...·truncated·by·diffoscope;·len:·5,·SHA:·c2e288dbebc1848b75df113469855ca34d500aceeea6c911133b7aee475fd3e5·...·]-19">}</span><span·class="w">313 ·············</span><span·class="p"·data-group-id="4189457400-30">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="4189457400-30">}</span><span·class="p"·data-group-id="4189457400-20">]</span><span·class="p"·data-group-id="41894[·...·truncated·by·diffoscope;·len:·5,·SHA:·205e5aea5fb2cb2e9ab22f1114bf79162fba05ef54f685cc7acfb43452f470b5·...·]-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/63302 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.2.11/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.5.3/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.5.3/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="4002917420-1">(</span><span·class="p"·data-group-id="4002917420-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="4353235878-1">(</span><span·class="p"·data-group-id="4353235878-1">)</span><span·class="p">.</span><span·class="w">
174 </span><span·class="p"·data-group-id="4002917420-2">[</span><span·class="p"·data-group-id="4002917420-3">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="4002917420-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="4353235878-2">[</span><span·class="p"·data-group-id="4353235878-3">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="4353235878-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="4002917420-4">]</span><span·class="p"·data-group-id="4002917420-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="4353235878-4">]</span><span·class="p"·data-group-id="4353235878-3">}</span><span·class="p">,</span><span·class="w">
181 ·</span><span·class="p"·data-group-id="4002917420-5">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="4002917420-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="4353235878-5">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="4353235878-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="4002917420-6">]</span><span·class="p"·data-group-id="4002917420-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="4353235878-6">]</span><span·class="p"·data-group-id="4353235878-5">}</span><span·class="p">,</span><span·class="w">
184 ·</span><span·class="p"·data-group-id="4002917420-7">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="4002917420-8">[</span><span·class="p"·data-group-id="4002917420-9">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·7a4ba08c350993b9eda9e9518d7c5e047fdadc1815bf53bba0fa378fe80ef3ea·...·]-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="4353235878-7">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="4353235878-8">[</span><span·class="p"·data-group-id="4353235878-9">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·a29b89ad62f2b6e468b54be24d64320f1762647514cad5e3f432176de1783958·...·]-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="4002917420-10">]</span><span·class="p"·data-group-id="4002917420-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="4353235878-10">]</span><span·class="p"·data-group-id="4353235878-9">}</span><span·class="p">,</span><span·class="w">
187 ··········</span><span·class="p"·data-group-id="4002917420-11">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4002917420-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="4353235878-11">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4353235878-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="4002917420-12">]</span><span·class="p"·data-group-id="4002917420-11">}</span><span·class="p"·data-group-id="4002917420-8">]</span><span·class="p"·data-group-id="4002917420-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="4353235878-12">]</span><span·class="p"·data-group-id="4353235878-11">}</span><span·class="p"·data-group-id="4353235878-8">]</span><span·class="p"·data-group-id="4353235878-7">}</span><span·class="p">,</span><span·class="w">
190 ·</span><span·class="p"·data-group-id="4002917420-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="4002917420-14">[</span><span·class="p"·data-group-id="4002917420-15">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·7a4ba08c350993b9eda9e9518d7c5e047fdadc1815bf53bba0fa378fe80ef3ea·...·]-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="4353235878-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="4353235878-14">[</span><span·class="p"·data-group-id="4353235878-15">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·a29b89ad62f2b6e468b54be24d64320f1762647514cad5e3f432176de1783958·...·]-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="4002917420-16">]</span><span·class="p"·data-group-id="4002917420-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="4353235878-16">]</span><span·class="p"·data-group-id="4353235878-15">}</span><span·class="p">,</span><span·class="w">
192 ·······</span><span·class="p"·data-group-id="4002917420-17">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4002917420-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="4353235878-17">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4353235878-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="4002917420-18">]</span><span·class="p"·data-group-id="4002917420-17">}</span><span·class="p"·data-group-id="4002917420-14">]</span><span·class="p"·data-group-id="4002917420-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="4353235878-18">]</span><span·class="p"·data-group-id="4353235878-17">}</span><span·class="p"·data-group-id="4353235878-14">]</span><span·class="p"·data-group-id="4353235878-13">}</span><span·class="p">,</span><span·class="w">
194 ·</span><span·class="p"·data-group-id="4002917420-19">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="4002917420-20">[</span><span·class="p"·data-group-id="4002917420-21">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·297,·SHA:·11673b8bc7e02a46d11454910476c4cb03f0df708437f684bb877f10c42ab76d·...·]-21">}</span><span·class="p">,</span><span·class="w">194 ·</span><span·class="p"·data-group-id="4353235878-19">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="4353235878-20">[</span><span·class="p"·data-group-id="4353235878-21">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·297,·SHA:·8ae9b38102b489d0223180d1e9b07a7bb8a98b087f38cb809639a6deacfa1b7a·...·]-21">}</span><span·class="p">,</span><span·class="w">
195 ···············</span><span·class="p"·data-group-id="4002917420-23">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4002917420-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:·292,·SHA:·28cea68be67a9e49b92a1ec699fc15f013f230bad0c192b71deb6069a169a0eb·...·]-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="4353235878-23">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4353235878-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:·292,·SHA:·3bd44d54caf4b579694d7461fa868e551f844608d12264eb27f913ee45a9231f·...·]-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="0750568603-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="0197514722-1">(</span><span·class="w">
219 ···············</span><span·class="p"·data-group-id="0750568603-2">[</span><span·class="p"·data-group-id="0750568603-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">219 ···············</span><span·class="p"·data-group-id="0197514722-2">[</span><span·class="p"·data-group-id="0197514722-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
220 ·····················</span><span·class="p"·data-group-id="0750568603-4">[</span><span·class="p"·data-group-id="0750568603-5">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0750568603-6">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#3[·...·truncated·by·diffoscope;·len:·103,·SHA:·a585659f4c61b2b1a3c35e44ca7be6ed9d3392ffabe730d5d2811309468295a5·...·]-5">}</span><span·class="w">220 ·····················</span><span·class="p"·data-group-id="0197514722-4">[</span><span·class="p"·data-group-id="0197514722-5">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0197514722-6">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#3[·...·truncated·by·diffoscope;·len:·103,·SHA:·8def4d78b890e3ff6485979bd6483f83c8f9915dfe0df6d993e74cecd6ce3d23·...·]-5">}</span><span·class="w">
221 ·····················</span><span·class="p"·data-group-id="0750568603-4">]</span><span·class="w">221 ·····················</span><span·class="p"·data-group-id="0197514722-4">]</span><span·class="w">
222 ················</span><span·class="p"·data-group-id="0750568603-3">}</span><span·class="w">222 ················</span><span·class="p"·data-group-id="0197514722-3">}</span><span·class="w">
223 ··············</span><span·class="p"·data-group-id="0750568603-2">]</span><span·class="p"·data-group-id="0750568603-1">)</span><span·class="p">.</span><span·class="w">223 ··············</span><span·class="p"·data-group-id="0197514722-2">]</span><span·class="p"·data-group-id="0197514722-1">)</span><span·class="p">.</span><span·class="w">
224 </span><span·class="p"·data-group-id="0750568603-7">[</span><span·class="p"·data-group-id="0750568603-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="0750568603-9">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·79,·SHA:·4422454df90b5b4a84fe83ccc204cd3db17f4021f181e9676be7a74d1a4e147f·...·]-8">}</span><span·class="p">,</span><span·class="w">224 </span><span·class="p"·data-group-id="0197514722-7">[</span><span·class="p"·data-group-id="0197514722-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="0197514722-9">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·79,·SHA:·5fdecbf3e1e2aede8312e4c0235df6b747f0bbf3549f46d6e471fe74b12a2378·...·]-8">}</span><span·class="p">,</span><span·class="w">
225 ·</span><span·class="p"·data-group-id="0750568603-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="0750568603-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="0197514722-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="0197514722-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="0750568603-11">]</span><span·class="p"·data-group-id="0750568603-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="0197514722-11">]</span><span·class="p"·data-group-id="0197514722-10">}</span><span·class="p">,</span><span·class="w">
228 ·</span><span·class="p"·data-group-id="0750568603-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="0750568603-13">[</span><span·class="p"·data-group-id="0750568603-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·b859cdde9b000c43d4da0bf5bc921eb330a17f7c62542639e26c9d24551e5ff2·...·]-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="0197514722-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="0197514722-13">[</span><span·class="p"·data-group-id="0197514722-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·157d204a59ac7c42f2163aadeb80e4ee8080ed064c23e6677a2fb0a48f649ba8·...·]-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="0750568603-15">]</span><span·class="p"·data-group-id="0750568603-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="0197514722-15">]</span><span·class="p"·data-group-id="0197514722-14">}</span><span·class="p">,</span><span·class="w">
231 ··········</span><span·class="p"·data-group-id="0750568603-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0750568603-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="0197514722-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0197514722-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="0750568603-17">]</span><span·class="p"·data-group-id="0750568603-16">}</span><span·class="p"·data-group-id="0750568603-13">]</span><span·class="p"·data-group-id="0750568603-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="0197514722-17">]</span><span·class="p"·data-group-id="0197514722-16">}</span><span·class="p"·data-group-id="0197514722-13">]</span><span·class="p"·data-group-id="0197514722-12">}</span><span·class="p">,</span><span·class="w">
234 ·</span><span·class="p"·data-group-id="0750568603-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="0750568603-19">[</span><span·class="p"·data-group-id="0750568603-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·bca7373352fc072bc6d2f12f82ac4b6085932512ec7928aa1a6c31f67cd0aeca·...·]-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="0197514722-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="0197514722-19">[</span><span·class="p"·data-group-id="0197514722-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·a9aad30262364aa4c1372336666d8d39d99735b11fda73503629d410e2e4a387·...·]-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="0750568603-21">]</span><span·class="p"·data-group-id="0750568603-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="0197514722-21">]</span><span·class="p"·data-group-id="0197514722-20">}</span><span·class="p">,</span><span·class="w">
236 ·······</span><span·class="p"·data-group-id="0750568603-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0750568603-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="0197514722-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0197514722-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="0750568603-23">]</span><span·class="p"·data-group-id="0750568603-22">}</span><span·class="p"·data-group-id="0750568603-19">]</span><span·class="p"·data-group-id="0750568603-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="0197514722-23">]</span><span·class="p"·data-group-id="0197514722-22">}</span><span·class="p"·data-group-id="0197514722-19">]</span><span·class="p"·data-group-id="0197514722-18">}</span><span·class="p">,</span><span·class="w">
238 ·</span><span·class="p"·data-group-id="0750568603-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="0750568603-25">[</span><span·class="p"·data-group-id="0750568603-26">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p"·data-group-id="0750568603-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="0750568603-27">]</span><span·class="p"·data-group-id="0750568603-26">}</span><span·class="p">,</span><span·class="w"> 
239 ···············</span><span·class="p"·data-group-id="0750568603-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0750568603-29">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="s[·...·truncated·by·diffoscope;·len:·517,·SHA:·1691722aab6950c734d479a4e48bfc8203aef1f0d546ce6ac4edf6e7c84ae205·...·]238 ·</span><span·class="p"·data-group-id="0197514722-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="0197514722-25">[</span><span·class="p"·data-group-id="0197514722-26">{</span><span·class="ss">client2serv[·...·truncated·by·diffoscope;·len:·389,·SHA:·8f561a5b07f2ae9a13aa43a775c59f84ceec5a8e66c044a78f709ceeb0d78297·...·]
 239 ···············</span><span·class="p"·data-group-id="0197514722-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0197514722-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="0197514722-29">]</span><span·class="p"·data-group-id="0197514722-28">}</span><span·class="p"·data-group-id="0197514722-25">]</span><span·class="p"·data-group-id="0197514722-24">}</span><span·class="p"·data-group-id="0197514722-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="8320765396-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="6551549628-1">(</span><span·class="w">
248 ···············</span><span·class="p"·data-group-id="8320765396-2">[</span><span·class="p"·data-group-id="8320765396-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">248 ···············</span><span·class="p"·data-group-id="6551549628-2">[</span><span·class="p"·data-group-id="6551549628-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
249 ·····················</span><span·class="p"·data-group-id="8320765396-4">[</span><span·class="p"·data-group-id="8320765396-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="8320765396-6">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·64,·SHA:·428db8e5725e0ef30a20bb50b312f219efc1133a2ee9bf1192bf774824695a9d·...·]-5">}</span><span·class="w">249 ·····················</span><span·class="p"·data-group-id="6551549628-4">[</span><span·class="p"·data-group-id="6551549628-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="6551549628-6">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·64,·SHA:·6d632b2912dc8fc4bad5ff90415bb31396f371f6a7341ca888382955d45fac84·...·]-5">}</span><span·class="w">
250 ·····················</span><span·class="p"·data-group-id="8320765396-4">]</span><span·class="w">250 ·····················</span><span·class="p"·data-group-id="6551549628-4">]</span><span·class="w">
251 ················</span><span·class="p"·data-group-id="8320765396-3">}</span><span·class="w">251 ················</span><span·class="p"·data-group-id="6551549628-3">}</span><span·class="w">
252 ··············</span><span·class="p"·data-group-id="8320765396-2">]</span><span·class="p"·data-group-id="8320765396-1">)</span><span·class="p">.</span><span·class="w">252 ··············</span><span·class="p"·data-group-id="6551549628-2">]</span><span·class="p"·data-group-id="6551549628-1">)</span><span·class="p">.</span><span·class="w">
253 </span><span·class="p"·data-group-id="8320765396-7">[</span><span·class="p"·data-group-id="8320765396-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8320765396-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="6551549628-7">[</span><span·class="p"·data-group-id="6551549628-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="6551549628-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="8320765396-9">]</span><span·class="p"·data-group-id="8320765396-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="6551549628-9">]</span><span·class="p"·data-group-id="6551549628-8">}</span><span·class="p">,</span><span·class="w">
260 ·</span><span·class="p"·data-group-id="8320765396-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="8320765396-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="6551549628-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="6551549628-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="8320765396-11">]</span><span·class="p"·data-group-id="8320765396-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="6551549628-11">]</span><span·class="p"·data-group-id="6551549628-10">}</span><span·class="p">,</span><span·class="w">
263 ·</span><span·class="p"·data-group-id="8320765396-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="8320765396-13">[</span><span·class="p"·data-group-id="8320765396-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·b4f268fcde5ebebdfbe434d62415e5241b5e0534b71ca381d37466907b6fabec·...·]-14">}</span><span·class="p">,</span><span·class="w">263 ·</span><span·class="p"·data-group-id="6551549628-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="6551549628-13">[</span><span·class="p"·data-group-id="6551549628-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·1c9662d79597bfa2bf7bb1757ab8c3bbcf2cad1a93f49b78224bc84c1b57a738·...·]-14">}</span><span·class="p">,</span><span·class="w">
264 ··········</span><span·class="p"·data-group-id="8320765396-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8320765396-17">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id="8320765396-17">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·129,·SHA:·b1e11843b478d3fa9d92816e1db8f5a87ffebb04b948b458426685dbf1029771·...·]-12">}</span><span·class="p">,</span><span·class="w">264 ··········</span><span·class="p"·data-group-id="6551549628-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="6551549628-17">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id="6551549628-17">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·129,·SHA:·ad40a4c3c02406aec488e6cb1ff6a028d40714526e4cfe9bf8602e7f197ca8b2·...·]-12">}</span><span·class="p">,</span><span·class="w">
265 ·</span><span·class="p"·data-group-id="8320765396-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="8320765396-19">[</span><span·class="p"·data-group-id="8320765396-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·1ae43a7431c056b7ba2af89cea81a108cf8d9ffbf5c05df5ff80af0634eedfd4·...·]-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="6551549628-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="6551549628-19">[</span><span·class="p"·data-group-id="6551549628-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·2a5e84b996cccebdc2ca8f05b8ae8b9683a4b9cb4fa01fec9bf6e9356e7d9574·...·]-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="8320765396-21">]</span><span·class="p"·data-group-id="8320765396-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="6551549628-21">]</span><span·class="p"·data-group-id="6551549628-20">}</span><span·class="p">,</span><span·class="w">
267 ·······</span><span·class="p"·data-group-id="8320765396-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8320765396-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="6551549628-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="6551549628-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="8320765396-23">]</span><span·class="p"·data-group-id="8320765396-22">}</span><span·class="p"·data-group-id="8320765396-19">]</span><span·class="p"·data-group-id="8320765396-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="6551549628-23">]</span><span·class="p"·data-group-id="6551549628-22">}</span><span·class="p"·data-group-id="6551549628-19">]</span><span·class="p"·data-group-id="6551549628-18">}</span><span·class="p">,</span><span·class="w">
269 ·</span><span·class="p"·data-group-id="8320765396-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="8320765396-25">[</span><span·class="p"·data-group-id="8320765396-26">{</span><span·class="ss">client2server</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·298,·SHA:·5e700f96cd67a84c74b3baa29b9f903ed5a548ebdc9902cc431ee91a9decba51·...·]-26">}</span><span·class="p">,</span><span·class="w">269 ·</span><span·class="p"·data-group-id="6551549628-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="6551549628-25">[</span><span·class="p"·data-group-id="6551549628-26">{</span><span·class="ss">client2server</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·298,·SHA:·65b3e0895e970f894ba606e6284fe83a47f1b1e706fd6fcc2abcfdc4e8045352·...·]-26">}</span><span·class="p">,</span><span·class="w">
270 ···············</span><span·class="p"·data-group-id="8320765396-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8320765396-29">[</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:·0b47b1b61a3cd07d846f433707f92dce36ef13d5650b4ad259425c95ffae19ac·...·]-7">]</span></code></pre><p>Note·that·both·lists·in·<code·class="inline">cipher</code>·has·been·changed·to·the·provided·value270 ···············</span><span·class="p"·data-group-id="6551549628-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="6551549628-29">[</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:·412f645db2b24ed491019934b757fdfc75e0e301a27e4ec6e5b49fdaa5e5b5a3·...·]-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="7696099716-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="8608719587-1">(</span><span·class="w">
279 ···············</span><span·class="p"·data-group-id="7696099716-2">[</span><span·class="p"·data-group-id="7696099716-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">279 ···············</span><span·class="p"·data-group-id="8608719587-2">[</span><span·class="p"·data-group-id="8608719587-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
280 ·····················</span><span·class="p"·data-group-id="7696099716-4">[</span><span·class="p"·data-group-id="7696099716-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="7696099716-6">[</span><span·class="p"·data-group-id="7696099716-7">{</span><span·class="ss">clie[·...·truncated·by·diffoscope;·len:·337,·SHA:·77a8b3d493f03de4656e6b44370f5f3def964d4b135a6b7f630e467386d7a7b3·...·]-5">}</span><span·class="w">280 ·····················</span><span·class="p"·data-group-id="8608719587-4">[</span><span·class="p"·data-group-id="8608719587-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="8608719587-6">[</span><span·class="p"·data-group-id="8608719587-7">{</span><span·class="ss">clie[·...·truncated·by·diffoscope;·len:·337,·SHA:·c6b73b85af65daa212df891eb5d1e5c6b39f9c703dcabfc402b3bffe8862c3b9·...·]-5">}</span><span·class="w">
281 ·····················</span><span·class="p"·data-group-id="7696099716-4">]</span><span·class="w">281 ·····················</span><span·class="p"·data-group-id="8608719587-4">]</span><span·class="w">
282 ················</span><span·class="p"·data-group-id="7696099716-3">}</span><span·class="w">282 ················</span><span·class="p"·data-group-id="8608719587-3">}</span><span·class="w">
283 ··············</span><span·class="p"·data-group-id="7696099716-2">]</span><span·class="p"·data-group-id="7696099716-1">)</span><span·class="p">.</span><span·class="w">283 ··············</span><span·class="p"·data-group-id="8608719587-2">]</span><span·class="p"·data-group-id="8608719587-1">)</span><span·class="p">.</span><span·class="w">
284 </span><span·class="p"·data-group-id="7696099716-9">[</span><span·class="p"·data-group-id="7696099716-10">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="7696099716-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="8608719587-9">[</span><span·class="p"·data-group-id="8608719587-10">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8608719587-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="7696099716-11">]</span><span·class="p"·data-group-id="7696099716-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="8608719587-11">]</span><span·class="p"·data-group-id="8608719587-10">}</span><span·class="p">,</span><span·class="w">
291 ·</span><span·class="p"·data-group-id="7696099716-12">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="7696099716-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="8608719587-12">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="8608719587-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="7696099716-13">]</span><span·class="p"·data-group-id="7696099716-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="8608719587-13">]</span><span·class="p"·data-group-id="8608719587-12">}</span><span·class="p">,</span><span·class="w">
294 ·</span><span·class="p"·data-group-id="7696099716-14">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="7696099716-15">[</span><span·class="p"·data-group-id="7696099716-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·908a6d59fc301e70f8b7a2ac0bc87062c5511e2df32248d18ab44a26ef5ca3e1·...·]-16">}</span><span·class="p">,</span><span·class="w">294 ·</span><span·class="p"·data-group-id="8608719587-14">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="8608719587-15">[</span><span·class="p"·data-group-id="8608719587-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·1154e76e389f5f03a0bae49468ee23a89c092a6a227b512aa3ce8e4a86fa13bf·...·]-16">}</span><span·class="p">,</span><span·class="w">
295 ··········</span><span·class="p"·data-group-id="7696099716-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="7696099716-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="8608719587-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8608719587-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="7696099716-19">]</span><span·class="p"·data-group-id="7696099716-18">}</span><span·class="p"·data-group-id="7696099716-15">]</span><span·class="p"·data-group-id="7696099716-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="8608719587-19">]</span><span·class="p"·data-group-id="8608719587-18">}</span><span·class="p"·data-group-id="8608719587-15">]</span><span·class="p"·data-group-id="8608719587-14">}</span><span·class="p">,</span><span·class="w">
298 ·</span><span·class="p"·data-group-id="7696099716-20">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="7696099716-21">[</span><span·class="p"·data-group-id="7696099716-22">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·38b024dd25839141ce7f6fcb11b7c69f1227deda40534cf34927410e1fa89a92·...·]-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">298 ·</span><span·class="p"·data-group-id="8608719587-20">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="8608719587-21">[</span><span·class="p"·data-group-id="8608719587-22">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·0304fc3e7e2ffa13522d96fc92612ae3d72ea7d3764ec31e5b6131bfdd1f25e3·...·]-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">
Max diff block lines reached; 69516/128016 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.2.11/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="3260071511-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">,</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·37fc4db47881a91e40ee6e3c57706aa020d7bbbffd7b41197e8705e6289834be·...·]-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="3553478494-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">,</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·b462d5f44f2239fbb7b56e322daa7c43fa36c746fd403c04d706d27af5ee79ce·...·]-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="3260071511-2">(</span><span·class="p"·data-group-id="3260071511-3">{</span><span·class="n">User</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="3260071511-3">}</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·184,·SHA:·d3dc23cc775d86f4e14f732b3a1ce8018ddc7679f170deddb6dd16c85e0e8ae4·...·]-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="3553478494-2">(</span><span·class="p"·data-group-id="3553478494-3">{</span><span·class="n">User</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="3553478494-3">}</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·184,·SHA:·2db2267929dc5ac2cf18885448be36bb17691f3ff77a1499a1ff5bddb633eb61·...·]-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="3260071511-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="3260071511-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="3553478494-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="3553478494-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="3260071511-6">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="3260071511-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="3553478494-6">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="3553478494-6">)</span><span·class="p">,</span><span·class="w">
223 ················</span><span·class="p"·data-group-id="3260071511-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="3260071511-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="3553478494-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="3553478494-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="3260071511-8">(</span><span·class="n">State</span><span·class="p"·data-group-id="3260071511-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="3553478494-8">(</span><span·class="n">State</span><span·class="p"·data-group-id="3553478494-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="3260071511-9">(</span><span·class="n">State</span><span·class="p"·data-group-id="3260071511-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="3553478494-9">(</span><span·class="n">State</span><span·class="p"·data-group-id="3553478494-9">)</span><span·class="p">,</span><span·class="w">
226 ················</span><span·class="p"·data-group-id="3260071511-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="3260071511-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="3553478494-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="3553478494-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="3868333089-1">(</span><span·class="mi">1234</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3868333089-2">[</span><span·class="p"·data-group-id="3868333089-3">{</span><span·class="ss">id_string</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·336,·SHA:·60b4fa911e2282f530d094884a20326dc83f0974639d870844c38cae6934071c·...·]089-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="0374957089-1">(</span><span·class="mi">1234</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0374957089-2">[</span><span·class="p"·data-group-id="0374957089-3">{</span><span·class="ss">id_string</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·336,·SHA:·2e966aa352cdc18171d183bdbbb24c67f7f78e26c7db146f6846c31fe4026059·...·]089-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2025·<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.2.11/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>273 <p>Copyright·©·1996-2025·<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.2.11/doc/html/notes.html
    
Offset 3421, 15 lines modifiedOffset 3421, 15 lines modified
3421 ······<p·class="built-using">3421 ······<p·class="built-using">
3422 ········Built·using3422 ········Built·using
3423 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3423 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3424 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3424 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3425 ······</p>3425 ······</p>
3426 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3426 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3427 ····</footer>3427 ····</footer>
3428 ··</div>3428 ··</div>
3429 </main>3429 </main>
3430 </div>3430 </div>
3431 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3431 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3432 ··<script>3432 ··<script>
3433 ··let·initialized·=·false;3433 ··let·initialized·=·false;
695 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
573 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.2.11/doc/html/ssh.epub
4.57 KB
zipinfo {}
Max HTML report size reached
147 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·Jul·06·2026·03:09:08,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:58:04,·uncompressed·size·20,·method=store
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.2.11/doc/html/ssh.html
    
Offset 3369, 22 lines modifiedOffset 3369, 22 lines modified
  
3369 ··········<pre·translate="no"><span·class="attribute">-type</span>·double_algs(AlgType)·::·[{client2server,·[AlgType]}·|·{server2client,·[AlgType]}]·|·[AlgType].</pre>3369 ··········<pre·translate="no"><span·class="attribute">-type</span>·double_algs(AlgType)·::·[{client2server,·[AlgType]}·|·{server2client,·[AlgType]}]·|·[AlgType].</pre>
  
3370 ······</div>3370 ······</div>
  
3371 <p>List·of·algorithms·to·use·in·the·algorithm·negotiation.·The·default3371 <p>List·of·algorithms·to·use·in·the·algorithm·negotiation.·The·default
3372 <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·for3372 <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
3373 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="5948165291-1">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">3373 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="1722037657-1">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
3374 »       ··</span><span·class="p"·data-group-id="5948165291-2">[</span><span·class="p"·data-group-id="5948165291-3">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="5948165291-4">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·130,·SHA:·f8eba75dc42c073392235b4f1b7a0fb38d6dd6e391f247a94d28794679355b23·...·]-3">}</span><span·class="p">,</span><span·class="w">3374 »       ··</span><span·class="p"·data-group-id="1722037657-2">[</span><span·class="p"·data-group-id="1722037657-3">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="1722037657-4">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·130,·SHA:·29029459c3e722f310e297d23b5fb079ba8d671925048662a1fcfc1abe56caa7·...·]-3">}</span><span·class="p">,</span><span·class="w">
3375 »       ··</span><span·class="p"·data-group-id="5948165291-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="5948165291-6">[</span><span·class="p"·data-group-id="5948165291-7">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·178,·SHA:·1268c0b2fe4a9e85f77b04c2847642394b12d898286560a91b9935b9dcd452f7·...·]-7">}</span><span·class="p">,</span><span·class="w">3375 »       ··</span><span·class="p"·data-group-id="1722037657-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="1722037657-6">[</span><span·class="p"·data-group-id="1722037657-7">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·178,·SHA:·5149fc68979dbf707508f3e35ad60972113bb50bb9a5fbaf0277d4f4923b498c·...·]-7">}</span><span·class="p">,</span><span·class="w">
3376 ··········</span><span·class="p"·data-group-id="5948165291-9">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="5948165291-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:·fcb5b136fefba4e0fe2de9434c84d6ec3b255d65ab5abaf7b0f69c4aa166ef56·...·]-5">}</span><span·class="p">,</span><span·class="w">3376 ··········</span><span·class="p"·data-group-id="1722037657-9">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="1722037657-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:·009ce2c5bcbbb980f5f0b79fae97759d7c6e639654c00da1b30b2d52e325cf0e·...·]-5">}</span><span·class="p">,</span><span·class="w">
3377 »       ··</span><span·class="p"·data-group-id="5948165291-11">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="5948165291-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:·d0288505b11f90cbd9a369969e247803896f0c1bcd9a0958c82b84b017880679·...·]-11">}</span><span·class="p">,</span><span·class="w">3377 »       ··</span><span·class="p"·data-group-id="1722037657-11">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="1722037657-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:·79fb6f0951a0500f28375aa5287c7354cd8b6e7dce8be8d92bb7c174a3212065·...·]-11">}</span><span·class="p">,</span><span·class="w">
3378 »       ··</span><span·class="p"·data-group-id="5948165291-13">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="5948165291-14">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="594816529[·...·truncated·by·diffoscope;·len:·55,·SHA:·435b4daa26352cefe93b54d5028dcc48dac429b5a8d3dd5f4432fc78cd9e8a4a·...·]-13">}</span><span·class="w">3378 »       ··</span><span·class="p"·data-group-id="1722037657-13">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="1722037657-14">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="172203765[·...·truncated·by·diffoscope;·len:·55,·SHA:·eabfa8e76c6c847ca3f55ea0bd6feacd52de6f1981e8576d7656309aebd4f837·...·]-13">}</span><span·class="w">
3379 »       ··</span><span·class="p"·data-group-id="5948165291-2">]</span><span·class="w">3379 »       ··</span><span·class="p"·data-group-id="1722037657-2">]</span><span·class="w">
3380 »       ··</span><span·class="p"·data-group-id="5948165291-1">}</span></code></pre><p>The·example·specifies·different·algorithms·in·the·two·directions·(client2server3380 »       ··</span><span·class="p"·data-group-id="1722037657-1">}</span></code></pre><p>The·example·specifies·different·algorithms·in·the·two·directions·(client2server
3381 and·server2client),·for·cipher·but·specifies·the·same·algorithms·for·mac·and3381 and·server2client),·for·cipher·but·specifies·the·same·algorithms·for·mac·and
3382 compression·in·both·directions.·The·kex·(key·exchange)·is·implicit·but3382 compression·in·both·directions.·The·kex·(key·exchange)·is·implicit·but
3383 public_key·is·set·explicitly.</p><p>For·background·and·more·examples·see·the3383 public_key·is·set·explicitly.</p><p>For·background·and·more·examples·see·the
3384 <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·is3384 <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
3385 undefined.·The·tags·in·the·property·lists·are·also·assumed·to·occur·at·most·one3385 undefined.·The·tags·in·the·property·lists·are·also·assumed·to·occur·at·most·one
3386 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·unless3386 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
3387 you·know·exactly·what·you·are·doing.·If·you·do·not·understand·the·values·then3387 you·know·exactly·what·you·are·doing.·If·you·do·not·understand·the·values·then
Offset 5105, 29 lines modifiedOffset 5105, 29 lines modified
5105 ·································StringOrString·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()·|·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()].</pre>5105 ·································StringOrString·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()·|·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()].</pre>
  
5106 ······</div>5106 ······</div>
  
5107 <p>hostkey_fingerprint([DigestType],·HostKey)·-&gt;5107 <p>hostkey_fingerprint([DigestType],·HostKey)·-&gt;
5108 [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·be5108 [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
5109 compatible·with·older·ssh-keygen·commands.·The·string·from·the·second·variant·is5109 compatible·with·older·ssh-keygen·commands.·The·string·from·the·second·variant·is
5110 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="2896304938-1">(</span><span·class="n">Key</span><span·class="p"·data-group-id="2896304938-1">)</span><span·class="p">.</span><span·class="w">5110 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="0168217701-1">(</span><span·class="n">Key</span><span·class="p"·data-group-id="0168217701-1">)</span><span·class="p">.</span><span·class="w">
5111 ·</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">5111 ·</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">
  
5112 ·</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="2896304938-2">(</span><span·class="nb">md5</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="2896304938-2">)</span><span·class="p">.</span><span·class="w">5112 ·</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="0168217701-2">(</span><span·class="nb">md5</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="0168217701-2">)</span><span·class="p">.</span><span·class="w">
5113 ·</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">5113 ·</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">
  
5114 ·</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="2896304938-3">(</span><span·class="ss">sha</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="2896304938-3">)</span><span·class="p">.</span><span·class="w">5114 ·</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="0168217701-3">(</span><span·class="ss">sha</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="0168217701-3">)</span><span·class="p">.</span><span·class="w">
5115 ·</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="w">5115 ·</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="w">
  
5116 ·</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="2896304938-4">(</span><span·class="ss">sha256</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="2896304938-4">)</span><span·class="p">.</span><span·class="w">5116 ·</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="0168217701-4">(</span><span·class="ss">sha256</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="0168217701-4">)</span><span·class="p">.</span><span·class="w">
5117 ·</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="w">5117 ·</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="w">
  
5118 ·</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="2896304938-5">(</span><span·class="p"·data-group-id="2896304938-6">[</span><span·class="ss">sha</span><span·class="p">,</span><span·class="ss">sha256</span><span·class="p"·data-group-id="2896304938-6">]</span><span·class="p">,</span><span·class="n">Key</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·1c9f98c5a1a7b4b05edef9f5f4985befc9dcc925c83366c55594bf3bfd91d3ff·...·]-5">)</span><span·class="p">.</span><span·class="w">5118 ·</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="0168217701-5">(</span><span·class="p"·data-group-id="0168217701-6">[</span><span·class="ss">sha</span><span·class="p">,</span><span·class="ss">sha256</span><span·class="p"·data-group-id="0168217701-6">]</span><span·class="p">,</span><span·class="n">Key</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·24829d8599977e9aab28a9161357d635c6abc4468c3c232ede2db73a01b77ba2·...·]-5">)</span><span·class="p">.</span><span·class="w">
5119 ·</span><span·class="p"·data-group-id="2896304938-7">[</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="p">,</span><span·class="w">5119 ·</span><span·class="p"·data-group-id="0168217701-7">[</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="p">,</span><span·class="w">
5120 ··</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="p"·data-group-id="2896304938-7">]</span></code></pre>5120 ··</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="p"·data-group-id="0168217701-7">]</span></code></pre>
5121 ··</section>5121 ··</section>
5122 </section>5122 </section>
5123 <section·class="detail"·id="set_sock_opts/2">5123 <section·class="detail"·id="set_sock_opts/2">
  
5124 ··<div·class="detail-header">5124 ··<div·class="detail-header">
5125 ····<a·href="#set_sock_opts/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">5125 ····<a·href="#set_sock_opts/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
5126 ······<i·class="ri-link-m"·aria-hidden="true"></i>5126 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 5668, 15 lines modifiedOffset 5668, 15 lines modified
5668 ······<p·class="built-using">5668 ······<p·class="built-using">
5669 ········Built·using5669 ········Built·using
5670 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the5670 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
5671 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>5671 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
5672 ······</p>5672 ······</p>
5673 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>5673 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
5674 ····</footer>5674 ····</footer>
5675 ··</div>5675 ··</div>
5676 </main>5676 </main>
5677 </div>5677 </div>
5678 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>5678 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
5679 ··<script>5679 ··<script>
5680 ··let·initialized·=·false;5680 ··let·initialized·=·false;
738 B
html2text {}
Max HTML report size reached
6.02 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.2.11/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="1365501862-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1365501862-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:·41c2f85618a8549193df651b444b661f00230b1076c946b8fb86de76e1a14306·...·]-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="9607860976-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9607860976-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:·19930d596f45d201d3001e294869763ecfd7efa489484a9b6beba655a1d05dda·...·]-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="0858615904-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0858615904-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:·399,·SHA:·e03aafef44a6a55cb575f6a9d64e962cb4564b3a0684f156c74e0b23fd27e259·...·]4-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="8001650974-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8001650974-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:·399,·SHA:·f597e36c54b89be3bb6db9c36485973fbf77993e33e592d3ac9d6873d9c2b0d7·...·]4-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>552 <p>Copyright·©·1996-2025·<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.43 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.2.11/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>352 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.2.11/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>961 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.2.11/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>528 <p>Copyright·©·1996-2025·<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.2.11/doc/html/ssh_connection.html
    
Offset 1937, 15 lines modifiedOffset 1937, 15 lines modified
1937 ······<p·class="built-using">1937 ······<p·class="built-using">
1938 ········Built·using1938 ········Built·using
1939 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1939 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1940 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1940 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1941 ······</p>1941 ······</p>
1942 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1942 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1943 ····</footer>1943 ····</footer>
1944 ··</div>1944 ··</div>
1945 </main>1945 </main>
1946 </div>1946 </div>
1947 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1947 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1948 ··<script>1948 ··<script>
1949 ··let·initialized·=·false;1949 ··let·initialized·=·false;
679 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.2.11/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1007 <p>Copyright·©·1996-2025·<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.56 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.2.11/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>380 <p>Copyright·©·1996-2025·<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.2.11/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>326 <p>Copyright·©·1996-2025·<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.2.11/doc/html/ssh_sftp.html
    
Offset 2794, 15 lines modifiedOffset 2794, 15 lines modified
2794 ······<p·class="built-using">2794 ······<p·class="built-using">
2795 ········Built·using2795 ········Built·using
2796 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2796 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2797 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2797 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2798 ······</p>2798 ······</p>
2799 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2799 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2800 ····</footer>2800 ····</footer>
2801 ··</div>2801 ··</div>
2802 </main>2802 </main>
2803 </div>2803 </div>
2804 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2804 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2805 ··<script>2805 ··<script>
2806 ··let·initialized·=·false;2806 ··let·initialized·=·false;
783 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.2.11/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>243 <p>Copyright·©·1996-2025·<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.2.11/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>248 <p>Copyright·©·1996-2025·<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.2.11/doc/html/using_ssh.html
Max HTML report size reached
620 B
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/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-2827F83F.js21 dist/search_data-47476728.js
22 dist/sidebar_items-2B88611C.js22 dist/sidebar_items-2B88611C.js
23 index.html23 index.html
24 notes.html24 notes.html
25 search.html25 search.html
26 ssl.html26 ssl.html
27 ssl_app.html27 ssl_app.html
28 ssl_crl_cache.html28 ssl_crl_cache.html
1.46 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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/ssl-11.2.12/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2025·<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.2.12/doc/html/notes.html
    
Offset 3547, 15 lines modifiedOffset 3547, 15 lines modified
3547 ······<p·class="built-using">3547 ······<p·class="built-using">
3548 ········Built·using3548 ········Built·using
3549 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3549 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3550 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3550 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3551 ······</p>3551 ······</p>
3552 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3552 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3553 ····</footer>3553 ····</footer>
3554 ··</div>3554 ··</div>
3555 </main>3555 </main>
3556 </div>3556 </div>
3557 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3557 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3558 ··<script>3558 ··<script>
3559 ··let·initialized·=·false;3559 ··let·initialized·=·false;
704 B
html2text {}
Max HTML report size reached
1.75 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/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-2827F83F.js"></script>124 <script·src="dist/search_data-47476728.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
606 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/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·Jul·06·2026·03:08:48,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:57:48,·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
172 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
93.2 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/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="3944529503-1">(</span><span·class="p"·data-group-id="3944529503-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="3944529503-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="3944529503-3">[</span><span·class="p"·data-group-id="3944529503-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="3944529503-4">}</span><span·class="p">,</span><span·class="w"> 
133 ····</span><span·class="p"·data-group-id="3944529503-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="3944529503-6">(</span><span·class="p"·data-group-id="3944529503-6">)</span><span·class="p"·data-group-id="3944529503-5">}</span><span·class="p"·data-group-id="3944529503-3">]</span><span·class="p"·data-group-id="3944529503-2">)</span><span·class="p">.</span><span·class="w"> 
134 </span><span·class="p"·data-group-id="3944529503-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3944529503-8">{</span><span·class="ss">sslsocket</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·369,·SHA:·93b59b57b41030df7dfc532826341db3b2b988aed395c8df0b801b03a756f648·...·]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:·2906d075538d2315c2400c37ddd1cbf353a4c97afab53287c230465f5fa8587d·...·]
 133 ····</span><span·class="p"·data-group-id="8920604718-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="8920604718-6">(</span><span·class="p"·data-group-id="8920604718-6">)</span><span·class="p"·data-group-id="8920604718-5">}</span><span·class="p"·data-group-id="8920604718-3">]</span><span·class="p"·data-group-id="8920604718-2">)</span><span·class="p">.</span><span·class="w">
 134 </span><span·class="p"·data-group-id="8920604718-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8920604718-8">{</span><span·class="ss">sslsocket</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8920604718-9">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="8920604718-9">]</span><span·class="p"·data-group-id="8920604718-8">}</span><span·class="p"·data-group-id="8920604718-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 2487, 34 lines modifiedOffset 2487, 34 lines modified
2487 from·the·cipher·suite.</p><p>In·TLS-1.2·a·somewhat·more·explicit·negotiation·is·made·possible·using·a·list·of2487 from·the·cipher·suite.</p><p>In·TLS-1.2·a·somewhat·more·explicit·negotiation·is·made·possible·using·a·list·of
2488 <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">signature2488 <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
2489 schemes</a>·that·are·completely·decoupled·from·the2489 schemes</a>·that·are·completely·decoupled·from·the
2490 cipher·suite.</p><p>Signature·algorithms·used·for·certificates·can·be·overridden·by·the2490 cipher·suite.</p><p>Signature·algorithms·used·for·certificates·can·be·overridden·by·the
2491 <a·href="#t:sign_scheme/0">signature·schemes</a>·supplied·by·the2491 <a·href="#t:sign_scheme/0">signature·schemes</a>·supplied·by·the
2492 <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·with2492 <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
2493 <code·class="inline">rsa_pss_schemes</code>·since·ssl-11.0·(Erlang/OTP·25).·<code·class="inline">pss_pss</code>·is2493 <code·class="inline">rsa_pss_schemes</code>·since·ssl-11.0·(Erlang/OTP·25).·<code·class="inline">pss_pss</code>·is
2494 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="8409961255-1">[</span><span·class="w">2494 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="7277896426-1">[</span><span·class="w">
2495 </span><span·class="p"·data-group-id="8409961255-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="8409961255-2">}</span><span·class="p">,</span><span·class="w">2495 </span><span·class="p"·data-group-id="7277896426-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="7277896426-2">}</span><span·class="p">,</span><span·class="w">
2496 </span><span·class="p"·data-group-id="8409961255-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="8409961255-3">}</span><span·class="p">,</span><span·class="w">2496 </span><span·class="p"·data-group-id="7277896426-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="7277896426-3">}</span><span·class="p">,</span><span·class="w">
2497 </span><span·class="p"·data-group-id="8409961255-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="8409961255-4">}</span><span·class="p">,</span><span·class="w">2497 </span><span·class="p"·data-group-id="7277896426-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="7277896426-4">}</span><span·class="p">,</span><span·class="w">
2498 </span><span·class="p"·data-group-id="8409961255-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="8409961255-5">}</span><span·class="p">,</span><span·class="w">2498 </span><span·class="p"·data-group-id="7277896426-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="7277896426-5">}</span><span·class="p">,</span><span·class="w">
2499 </span><span·class="p"·data-group-id="8409961255-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="8409961255-6">}</span><span·class="p">,</span><span·class="w">2499 </span><span·class="p"·data-group-id="7277896426-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="7277896426-6">}</span><span·class="p">,</span><span·class="w">
2500 </span><span·class="p"·data-group-id="8409961255-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="8409961255-7">}</span><span·class="w">2500 </span><span·class="p"·data-group-id="7277896426-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="7277896426-7">}</span><span·class="w">
2501 </span><span·class="p"·data-group-id="8409961255-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·in2501 </span><span·class="p"·data-group-id="7277896426-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
2502 ssl-8.0·(Erlang/OTP·22).</li><li>Support·for·<code·class="inline">{sha,·_}</code>·(SHA1)·and·<code·class="inline">{sha224,·_}</code>·was·removed2502 ssl-8.0·(Erlang/OTP·22).</li><li>Support·for·<code·class="inline">{sha,·_}</code>·(SHA1)·and·<code·class="inline">{sha224,·_}</code>·was·removed
2503 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="1299184927-1">[</span><span·class="ss">rsa_pss_pss_sha512</span><span·class="p">,</span><span·class="w">2503 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="3467258276-1">[</span><span·class="ss">rsa_pss_pss_sha512</span><span·class="p">,</span><span·class="w">
2504 </span><span·class="ss">rsa_pss_pss_sha384</span><span·class="p">,</span><span·class="w">2504 </span><span·class="ss">rsa_pss_pss_sha384</span><span·class="p">,</span><span·class="w">
2505 </span><span·class="ss">rsa_pss_pss_sha256</span><span·class="p">,</span><span·class="w">2505 </span><span·class="ss">rsa_pss_pss_sha256</span><span·class="p">,</span><span·class="w">
2506 </span><span·class="ss">rsa_pss_rsae_sha512</span><span·class="p">,</span><span·class="w">2506 </span><span·class="ss">rsa_pss_rsae_sha512</span><span·class="p">,</span><span·class="w">
2507 </span><span·class="ss">rsa_pss_rsae_sha384</span><span·class="p">,</span><span·class="w">2507 </span><span·class="ss">rsa_pss_rsae_sha384</span><span·class="p">,</span><span·class="w">
2508 </span><span·class="ss">rsa_pss_rsae_sha256</span><span·class="p"·data-group-id="1299184927-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="4061231094-1">[</span><span·class="w">2508 </span><span·class="ss">rsa_pss_rsae_sha256</span><span·class="p"·data-group-id="3467258276-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="0499783381-1">[</span><span·class="w">
2509 </span><span·class="c1">%%·Legacy·algorithms·only·applicable·to·certificate·signatures</span><span·class="w">2509 </span><span·class="c1">%%·Legacy·algorithms·only·applicable·to·certificate·signatures</span><span·class="w">
2510 </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">2510 </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">
2511 </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">2511 </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">
2512 </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">2512 </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">
2513 </span><span·class="p"·data-group-id="4061231094-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">[2513 </span><span·class="p"·data-group-id="0499783381-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">[
2514 %%·EDDSA2514 %%·EDDSA
2515 eddsa_ed25519,2515 eddsa_ed25519,
2516 eddsa_ed4482516 eddsa_ed448
  
2517 %%·ECDSA2517 %%·ECDSA
2518 ecdsa_secp521r1_sha512,2518 ecdsa_secp521r1_sha512,
2519 ecdsa_secp384r1_sha384,2519 ecdsa_secp384r1_sha384,
Offset 2592, 16 lines modifiedOffset 2592, 16 lines modified
  
2592 ······<div·class="specs">2592 ······<div·class="specs">
  
2593 ··········<pre·translate="no"><span·class="attribute">-type</span>·anchor_fun()·::·fun().</pre>2593 ··········<pre·translate="no"><span·class="attribute">-type</span>·anchor_fun()·::·fun().</pre>
  
2594 ······</div>2594 ······</div>
  
2595 <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="4724594049-1">(</span><span·class="n">Chain</span><span·class="p">:</span><span·class="p">:</span><span·class="p"·data-group-id="4724594049-2">[</span><span·class="nc">public_key</span><span·class="p">:</span><span·class="nf">der_encoded</span><span·class=[·...·truncated·by·diffoscope;·len:·188,·SHA:·5077c8bc4c2e6ebf53786c922027d5f0156310b444240a5b165586c645fcbfe9·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2595 <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="3240427001-1">(</span><span·class="n">Chain</span><span·class="p">:</span><span·class="p">:</span><span·class="p"·data-group-id="3240427001-2">[</span><span·class="nc">public_key</span><span·class="p">:</span><span·class="nf">der_encoded</span><span·class=[·...·truncated·by·diffoscope;·len:·188,·SHA:·95df5701e49cd6e7fd058d69b34daf3ffdbda64729f3dd722cd8523aae50f7d9·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2596 ······</span><span·class="p"·data-group-id="4724594049-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"[·...·truncated·by·diffoscope;·len:·166,·SHA:·09d3785fc69f5081662c734e79d336c2c56ed8887f8850bf8b68ce9ad9736822·...·]-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.17.1/doc/html/public_key.html#pkix_path_validation/3"><code·class="inline">public_key:pkix_path_validation/3</code></a>·with·the·selected·CA2596 ······</span><span·class="p"·data-group-id="3240427001-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"[·...·truncated·by·diffoscope;·len:·166,·SHA:·4cf8c7d338e35556980283223972cb9a6392d972504c96f5afe6eafad6ff7d61·...·]-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.17.1/doc/html/public_key.html#pkix_path_validation/3"><code·class="inline">public_key:pkix_path_validation/3</code></a>·with·the·selected·CA
2597 as·the·trusted·anchor·and·verifies·the·rest·of·the·chain.</p>2597 as·the·trusted·anchor·and·verifies·the·rest·of·the·chain.</p>
2598 ··</section>2598 ··</section>
2599 </section>2599 </section>
2600 <section·class="detail"·id="t:cert_key_conf/0">2600 <section·class="detail"·id="t:cert_key_conf/0">
  
2601 ··<div·class="detail-header">2601 ··<div·class="detail-header">
2602 ····<a·href="#t:cert_key_conf/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">2602 ····<a·href="#t:cert_key_conf/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">
Offset 3023, 15 lines modifiedOffset 3023, 15 lines modified
3023 <a·href="#connect/3">connect/3,4</a>·unless·it·is·of·type·<a·href="../../../../lib/kernel-10.2.7/doc/html/inet.html#t:ip_address/0"><code·class="inline">inet:ip_address()</code></a>.3023 <a·href="#connect/3">connect/3,4</a>·unless·it·is·of·type·<a·href="../../../../lib/kernel-10.2.7/doc/html/inet.html#t:ip_address/0"><code·class="inline">inet:ip_address()</code></a>.
3024 The·hostname·will·also·be·used·in·the·hostname·verification·of·the·peer3024 The·hostname·will·also·be·used·in·the·hostname·verification·of·the·peer
3025 certificate·using·<a·href="../../../../lib/public_key-1.17.1/doc/html/public_key.html#pkix_verify_hostname/2"><code·class="inline">public_key:pkix_verify_hostname/2</code></a>.3025 certificate·using·<a·href="../../../../lib/public_key-1.17.1/doc/html/public_key.html#pkix_verify_hostname/2"><code·class="inline">public_key:pkix_verify_hostname/2</code></a>.
3026 The·special·value·<code·class="inline">disable</code>·prevents·the·Server·Name·Indication·extension·from3026 The·special·value·<code·class="inline">disable</code>·prevents·the·Server·Name·Indication·extension·from
3027 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·various3027 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
3028 protocols·that·use·TLS,·such·as·HTTP·or·LDAP,·may·require·different·approaches.·For3028 protocols·that·use·TLS,·such·as·HTTP·or·LDAP,·may·require·different·approaches.·For
3029 example,·here·is·how·to·use·standard·hostname·checking·for·HTTPS·implemented·in3029 example,·here·is·how·to·use·standard·hostname·checking·for·HTTPS·implemented·in
3030 <a·href="../../../../lib/public_key-1.17.1/doc/html/public_key_app.html">Public_Key</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3262055966-1">{</span><span·class="ss">customize_hostname_check</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3262055966-2">[</span><span·class="p"·data-group-id="3262055966-3">{</span><span·class="ss">match_fun</span[·...·truncated·by·diffoscope;·len:·443,·SHA:·eb202b3bdc567f45f9c8a9ac3732d035fc259ec6e5d8ecf15e7ae29e2e6743ab·...·]-1">}</span></code></pre><p>For·futher·description·of·the·customize·options,·see3030 <a·href="../../../../lib/public_key-1.17.1/doc/html/public_key_app.html">Public_Key</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5924433182-1">{</span><span·class="ss">customize_hostname_check</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5924433182-2">[</span><span·class="p"·data-group-id="5924433182-3">{</span><span·class="ss">match_fun</span[·...·truncated·by·diffoscope;·len:·443,·SHA:·02365ec98177b478284a60f451be876ec8dc2cb4ab7e0ceb9120b42630df6178·...·]-1">}</span></code></pre><p>For·futher·description·of·the·customize·options,·see
3031 <a·href="../../../../lib/public_key-1.17.1/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·authorities3031 <a·href="../../../../lib/public_key-1.17.1/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
3032 extension·in·the·TLS-1.3·client·hello.·The·default·is·<code·class="inline">false</code>.·Note3032 extension·in·the·TLS-1.3·client·hello.·The·default·is·<code·class="inline">false</code>.·Note
3033 that·setting·<code·class="inline">UseCertAuth</code>·to·<code·class="inline">true</code>·can·result·in·a·significant3033 that·setting·<code·class="inline">UseCertAuth</code>·to·<code·class="inline">true</code>·can·result·in·a·significant
3034 overhead·if·there·exists·many·trusted·CA·certificates.·(Since3034 overhead·if·there·exists·many·trusted·CA·certificates.·(Since
3035 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·be3035 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
3036 enabled,·meaning·that·an·extension·of·type·&quot;status_request&quot;·will·be3036 enabled,·meaning·that·an·extension·of·type·&quot;status_request&quot;·will·be
3037 included·in·the·client·hello·to·indicate·the·desire·to·receive3037 included·in·the·client·hello·to·indicate·the·desire·to·receive
Offset 3161, 25 lines modifiedOffset 3161, 25 lines modified
3161 ··········{early_data,·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>()}·|3161 ··········{early_data,·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>()}·|
3162 ··········{middlebox_comp_mode,·MiddleBoxMode·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()}.</pre>3162 ··········{middlebox_comp_mode,·MiddleBoxMode·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()}.</pre>
  
3163 ······</div>3163 ······</div>
  
3164 <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>,3164 <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>,
3165 <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·ticket3165 <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
3166 information·to·user·process·in·a·3-tuple:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7469463494-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="7469463494-2">{</span><span·class="n">SNI<[·...·truncated·by·diffoscope;·len:·180,·SHA:·8bdb72ea569b370360da4c1d7c1f5f11dd53cfbcc5eb6d1e7fdbc49ee28bb8f6·...·]4-1">}</span></code></pre><p>where·<code·class="inline">SNI</code>·is·the·ServerNameIndication·and·<code·class="inline">TicketData</code>·is·the·extended·ticket3166 information·to·user·process·in·a·3-tuple:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5155171944-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="5155171944-2">{</span><span·class="n">SNI<[·...·truncated·by·diffoscope;·len:·180,·SHA:·126a6b52bdfeead81985ae054c31894880c32895d64448a64e20ac2d69113d75·...·]4-1">}</span></code></pre><p>where·<code·class="inline">SNI</code>·is·the·ServerNameIndication·and·<code·class="inline">TicketData</code>·is·the·extended·ticket
3167 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·and3167 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
3168 tries·to·use·them·when·making·new·TLS·connections·(session·resumption·with3168 tries·to·use·them·when·making·new·TLS·connections·(session·resumption·with
3169 pre-shared·keys).</p><p>Ticket·lifetime,·the·number·of·tickets·sent·by·the·server,·and·the3169 pre-shared·keys).</p><p>Ticket·lifetime,·the·number·of·tickets·sent·by·the·server,·and·the
3170 maximum·number·of·tickets·stored·by·the·server·in·stateful·mode·are·configured3170 maximum·number·of·tickets·stored·by·the·server·in·stateful·mode·are·configured
3171 by·<a·href="ssl_app.html#configuration">application·variables</a>.</p><p>See·also3171 by·<a·href="ssl_app.html#configuration">application·variables</a>.</p><p>See·also
3172 <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·a3172 <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
3173 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·to3173 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
3174 <code·class="inline">manual</code></p><p>This·option·is·supported·by·TLS-1.3.·See·also3174 <code·class="inline">manual</code></p><p>This·option·is·supported·by·TLS-1.3.·See·also
3175 <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·early3175 <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
3176 data,·the·following·tuple·is·sent·to·the·user·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4870869416-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="4870869416-2">{</span><span·class="ss">early_dat[·...·truncated·by·diffoscope;·len:·179,·SHA:·a1a48bf93043f3a580a0d8669e3f3865dab6082f34b3aa65e854f7234632b5af·...·]-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·to3176 data,·the·following·tuple·is·sent·to·the·user·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3063937339-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="3063937339-2">{</span><span·class="ss">early_dat[·...·truncated·by·diffoscope;·len:·179,·SHA:·3fa56d9dc07d09bb8b497527124481721612b9ecf823c4c716a6e515c6d6c3a6·...·]-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
3177 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.33177 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
3178 connection·is·negotiated.·Implementations·can·increase·the·chance·of3178 connection·is·negotiated.·Implementations·can·increase·the·chance·of
3179 making·connections·through·those·middleboxes·by·adapting·the·TLS-1.33179 making·connections·through·those·middleboxes·by·adapting·the·TLS-1.3
3180 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>3180 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>
3181 ··</section>3181 ··</section>
3182 </section>3182 </section>
  
Offset 3606, 28 lines modifiedOffset 3606, 28 lines modified
3606 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>3606 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>
3607 certificates.·<code·class="inline">rsa_pss_pss</code>·(RSA·certificates·using·Probabilistic·Signature3607 certificates.·<code·class="inline">rsa_pss_pss</code>·(RSA·certificates·using·Probabilistic·Signature
3608 Scheme)·are·supported·in·TLS-1.2·and·TLS-1.3,·but·some·TLS-1.2·implementations3608 Scheme)·are·supported·in·TLS-1.2·and·TLS-1.3,·but·some·TLS-1.2·implementations
3609 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·the3609 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
3610 peer·certificate·in·a·valid·certification·path.·So,·if·depth·is·0·the·PEER·must3610 peer·certificate·in·a·valid·certification·path.·So,·if·depth·is·0·the·PEER·must
3611 be·signed·by·the·trusted·ROOT-CA·directly;·if·1·the·path·can·be·PEER,·CA,3611 be·signed·by·the·trusted·ROOT-CA·directly;·if·1·the·path·can·be·PEER,·CA,
3612 ROOT-CA;·if·2·the·path·can·be·PEER,·CA,·CA,·ROOT-CA,·and·so·on.·The·default3612 ROOT-CA;·if·2·the·path·can·be·PEER,·CA,·CA,·ROOT-CA,·and·so·on.·The·default
3613 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="6232994958-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="62329[·...·truncated·by·diffoscope;·len:·58,·SHA:·4d605170e379103316ea82978763aad4c20c26108be2f24b7a9416c07bcd1ea0·...·]-2">}</span><span·class="p">,</span><span·class="w">3613 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="5653951413-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="56539[·...·truncated·by·diffoscope;·len:·58,·SHA:·1d210138e98e58adc18a193bce2a6709536c90299c65af6ec021a79a390ed0d6·...·]-2">}</span><span·class="p">,</span><span·class="w">
3614 ····</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="6232994958-3">(</span><span·class="p"·data-group-id="6232994958-3">)</span><span·class="p"·data-group-id="6232994958-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">3614 ····</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="5653951413-3">(</span><span·class="p"·data-group-id="5653951413-3">)</span><span·class="p"·data-group-id="5653951413-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
3615 ··</span><span·class="p"·data-group-id="6232994958-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:·c74041bd257f9c134ba71d61b9c53d760ea13f0d9749020905e6b38893eb61c0·...·]-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">3615 ··</span><span·class="p"·data-group-id="5653951413-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:·df2bdc1532c63715788be2074dd69f73030f023ef1b3110eac749faa655dd0d2·...·]-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
3616 ··</span><span·class="p"·data-group-id="6232994958-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:·b526c824f77b210e6f99dad22e54ec870440a7954cf6a65a511a0799971208db·...·]-8">}</span><span·class="p">.</span><span·class="w">3616 ··</span><span·class="p"·data-group-id="5653951413-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:·36d249e33463283ae5375978bc15faeefa540facd8eb586ead1e77711d91bf7c·...·]-8">}</span><span·class="p">.</span><span·class="w">
  
3617 </span><span·class="nf">fun</span><span·class="p"·data-group-id="6232994958-10">(</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="6232[·...·truncated·by·diffoscope;·len:·435,·SHA:·41981ef38c09f4c5d0ebe2efcddd8861acf933e64181a90bd2e5388227db2a69·...·]-12">)</span><span·class="p">,</span><span·class="w">3617 </span><span·class="nf">fun</span><span·class="p"·data-group-id="5653951413-10">(</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="5653[·...·truncated·by·diffoscope;·len:·435,·SHA:·de9cb9797977e843ea727a3671e35fc2dd8ed281367c54db751e41bafcc593cd·...·]-12">)</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 55425/94296 bytes (58.78%) of diff not shown.
1.02 KB
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>278 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>362 <p>Copyright·©·1996-2025·<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.2.12/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>517 <p>Copyright·©·1996-2025·<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.2.12/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="4414145035-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4414145035-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:·22d054dd99cec8d5e6fc074e6104aee15dd05032dfc00a91a77fe7a802c87a84·...·]-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="1509228510-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1509228510-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:·f272e9962a25fb113cbc1da53348c57d78e7b8cb674fcb3a684ca3494af96560·...·]-3">}</span><span·class="p">,</span><span·class="w">
151 ······</span><span·class="p"·data-group-id="4414145035-4">[</span><span·class="p"·data-group-id="4414145035-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="4414145035-5">}</span><span·class="p">,</span><span·class="w">151 ······</span><span·class="p"·data-group-id="1509228510-4">[</span><span·class="p"·data-group-id="1509228510-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="1509228510-5">}</span><span·class="p">,</span><span·class="w">
152 ······</span><span·class="p"·data-group-id="4414145035-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="4414145035-6">}</span><span·class="p">,</span><span·class="w">152 ······</span><span·class="p"·data-group-id="1509228510-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="1509228510-6">}</span><span·class="p">,</span><span·class="w">
153 ······</span><span·class="p"·data-group-id="4414145035-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="4414145035-7">}</span><span·class="p">,</span><span·class="w">153 ······</span><span·class="p"·data-group-id="1509228510-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="1509228510-7">}</span><span·class="p">,</span><span·class="w">
154 ······</span><span·class="p"·data-group-id="4414145035-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="4414145035-8">}</span><span·class="p">,</span><span·class="w">154 ······</span><span·class="p"·data-group-id="1509228510-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="1509228510-8">}</span><span·class="p">,</span><span·class="w">
155 ······</span><span·class="p"·data-group-id="4414145035-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="4414145035-9">}</span><span·class="p">,</span><span·class="w">155 ······</span><span·class="p"·data-group-id="1509228510-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="1509228510-9">}</span><span·class="p">,</span><span·class="w">
156 ······</span><span·class="p"·data-group-id="4414145035-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="4414145035-10">}</span><span·class="w">156 ······</span><span·class="p"·data-group-id="1509228510-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="1509228510-10">}</span><span·class="w">
157 ······</span><span·class="p"·data-group-id="4414145035-4">]</span><span·class="p"·data-group-id="4414145035-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="1509228510-4">]</span><span·class="p"·data-group-id="1509228510-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-6.2.2/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-6.2.2/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="1700636441-1">[</span><span·class="p"·data-group-id="1700636441-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="1017171843-1">[</span><span·class="p"·data-group-id="1017171843-2">{</span><span·class="ss">server</span><span·class="p">,</span><span·class="w">
205 ··</span><span·class="p"·data-group-id="1700636441-3">[</span><span·class="p"·data-group-id="1700636441-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="1700636441[·...·truncated·by·diffoscope;·len:·106,·SHA:·97cc5a01986147f2e87ced05555e7b389c936f9357f84de00e516eed0b95c319·...·]-2">}</span><span·class="p">,</span><span·class="w">205 ··</span><span·class="p"·data-group-id="1017171843-3">[</span><span·class="p"·data-group-id="1017171843-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="1017171843[·...·truncated·by·diffoscope;·len:·106,·SHA:·4066f1c9ee3ddf20504ce7731b4acc3ba8399787be030ac05763c5f55feb8421·...·]-2">}</span><span·class="p">,</span><span·class="w">
206 ·</span><span·class="p"·data-group-id="1700636441-5">{</span><span·class="ss">client</span><span·class="p">,</span><span·class="w">206 ·</span><span·class="p"·data-group-id="1017171843-5">{</span><span·class="ss">client</span><span·class="p">,</span><span·class="w">
207 ··</span><span·class="p"·data-group-id="1700636441-6">[</span><span·class="p"·data-group-id="1700636441-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="170[·...·truncated·by·diffoscope;·len:·166,·SHA:·a09fe0d4ef3cab524084129931cc499c247c1700f8b9388d1caa23a2b01e08f7·...·]-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="1017171843-6">[</span><span·class="p"·data-group-id="1017171843-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="101[·...·truncated·by·diffoscope;·len:·166,·SHA:·9b11539104b20ad68aad9e33c3cde0609bd3eddea5da97c3aeef18b82f0e1abf·...·]-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="8365188862-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="8365188862-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.0[·...·truncated·by·diffoscope;·len:·155,·SHA:·47961641bf412533c7894e07252f8953575f4c13b17de02a46aa5353e2b37739·...·]-2">]</span><span·class="w">277 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="8128826043-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="8128826043-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.0[·...·truncated·by·diffoscope;·len:·155,·SHA:·1a1e8299519790fdf970da3498a68d52dbf240358d093235f0c32718c869f252·...·]-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="8365188862-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="8365188862-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="8128826043-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="8128826043-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="8365188862-4">(</span><span·class="p"·data-group-id="8365188862-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="8128826043-4">(</span><span·class="p"·data-group-id="8128826043-4">)</span><span·class="p">.</span><span·class="w">
280 </span><span·class="p"·data-group-id="8365188862-5">[</span><span·class="p"·data-group-id="8365188862-6">{</span><span·class="ss">root</span><span·class="p">,</span><span·class="p"·data-group-id="8365188862-7">[</span><span·class="s">&quot;/usr/local/erlang&quot;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·332b755c9af1993532ce21ea546becb360cc98302a10c252b1c90cbb7520e5a5·...·]-6">}</span><span·class="p">,</span><span·class="w">280 </span><span·class="p"·data-group-id="8128826043-5">[</span><span·class="p"·data-group-id="8128826043-6">{</span><span·class="ss">root</span><span·class="p">,</span><span·class="p"·data-group-id="8128826043-7">[</span><span·class="s">&quot;/usr/local/erlang&quot;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·9e334977396f19329a27af51e82c27b19868d9c1b736f2cc18975d39ba344bb3·...·]-6">}</span><span·class="p">,</span><span·class="w">
281 ·</span><span·class="p"·data-group-id="8365188862-8">{</span><span·class="ss">progname</span><span·class="p">,</span><span·class="p"·data-group-id="8365188862-9">[</span><span·class="s">&quot;erl·&quot;</span><span·class="p"·data-group-id="8365188862-9">]</span><span·class="p"·data-group-id="836[·...·truncated·by·diffoscope;·len:·7,·SHA:·1f3e2438e1f1bdf3c4e65e6332fb55f040f0c6ec97b771aa49ad6a1c9c4a4750·...·]-8">}</span><span·class="p">,</span><span·class="w">281 ·</span><span·class="p"·data-group-id="8128826043-8">{</span><span·class="ss">progname</span><span·class="p">,</span><span·class="p"·data-group-id="8128826043-9">[</span><span·class="s">&quot;erl·&quot;</span><span·class="p"·data-group-id="8128826043-9">]</span><span·class="p"·data-group-id="812[·...·truncated·by·diffoscope;·len:·7,·SHA:·e24fbbaa818806b79cfa483e13a8db5f40ee49802af02ff7ad6045a8edbe3f80·...·]-8">}</span><span·class="p">,</span><span·class="w">
282 ·</span><span·class="p"·data-group-id="8365188862-10">{</span><span·class="ss">sname</span><span·class="p">,</span><span·class="p"·data-group-id="8365188862-11">[</span><span·class="s">&quot;ssl_test&quot;</span><span·class="p"·data-group-id="8365188862-11">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·8ea2c3779dc4a04181ad8a646d408937589b38bdbe668895fefaeed420af148e·...·]-10">}</span><span·class="p">,</span><span·class="w">282 ·</span><span·class="p"·data-group-id="8128826043-10">{</span><span·class="ss">sname</span><span·class="p">,</span><span·class="p"·data-group-id="8128826043-11">[</span><span·class="s">&quot;ssl_test&quot;</span><span·class="p"·data-group-id="8128826043-11">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·6604c3109310e8c159c11cdbd30669565a63d7ce258b0521166f197b9a813b4c·...·]-10">}</span><span·class="p">,</span><span·class="w">
283 ·</span><span·class="p"·data-group-id="8365188862-12">{</span><span·class="ss">boot</span><span·class="p">,</span><span·class="p"·data-group-id="8365188862-13">[</span><span·class="s">&quot;/home/me/ssl/start_ssl&quot;</span><span·class="p"·data-group-id="8365188862-13">]</span><span·class="p"·data-group-id="8365188862-12">}</span><span·class="p">,</span><span·class="w"> 
284 ·</span><span·class="p"·data-group-id="8365188862-14">{</span><span·class="ss">proto_dist</span><span·class="p">,</span><span·class="p"·data-group-id="8365188862-15">[</span><span·class="s">&quot;inet_tls&quot;</span><span·class="p"·data-group-id="8365188862-15">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·19,·SHA:·3aecac9e4c0c9110014142330969b6c58454b038aa7efbdeb66cebcef13af4cb·...·]">}</span><span·class="p">,</span><span·class="w">283 ·</span><span·class="p"·data-group-id="8128826043-12">{</span><span·class="ss">boot</span><span·class="p">,</span><span·class="p"·data-group-id="8128826043-13">[</span><span·class="s">&quot;/home/me/ssl/start_ssl&quot;</span><span·class="p"·data-group-id="8128826043-13">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·27,·SHA:·3d89969ba9b0764b2966b1cba54527869010fa5b33b0356646f2b1fdbd4777db·...·]">}</span><span·class="p">,</span><span·class="w">
 284 ·</span><span·class="p"·data-group-id="8128826043-14">{</span><span·class="ss">proto_dist</span><span·class="p">,</span><span·class="p"·data-group-id="8128826043-15">[</span><span·class="s">&quot;inet_tls&quot;</span><span·class="p"·data-group-id="8128826043-15">]</span><span·class="p"·data-group-id="8128826043-14">}</span><span·class="p">,</span><span·class="w">
285 ·</span><span·class="p"·data-group-id="8365188862-16">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="8365188862-17">[</span><span·class="s">&quot;server_certfile&quot;</span><span·class="p">,</span><span·class="s">&quot;/home/me/ssl/erlserver.p[·...·truncated·by·diffoscope;·len:·110,·SHA:·f8da0fe7d0ebbf2721b5cc409687c2702051e7eaa4258de440eb0f00135e118e·...·]-16">}</span><span·class="p">,</span><span·class="w">285 ·</span><span·class="p"·data-group-id="8128826043-16">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="8128826043-17">[</span><span·class="s">&quot;server_certfile&quot;</span><span·class="p">,</span><span·class="s">&quot;/home/me/ssl/erlserver.p[·...·truncated·by·diffoscope;·len:·110,·SHA:·36adb59941775a63406fc0a5cad50347acde88ceeeb83a2ee215c0addf8611ff·...·]-16">}</span><span·class="p">,</span><span·class="w">
286 ·</span><span·class="p"·data-group-id="8365188862-18">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="8365188862-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="8128826043-18">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="8128826043-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="8365188862-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="8128826043-19">]</span><span·class="w">
288 ·</span><span·class="p"·data-group-id="8365188862-20">{</span><span·class="ss">home</span><span·class="p">,</span><span·class="p"·data-group-id="8365188862-21">[</span><span·class="s">&quot;/home/me&quot;</span><span·class="p"·data-group-id="8365188862-21">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·80186b678778d6f00f17a6f3a5d54230d6a29d4e7bfa4d8daaafb38050a68e2c·...·]-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="8128826043-20">{</span><span·class="ss">home</span><span·class="p">,</span><span·class="p"·data-group-id="8128826043-21">[</span><span·class="s">&quot;/home/me&quot;</span><span·class="p"·data-group-id="8128826043-21">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·0f0bcb4666b5a24ce20c49d713236953cca088e8af0bc14dc41cca728adfde16·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>339 <p>Copyright·©·1996-2025·<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.64 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>280 <p>Copyright·©·1996-2025·<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.2.12/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>700 <p>Copyright·©·1996-2025·<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.78 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>261 <p>Copyright·©·1996-2025·<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;
961 B
html2text {}
Max HTML report size reached
299 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/doc/html/using_ssl.html
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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/stdlib-6.2.2/doc/html/api-reference.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>828 <p>Copyright·©·1996-2025·<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;
591 B
html2text {}
Max HTML report size reached
126 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-15.2.7/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-15.2.7/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="1091987076-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="1091987076-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="0542151118-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="0542151118-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="1091987076-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="1091987076-3">(</span><span·class="p"·data-group-id="1091987076-3">)</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·305,·SHA:·87c1eaf69de435d3b59a3b8304232318fec91b4fa65e470228e4626108017df6·...·]-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="0542151118-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="0542151118-3">(</span><span·class="p"·data-group-id="0542151118-3">)</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·305,·SHA:·69fbfab118874d9bfc506a2f5cb9076d7359e785210dae65059ab238904bf2b8·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
152 </span><span·class="nf">cli</span><span·class="p"·data-group-id="1091987076-5">(</span><span·class="p"·data-group-id="1091987076-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="0542151118-5">(</span><span·class="p"·data-group-id="0542151118-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
153 ····</span><span·class="p"·data-group-id="1091987076-6">#{</span><span·class="w">153 ····</span><span·class="p"·data-group-id="0542151118-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="1091987076-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="0542151118-7">[</span><span·class="w">
155 ············</span><span·class="p"·data-group-id="1091987076-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:·e31d5b0249ed01483b6b16c7327e3037661957fb71351a7095b18c8d625c6d5e·...·]-8">}</span><span·class="p">,</span><span·class="w">155 ············</span><span·class="p"·data-group-id="0542151118-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:·a0ebf605fc380ef07fc0d3c61b08a94f883743d808230083292c2d5fc2c1d668·...·]-8">}</span><span·class="p">,</span><span·class="w">
156 ············</span><span·class="p"·data-group-id="1091987076-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:·8faa9d60de76553f543b2c9626f5e5d49a32d2d43e751b020b9a74206483a5c9·...·]-9">}</span><span·class="w">156 ············</span><span·class="p"·data-group-id="0542151118-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:·c64eabbeb9c0922bf8358955af60e6f976d2b61ac0819a1004bac400a01ccdd1·...·]-9">}</span><span·class="w">
157 ········</span><span·class="p"·data-group-id="1091987076-7">]</span><span·class="p">,</span><span·class="w">157 ········</span><span·class="p"·data-group-id="0542151118-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="1091987076-10">(</span><span·class="p"·data-group-id="1091987076-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:·0c05d6bf35aedadeae30f6cee38cc1a2e275fdb2cd4154e058b2e3ed5a2dc269·...·]-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="0542151118-10">(</span><span·class="p"·data-group-id="0542151118-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:·72ac2c19f4cbe10e45ff96ead7fc53542fa661f198836b050eda2471a6f0e38d·...·]-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="1091987076-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="1091987076-13">[</span><span·class="n">Left<[·...·truncated·by·diffoscope;·len:·201,·SHA:·fc8e4506a55d014ae39321b7e529c2f2b95bded5e60f5723d74fe39e92af551b·...·]-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="0542151118-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="0542151118-13">[</span><span·class="n">Left<[·...·truncated·by·diffoscope;·len:·201,·SHA:·b466f5013248ddf7cdec91dd0e7e55525cc034ca7d62c268981c3ed7e83f0847·...·]-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="1091987076-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="0542151118-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="8988356258-1">(</span><span·class="p"·data-group-id="8988356258-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="6413345174-1">(</span><span·class="p"·data-group-id="6413345174-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ··</span><span·class="p"·data-group-id="8988356258-2">#{</span><span·class="w">177 ··</span><span·class="p"·data-group-id="6413345174-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="8988356258-3">[</span><span·class="p"·data-group-id="8988356258-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="8988356258-4">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·64877b6e167cde7dbe53eb4dc79da921054f1cfd37c33334bb8eebddc0448398·...·]-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="6413345174-3">[</span><span·class="p"·data-group-id="6413345174-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="6413345174-4">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·1198c34e3dbdaed54da34d91f98ba618e4738d16d8f36fa9b4469e5b8a7c703b·...·]-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="8988356258-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="6413345174-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="8988356258-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="6413345174-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="8988356258-7">[</span><span·class="p"·data-group-id="8988356258-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="8988356258-8">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·64877b6e167cde7dbe53eb4dc79da921054f1cfd37c33334bb8eebddc0448398·...·]-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="6413345174-7">[</span><span·class="p"·data-group-id="6413345174-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="6413345174-8">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·1198c34e3dbdaed54da34d91f98ba618e4738d16d8f36fa9b4469e5b8a7c703b·...·]-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="8988356258-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="6413345174-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="8988356258-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="6413345174-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="8988356258-11">[</span><span·class="p"·data-group-id="8988356258-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="8988356258-12[·...·truncated·by·diffoscope;·len:·51,·SHA:·90548c6cb539b5b598800fa17c6214cc7289d9e94e14c5fdb465bd4088dd0198·...·]-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="6413345174-11">[</span><span·class="p"·data-group-id="6413345174-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="6413345174-12[·...·truncated·by·diffoscope;·len:·51,·SHA:·13101f177460cda29c30e0211a6be309b74f7f8cfd1c857563d5f4bfded0bd31·...·]-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="8988356258-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="8988356258-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:·386,·SHA:·c93e00d92ba1eea8f0e0f23d9e8b67bf51e826c4273119e47d18de65426f5f66·...·]-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="6413345174-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="6413345174-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:·386,·SHA:·869a672c91e58293d1dcc91c4578863bb0c2094c32a513e765f5627d5d26d8fa·...·]-14">)</span><span·class="w">·</span><span·class="k">end</span><span·class="w">
190 ··········</span><span·class="p"·data-group-id="8988356258-10">}</span><span·class="w">190 ··········</span><span·class="p"·data-group-id="6413345174-10">}</span><span·class="w">
191 ········</span><span·class="p"·data-group-id="8988356258-9">}</span><span·class="w">191 ········</span><span·class="p"·data-group-id="6413345174-9">}</span><span·class="w">
192 ······</span><span·class="p"·data-group-id="8988356258-6">}</span><span·class="w">192 ······</span><span·class="p"·data-group-id="6413345174-6">}</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="8988356258-5">}</span><span·class="w">193 ····</span><span·class="p"·data-group-id="6413345174-5">}</span><span·class="w">
194 ··</span><span·class="p"·data-group-id="8988356258-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="6413345174-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="4821881636-1">(</span><span·class="p"·data-group-id="4821881636-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="7008899205-1">(</span><span·class="p"·data-group-id="7008899205-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
214 ··</span><span·class="p"·data-group-id="4821881636-2">#{</span><span·class="w">214 ··</span><span·class="p"·data-group-id="7008899205-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="4821881636-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="7008899205-3">[</span><span·class="w">
216 ······</span><span·class="p"·data-group-id="4821881636-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:·dcf7dbafcc9adb17fa059882bd18f4646db1160c22f6fe2a0333b6a9c68b8fa8·...·]-4">}</span><span·class="p">,</span><span·class="w">216 ······</span><span·class="p"·data-group-id="7008899205-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:·55df76717dc288c9e4a8b348b2027a010cdfb8ef7aa5b0aba0c0d1d59f46a215·...·]-4">}</span><span·class="p">,</span><span·class="w">
217 ······</span><span·class="p"·data-group-id="4821881636-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:·8a6abb2defe7a7f82cd9fb6d65f295df85ce29f824e428f027b55f568e7eafff·...·]-5">}</span><span·class="w">217 ······</span><span·class="p"·data-group-id="7008899205-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:·4e5e7ebf5ce3ed5c7ad716d16b8fb09b80b5781e2b4bcf401ea5ac2f988299a3·...·]-5">}</span><span·class="w">
218 ····</span><span·class="p"·data-group-id="4821881636-3">]</span><span·class="p">,</span><span·class="w">218 ····</span><span·class="p"·data-group-id="7008899205-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="4821881636-6">(</span><span·class="n">Args</span><span·class="p"·data-group-id="4821881636-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:·d07569b89ef103aad2214807fd398312f0c1b480e0d5614198661ea814535ed6·...·]-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="7008899205-6">(</span><span·class="n">Args</span><span·class="p"·data-group-id="7008899205-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:·50571a108e65401c29f6fe337d9b98346f1a924bad86a53a115e6dd321c8b58f·...·]-7">)</span><span·class="w">·</span><span·class="k">end</span><span·class="w">
220 ··</span><span·class="p"·data-group-id="4821881636-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="7008899205-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 598, 119 lines modifiedOffset 598, 119 lines modified
598 as·optional.·Optional·arguments·do·not·have·specific·order·and·may·appear598 as·optional.·Optional·arguments·do·not·have·specific·order·and·may·appear
599 anywhere·in·the·command·line.·Positional·arguments·are·ordered·the·same·way·as599 anywhere·in·the·command·line.·Positional·arguments·are·ordered·the·same·way·as
600 they·appear·in·the·arguments·list·of·the·command·specification.</p><p>By·default,·all·positional·arguments·must·be·present·in·the·command·line.·The600 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
601 parser·will·return·an·error·otherwise.·Options,·however,·may·be·omitted,·in601 parser·will·return·an·error·otherwise.·Options,·however,·may·be·omitted,·in
602 which·case·resulting·argument·map·will·either·contain·the·default·value,·or·not602 which·case·resulting·argument·map·will·either·contain·the·default·value,·or·not
603 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>·is603 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
604 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">604 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">
605 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="8333102314-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="8333102314-2">[</span><span·class="p"·data-group-id="8333102314-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·442,·SHA:·6e93385da2695ed1e47a7fe06b4681a673440eeaccad0cb3097ee0bd7350b7e8·...·]-1">}</span><span·class="p">.</span><span·class="w">605 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="7905391607-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="7905391607-2">[</span><span·class="p"·data-group-id="7905391607-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·442,·SHA:·de59c219e0e1fd6d2950c68d78d222d2eee0d2af2d78d568c95cbbddb8c458e6·...·]-1">}</span><span·class="p">.</span><span·class="w">
606 </span><span·class="c1">%%·Parse·command·line·&quot;-a·str&quot;:</span><span·class="gp·unselectable">606 </span><span·class="c1">%%·Parse·command·line·&quot;-a·str&quot;:</span><span·class="gp·unselectable">
607 2&gt;·</span><span·class="p"·data-group-id="8333102314-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:·620,·SHA:·27c54e4a8950cfd07409d1c42d7d415739212639febdc268638860406db7a13d·...·]-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">607 2&gt;·</span><span·class="p"·data-group-id="7905391607-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:·620,·SHA:·b89a2fbb51d808900cb9eb419904597a385ea6f82b81e502259abd46d69b0cd1·...·]-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
608 </span><span·class="p"·data-group-id="8333102314-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="8333102314-7">}</span><span·class="w">608 </span><span·class="p"·data-group-id="7905391607-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="7905391607-7">}</span><span·class="w">
  
609 </span><span·class="c1">%%·Option·value·can·be·concatenated·with·the·switch:·&quot;-astr&quot;</span><span·class="gp·unselectable">609 </span><span·class="c1">%%·Option·value·can·be·concatenated·with·the·switch:·&quot;-astr&quot;</span><span·class="gp·unselectable">
610 3&gt;·</span><span·class="p"·data-group-id="8333102314-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:·539,·SHA:·22af9beb694dd017de745955ead843643c8c165ccc0243c59415ba1090d3b310·...·]-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">610 3&gt;·</span><span·class="p"·data-group-id="7905391607-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:·539,·SHA:·b66f09ef2e9d63969d484d7b68f1205d97f0def2481b95a0828fc3377a848f84·...·]-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
611 </span><span·class="p"·data-group-id="8333102314-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="8333102314-11">}</span></code></pre><p>By·default·all·options·expect·a·single·value·following·the·option·switch.·The611 </span><span·class="p"·data-group-id="7905391607-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="7905391607-11">}</span></code></pre><p>By·default·all·options·expect·a·single·value·following·the·option·switch.·The
612 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="0624418300-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="0624418300-2">[</span><span·class="p"·data-group-id="0624418300-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·454,·SHA:·9c02b4fe95ad8b64418d6c67e853802852ba55f56e934516b0b2cc0488a55962·...·]-1">}</span><span·class="p">.</span><span·class="w">612 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="1849908523-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="1849908523-2">[</span><span·class="p"·data-group-id="1849908523-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·454,·SHA:·1c1ebedce833cebf28c8f194bec2fb45d99ac67e4502201c1447f89111c5dc6e·...·]-1">}</span><span·class="p">.</span><span·class="w">
613 </span><span·class="c1">%%·Parse·command·line·&quot;-name·Erlang&quot;:</span><span·class="gp·unselectable">613 </span><span·class="c1">%%·Parse·command·line·&quot;-name·Erlang&quot;:</span><span·class="gp·unselectable">
614 2&gt;·</span><span·class="p"·data-group-id="0624418300-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:·626,·SHA:·57d58251ac8d69a2e6f68964ea32ac65ec02bb67ab3aeeffb13ba7e960c5bec5·...·]-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">614 2&gt;·</span><span·class="p"·data-group-id="1849908523-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:·626,·SHA:·c057522e74ebe77d3d5c89434736efa0593236ad70dd447524375a3ca94420c6·...·]-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
615 </span><span·class="p"·data-group-id="0624418300-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="0624418300-7">}</span><span·class="w">615 </span><span·class="p"·data-group-id="1849908523-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="1849908523-7">}</span><span·class="w">
616 </span><span·class="c1">%%·Or·use·&quot;=&quot;·to·separate·the·switch·and·the·value:</span><span·class="gp·unselectable">616 </span><span·class="c1">%%·Or·use·&quot;=&quot;·to·separate·the·switch·and·the·value:</span><span·class="gp·unselectable">
617 3&gt;·</span><span·class="p"·data-group-id="0624418300-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:·546,·SHA:·650b502d21024114596adf831124a44bdd4d171e4d83e386f4286e4cca86f1e6·...·]-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">617 3&gt;·</span><span·class="p"·data-group-id="1849908523-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:·546,·SHA:·c82667b5a536551986eed5f0288820e83bcf8522daa034804431ba652050d10e·...·]-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
618 </span><span·class="p"·data-group-id="0624418300-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="0624418300-11">}</span></code></pre><p>If·neither·<code·class="inline">short</code>·not·<code·class="inline">long</code>·is·defined,·the·argument·is·treated·as618 </span><span·class="p"·data-group-id="1849908523-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="1849908523-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
619 positional.</p></li><li><p><strong><code·class="inline">required</code></strong>·-·Forces·the·parser·to·expect·the·argument·to·be·present·in·the619 positional.</p></li><li><p><strong><code·class="inline">required</code></strong>·-·Forces·the·parser·to·expect·the·argument·to·be·present·in·the
620 command·line.·By·default,·all·positional·argument·are·required,·and·all620 command·line.·By·default,·all·positional·argument·are·required,·and·all
621 options·are·not.</p></li><li><p><strong><code·class="inline">default</code></strong>·-·Specifies·the·default·value·to·put·in·the·parsed·argument·map621 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
622 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="1897786458-1">(</span><span·class="p"·data-group-id="1897786458-2">[</span><span·class="p"·data-group-id="1897786458-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1897786458-3">#{</span><span·class="ss">arguments[·...·truncated·by·diffoscope;·len:·702,·SHA:·7ede82b84c11be93f623455226394cdd4679277fe7a5b379b5f267021969f44e·...·]-1">)</span><span·class="p">.</span><span·class="w">622 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="7372319735-1">(</span><span·class="p"·data-group-id="7372319735-2">[</span><span·class="p"·data-group-id="7372319735-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7372319735-3">#{</span><span·class="ss">arguments[·...·truncated·by·diffoscope;·len:·702,·SHA:·e50a882e748911af8bb9ddc7e2caa972df80b2bef1c25fc8ffa56d30871b0c3b·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
623 </span><span·class="p"·data-group-id="1897786458-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1897786458-7">#{</span><span·class="p"·data-group-id="1897786458-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">623 </span><span·class="p"·data-group-id="7372319735-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7372319735-7">#{</span><span·class="p"·data-group-id="7372319735-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">
624 2&gt;·</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="1897786458-8">(</span><span·class="p"·data-group-id="1897786458-9">[</span><span·class="p"·data-group-id="1897786458-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1897786458-10">#{</span><span·class="ss">argument[·...·truncated·by·diffoscope;·len:·901,·SHA:·c31ab1399f2d5526f6d407b63c48a152338b7d41a167b7637aa0c1453b8ca852·...·]-8">)</span><span·class="p">.</span><span·class="w">624 2&gt;·</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="7372319735-8">(</span><span·class="p"·data-group-id="7372319735-9">[</span><span·class="p"·data-group-id="7372319735-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7372319735-10">#{</span><span·class="ss">argument[·...·truncated·by·diffoscope;·len:·901,·SHA:·2868802fd6566b4850ecdb976a46b3b77dbbf01a4bde83c6908dbf8f00f4d47a·...·]-8">)</span><span·class="p">.</span><span·class="w">
  
625 </span><span·class="p"·data-group-id="1897786458-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1897786458-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:·92a557f466f30ad70e9ceb9de5afbe9481b681ebd117087f2a0506ea66931a89·...·]-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·is625 </span><span·class="p"·data-group-id="7372319735-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7372319735-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:·eb556387d47ca24ff53f5fe575b423ce2411d5ddd40fd4ef245bd6220810496b·...·]-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
626 <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·the626 <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
627 command·line.·By·default,·the·parser·consumes·the·next·argument·and·converts627 command·line.·By·default,·the·parser·consumes·the·next·argument·and·converts
628 it·into·an·Erlang·term·according·to·the·specified·type.</p><ul><li><p><strong><a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:pos_integer/0"><code·class="inline">pos_integer/0</code></a></strong>·-·Consume·exactly·this·number·of·positional·arguments,628 it·into·an·Erlang·term·according·to·the·specified·type.</p><ul><li><p><strong><a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:pos_integer/0"><code·class="inline">pos_integer/0</code></a></strong>·-·Consume·exactly·this·number·of·positional·arguments,
629 fail·if·there·is·not·enough.·Value·in·the·argument·map·contains·a·list·of629 fail·if·there·is·not·enough.·Value·in·the·argument·map·contains·a·list·of
630 exactly·this·length.·Example,·defining·a·positional·argument·expecting·3630 exactly·this·length.·Example,·defining·a·positional·argument·expecting·3
631 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="4978586772-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="4978586772-2">[</span><span·class="p"·data-group-id="4978586772-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·623,·SHA:·b49640fd325f59f8d12c24a26f4bcd2713f4245221809e286d1b8664c4b0e103·...·]-1">}</span><span·class="p">,</span><span·class="w">631 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="0498102245-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="0498102245-2">[</span><span·class="p"·data-group-id="0498102245-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·623,·SHA:·339f845046c4b0b75b66aa2760d93910d5055b13d9d149a111e8328cd8cece96·...·]-1">}</span><span·class="p">,</span><span·class="w">
632 </span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="4978586772-4">(</span><span·class="p"·data-group-id="4978586772-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:·191,·SHA:·893532873a65120a66952b64e80a48494b960addac0168ef2ecd7a28a2762041·...·]-4">)</span><span·class="p">.</span><span·class="w">632 </span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="0498102245-4">(</span><span·class="p"·data-group-id="0498102245-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:·191,·SHA:·4c5ca583b34ee00ef3721f8995890f07fc01849709ac50a1abbdfcee6cbd7cf8·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
Max diff block lines reached; 69081/128714 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-6.2.2/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="3780393759-1">(</span><span·class="mi">10</span><span·class="p"·data-group-id="3780393759-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="6232427212-1">(</span><span·class="mi">10</span><span·class="p"·data-group-id="6232427212-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="3780393759-2">(</span><span·class="n">A0</span><span·class="p"·data-group-id="3780393759-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="6232427212-2">(</span><span·class="n">A0</span><span·class="p"·data-group-id="6232427212-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="9912655447-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:·bd527cc0bfb46b4d2bf6842248d7954b8b80f49953742a54c3def7ff19d5e7a7·...·]-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="3071591650-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:·7481e0648b9aca4201704a0a73707eaf1deb84bed711165e8193547dad8815d4·...·]-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="9912655447-3">(</span><span·class="n">A1</span><span·class="p"·data-group-id="9912655447-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:·f389fbe56ac5d56f9d22c8e96cb6495d7066b860463ce5bd71611fb3f02bff6e·...·]-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="3071591650-3">(</span><span·class="n">A1</span><span·class="p"·data-group-id="3071591650-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:·b2f249b36cac12c7aecb984780f30969df12e52fe343346ef2824eed5864060f·...·]-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="1805891101-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="1805891101-1">)</span><span·class="p">.</span></code></pre><p>&quot;Sparse&quot;·functions·ignore·defaul[·...·truncated·by·diffoscope;·len:·515,·SHA:·8fc365e04df2bd42abd267644503f9196636834907169b18fbd512e2b8e8e6e8·...·]-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="8724016217-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="8724016217-1">)</span><span·class="p">.</span></code></pre><p>&quot;Sparse&quot;·functions·ignore·defaul[·...·truncated·by·diffoscope;·len:·515,·SHA:·89a0288400db08c7adbae70c9320c901d279c5c7af3588251bc0a902345ea36f·...·]-1">)</span><span·class="p">.</span><span·class="w">
144 </span><span·class="p"·data-group-id="9652449615-2">[</span><span·class="p"·data-group-id="9652449615-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="9652449615-3">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·1017,·SHA:·4b93faf8aa5a9381260ae837d860184798db12fe3204bd7c3d773da0ac365af0·...·]-1">)</span><span·class="p">.</span></code></pre><p>A·fixed-size·array·does·not·grow·automatically·and·does·not·allow·accesses144 </span><span·class="p"·data-group-id="5201775372-2">[</span><span·class="p"·data-group-id="5201775372-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="5201775372-3">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·1017,·SHA:·585a76e855afce72a50d573d5fbd1af3efafdb67e81ea8872715bb95d2e9c677·...·]-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="2781468974-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2781468974-2">{</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="2781468974[·...·truncated·by·diffoscope;·len:·644,·SHA:·31cc0cca6f21add1ed4fc0b7ea9db546c07be836cba4116e86a9995ec067de7d·...·]-3">)</span><span·class="p">.</span><span·class="w">145 beyond·the·last·set·entry:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3312226097-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="3312226097-2">{</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="3312226097[·...·truncated·by·diffoscope;·len:·644,·SHA:·51d29ff0c5b9b9be79816229539e3f569e9ccfdef45265fb50ce9d3626ab12cd·...·]-3">)</span><span·class="p">.</span><span·class="w">
146 </span><span·class="p"·data-group-id="2781468974-5">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2781468974-6">{</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="2781468974[·...·truncated·by·diffoscope;·len:·568,·SHA:·01fa8dd5c8b7abd10ff30d628aede70d6a0288d6ce900e62405a8ce56bd67088·...·]-7">)</span><span·class="p">.</span></code></pre>146 </span><span·class="p"·data-group-id="3312226097-5">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="3312226097-6">{</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="3312226097[·...·truncated·by·diffoscope;·len:·568,·SHA:·be4a3f448163337dda40cfc70b171e315fa13ae5d03d5369fc5a1290c4d7aae5·...·]-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="0387963354-1">(</span><span·class="mi">100</span><span·class="p"·data-group-id="0387963354-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:·9c9aa56f0e53df0a40283c915a33c053c971a65eb35712da056f26b85a795516·...·]-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="3370037247-1">(</span><span·class="mi">100</span><span·class="p"·data-group-id="3370037247-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:·198b85249b089b56f3bf5f44d777036746069b250f4136db35a85c2feef475a9·...·]-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="4263369876-1">(</span><span·class="mi">100</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4263369876-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:·ec19086dab40c16589ada613c1a72a62894748c146573ad859b5ff78e74c7e8c·...·]-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="1484314048-1">(</span><span·class="mi">100</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1484314048-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:·9155a456c3bc8b3d5b09fe609c33a09eab6daf807b1855d54b279dfc71ada48b·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1588 <p>Copyright·©·1996-2025·<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.66 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="0138269506-1">(</span><span·class="s">&quot;stdlib/include/assert.hrl&quot;</span><span·class="p"·data-group-id="0138269506-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="3521876910-1">(</span><span·class="s">&quot;stdlib/include/assert.hrl&quot;</span><span·class="p"·data-group-id="3521876910-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="1310624875-1">(</span><span·class="p"·data-group-id="1310624875-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="1310624875-2">}</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·390,·SHA:·896397c4c4699476d1f2b0e4d7d2cd46e2944e2805b81216c3852601a79ff0d6·...·]5-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="4589059965-1">(</span><span·class="p"·data-group-id="4589059965-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="4589059965-2">}</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·390,·SHA:·517bc1651822b083bc0ed9f4b828111d4eeef3776e7a483e1a723b280eb04738·...·]5-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>223 <p>Copyright·©·1996-2025·<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;
727 B
html2text {}
Max HTML report size reached
11.9 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/base64.html
    
Offset 649, 24 lines modifiedOffset 649, 24 lines modified
649 ····················Data·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>().</pre>649 ····················Data·::·<a·href="../../../../erts-15.2.7/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="4306392945-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="4306392945-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="9138521685-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="9138521685-1">)</span><span·class="p">.</span><span·class="w">
655 </span><span·class="p"·data-group-id="4306392945-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="4306392945-2">&gt;&gt;</span><span·class="gp·unselectable">655 </span><span·class="p"·data-group-id="9138521685-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="9138521685-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="4306392945-3">(</span><span·class="s">&quot;AQ·ID·BA==&quot;</span><span·class="p"·data-group-id="4306392945-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="9138521685-3">(</span><span·class="s">&quot;AQ·ID·BA==&quot;</span><span·class="p"·data-group-id="9138521685-3">)</span><span·class="p">.</span><span·class="w">
657 </span><span·class="p"·data-group-id="4306392945-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="4306392945-4">&gt;&gt;</span><span·class="gp·unselectable">657 </span><span·class="p"·data-group-id="9138521685-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="9138521685-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="4306392945-5">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p"·data-group-id="4306392945-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="9138521685-5">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p"·data-group-id="9138521685-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="4306392945-6">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4306392945-7">#{</span><span·class="w">·</span><span·class="ss">padding</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·187,·SHA:·5d6c18288de894c0664e1ef984ad3fecef6d3e4adf34ac763e3429a777c96acd·...·]5-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="9138521685-6">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9138521685-7">#{</span><span·class="w">·</span><span·class="ss">padding</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·187,·SHA:·6ddf01434aba08412ed68ed3836f3e4fd15846cc59163ff3532e63d087bc3b19·...·]5-6">)</span><span·class="p">.</span><span·class="w">
663 </span><span·class="p"·data-group-id="4306392945-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="4306392945-8">&gt;&gt;</span></code></pre>663 </span><span·class="p"·data-group-id="9138521685-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="9138521685-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-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>().</pre>896 ·························Data·::·<a·href="../../../../erts-15.2.7/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="3293359459-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="3293359459-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="4916743335-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="4916743335-1">)</span><span·class="p">.</span><span·class="w">
902 </span><span·class="p"·data-group-id="3293359459-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="3293359459-2">&gt;&gt;</span><span·class="gp·unselectable">902 </span><span·class="p"·data-group-id="4916743335-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="4916743335-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="3293359459-3">(</span><span·class="s">&quot;AQIDB=A=&quot;</span><span·class="p"·data-group-id="3293359459-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="4916743335-3">(</span><span·class="s">&quot;AQIDB=A=&quot;</span><span·class="p"·data-group-id="4916743335-3">)</span><span·class="p">.</span><span·class="w">
904 </span><span·class="p"·data-group-id="3293359459-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="3293359459-4">&gt;&gt;</span></code></pre>904 </span><span·class="p"·data-group-id="4916743335-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="4916743335-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>996 <p>Copyright·©·1996-2025·<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-6.2.2/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="2610325233-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2610325233-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p"·data-group-id="2610325233-3">[</span><span·class="p"·data-group-id="2610325233-4">{</span><span·class="ss">abstract_code</span><span·class="p">,</span><span·class="p"·data-group-id="2610325233-5">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">AC</span><span·class="p"·data-group-id="2610325233-5">}</span><span·class="p"·data-group-id="2610325233-4">}</span><span·class="p"·data-group-id="2610325233-3">]</span><span·class="p"·data-group-id="2610325233-2">}</span><span·class="p"·data-group-id="2610325233-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">chunks</span><span·class="p"·data-group-id="2610325233-6">(</span><span·class="n">Beam</span><span·class="p">,</span><span·class="p"·data-group-id="2610325233-7">[</span><span·class="ss">abstract_code</span><span·class="p"·data-group-id="2610325233-7">]</span><span·class="p"·data-group-id="2610325233-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="2610325233-8">(</span><span·class="s">&quot;</span><span·class="si">~s</span><span·class="si">~n</span><span·class="s">&quot;</span><span·[·...·truncated·by·diffoscope;·len:·726,·SHA:·f7d1ae2bc24cc07a7405e0b472168335eb4cd863f880daaaf0bba29dd58ae629·...·]">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="6361158608-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6361158608[·...·truncated·by·diffoscope;·len:·1114,·SHA:·c70d78d96afd01f0896809474c44857165d33ce3433631dbf2b12b62c20f55ef·...·]">
 155 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">fwrite</span><span·class="p"·data-group-id="6361158608-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="6361158608-9">[</span><span·class="nc">erl_prettypr</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6361158608-10">(</span><span·class="nc">erl_syntax</span><span·class="p">:</span><span·class="nf">form_list</span><span·class="p"·data-group-id="6361158608-11">(</span><span·class="n">AC</span><span·class="p"·data-group-id="6361158608-11">)</span><span·class="p"·data-group-id="6361158608-10">)</span><span·class="p"·data-group-id="6361158608-9">]</span><span·class="p"·data-group-id="6361158608-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-15.2.7/doc/html/init.html#home">user's·home·directory</a>·and·then182 <a·href="../../../../erts-15.2.7/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="5119065917-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:·e9c897f24431e7010bbd228c0a6cda26037b511a57b275734349121b96f8481a·...·]-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="6560140288-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:·7374779937139d56c5ee3622309bafbb7a4f79c78f6929eaf40c4d038ba52912·...·]-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="4068232707-1">[</span><span·class="p"·data-group-id="4068232707-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:·5db59377590ef4f1117208fed09ac610226465e908c9bf642e4df49511204ccb·...·]-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="0850895980-1">[</span><span·class="p"·data-group-id="0850895980-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:·4fe53dc8d40d72ac93bdafbc30b2d191eb8698b6d49da41498ae971fa01be488·...·]-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="0391900850-1">[</span><span·class="p"·data-group-id="0391900850-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:·134,·SHA:·de8f57d26bbae6e5e5f2e8eca075546eafd171cf346e4f8633d03cd80af45058·...·]50-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="5419428750-1">[</span><span·class="p"·data-group-id="5419428750-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:·134,·SHA:·3a1514454825b0877fe918243b079406af1f1d8e13f03debe70363cfc014fb53·...·]50-2">}</span><span·class="p">,</span><span·class="w">
191 ·</span><span·class="p"·data-group-id="0391900850-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="0391900850-4">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·248,·SHA:·e1df2f28fbe7cada4459fc89a3ed3403f187374cc6385555e6131e7a88ee05a5·...·]50-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="5419428750-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="5419428750-4">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·248,·SHA:·6656a7930d9763085eaccb6cf81115462b889c149bc95839b2af116d488e5c00·...·]50-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 1494, 19 lines modifiedOffset 1494, 19 lines modified
1494 ························when·CryptoKeyFun·::·<a·href="#t:crypto_fun/0">crypto_fun</a>(),·Reason·::·badfun·|·exists·|·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>1494 ························when·CryptoKeyFun·::·<a·href="#t:crypto_fun/0">crypto_fun</a>(),·Reason·::·badfun·|·exists·|·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1495 ······</div>1495 ······</div>
  
1496 <p>Registers·an·unary·fun·that·is·called·if·<code·class="inline">beam_lib</code>·must·read·an·<code·class="inline">debug_info</code>1496 <p>Registers·an·unary·fun·that·is·called·if·<code·class="inline">beam_lib</code>·must·read·an·<code·class="inline">debug_info</code>
1497 chunk·that·has·been·encrypted.·The·fun·is·held·in·a·process·that·is·started·by1497 chunk·that·has·been·encrypted.·The·fun·is·held·in·a·process·that·is·started·by
1498 the·function.</p><p>If·a·fun·is·already·registered·when·attempting·to·register·a·fun,1498 the·function.</p><p>If·a·fun·is·already·registered·when·attempting·to·register·a·fun,
1499 <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="7604062863-1">(</span><span·class="ss">init</span><span·class="p"·data-group-id="7604062863-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:·893f60e44c7c18984fe56209fab0ba1317f64d09094d092bf4b145345d0afb7a·...·]-3">}</span></code></pre><p>Called·when·the·fun·is·registered,·in·the·process·that·holds·the·fun.·Here·the1499 <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="4712747898-1">(</span><span·class="ss">init</span><span·class="p"·data-group-id="4712747898-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:·fd400dff1064b4fe3997394b642d5cd12749bea7b1a116acbb41349cf0468816·...·]-3">}</span></code></pre><p>Called·when·the·fun·is·registered,·in·the·process·that·holds·the·fun.·Here·the
1500 crypto·key·fun·can·do·any·necessary·initializations.·If·<code·class="inline">{ok,·NewCryptoKeyFun}</code>1500 crypto·key·fun·can·do·any·necessary·initializations.·If·<code·class="inline">{ok,·NewCryptoKeyFun}</code>
1501 is·returned,·<code·class="inline">NewCryptoKeyFun</code>·is·registered·instead·of·<code·class="inline">CryptoKeyFun</code>.·If1501 is·returned,·<code·class="inline">NewCryptoKeyFun</code>·is·registered·instead·of·<code·class="inline">CryptoKeyFun</code>.·If
1502 <code·class="inline">{error,·Term}</code>·is·returned,·the·registration·is·aborted·and1502 <code·class="inline">{error,·Term}</code>·is·returned,·the·registration·is·aborted·and
1503 <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="6963473133-1">(</span><span·class="p"·data-group-id="6963473133-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:·2beb59286835468fe37f266c19cdf579a10ea4522f2f57a3a58ad74a91f1fbdc·...·]-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>.1503 <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="5244904351-1">(</span><span·class="p"·data-group-id="5244904351-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:·5b592f140222de6318f9df9e682c3781d14f11082c012c956bd22340011f860c·...·]-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>.
1504 <code·class="inline">Mode</code>·is·the·type·of·crypto·algorithm;·currently,·the·only·possible·value·is1504 <code·class="inline">Mode</code>·is·the·type·of·crypto·algorithm;·currently,·the·only·possible·value·is
1505 <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.·The1505 <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
1506 return·value·is·not·important,·but·is·passed·back·to·the·caller·of1506 return·value·is·not·important,·but·is·passed·back·to·the·caller·of
1507 <a·href="#clear_crypto_key_fun/0"><code·class="inline">clear_crypto_key_fun/0</code></a>·as·part·of·its·return·value.</p>1507 <a·href="#clear_crypto_key_fun/0"><code·class="inline">clear_crypto_key_fun/0</code></a>·as·part·of·its·return·value.</p>
1508 ··</section>1508 ··</section>
1509 </section>1509 </section>
1510 <section·class="detail"·id="diff_dirs/2">1510 <section·class="detail"·id="diff_dirs/2">
Offset 1843, 22 lines modifiedOffset 1843, 22 lines modified
  
1843 ······</div>1843 ······</div>
  
1844 <p>Returns·the·module·version·or·versions.·A·version·is·defined·by·module·attribute1844 <p>Returns·the·module·version·or·versions.·A·version·is·defined·by·module·attribute
1845 <code·class="inline">-vsn(Vsn)</code>.</p><p>If·this·attribute·is·not·specified,·the·version·defaults·to·the1845 <code·class="inline">-vsn(Vsn)</code>.</p><p>If·this·attribute·is·not·specified,·the·version·defaults·to·the
1846 checksum·of·the·module.·Notice·that·if·version·<code·class="inline">Vsn</code>·is·not·a·list,·it·is·made1846 checksum·of·the·module.·Notice·that·if·version·<code·class="inline">Vsn</code>·is·not·a·list,·it·is·made
1847 into·one,·that·is·<code·class="inline">{ok,{Module,[Vsn]}}</code>·is·returned.·If·there·are·many·<code·class="inline">-vsn</code>1847 into·one,·that·is·<code·class="inline">{ok,{Module,[Vsn]}}</code>·is·returned.·If·there·are·many·<code·class="inline">-vsn</code>
1848 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="6135069980-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="6135069980-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn(1).</span><span·class="w">1848 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="8723891650-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="8723891650-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn(1).</span><span·class="w">
1849 </span><span·class="p"·data-group-id="6135069980-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6135069980-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="p"·data-group-id="6135069980-4">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·142,·SHA:·806dc811b2738663bb4b5b6545858ec86a9e2adbb408048be4676d34b46c507f·...·]0-2">}</span><span·class="gp·unselectable">1849 </span><span·class="p"·data-group-id="8723891650-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8723891650-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="p"·data-group-id="8723891650-4">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·142,·SHA:·eed1c80a26242f9de6360fab2e38d4654785254e14e18697d756fe39d49e008a·...·]0-2">}</span><span·class="gp·unselectable">
1850 2&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="6135069980-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="6135069980-5">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).</span><span·class="w">1850 2&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="8723891650-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="8723891650-5">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).</span><span·class="w">
1851 </span><span·class="p"·data-group-id="6135069980-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6135069980-7">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="6135069980-8">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·142,·SHA:·65d0df7f290baf52a593e08d383f6c4d42fce02de70de779ae5410a3e3edda0b·...·]0-6">}</span><span·class="gp·unselectable">1851 </span><span·class="p"·data-group-id="8723891650-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8723891650-7">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="8723891650-8">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·142,·SHA:·fb91f89347ce3006e820baa1c885e81d2529729c3178e38acfaa9712a03f338a·...·]0-6">}</span><span·class="gp·unselectable">
1852 3&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="6135069980-9">(</span><span·class="ss">c</span><span·class="p"·data-group-id="6135069980-9">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).·-vsn(2).</span><span·class="w">1852 3&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="8723891650-9">(</span><span·class="ss">c</span><span·class="p"·data-group-id="8723891650-9">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).·-vsn(2).</span><span·class="w">
1853 </span><span·class="p"·data-group-id="6135069980-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6135069980-11">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="p"·data-group-id="6135069980-12">[</span><span·class="mi">1</span><[·...·truncated·by·diffoscope;·len:·196,·SHA:·a3ec3923149497e8d193ad95195dc0d56cfebb1f07872008368a5c7212f5ff97·...·]0-10">}</span><span·class="gp·unselectable">1853 </span><span·class="p"·data-group-id="8723891650-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8723891650-11">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="p"·data-group-id="8723891650-12">[</span><span·class="mi">1</span><[·...·truncated·by·diffoscope;·len:·196,·SHA:·07d6139eda0d62a8d82a87482f9e6c7fefaf30c03b24e4c1d6a95c2439a5f8b4·...·]0-10">}</span><span·class="gp·unselectable">
1854 4&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="6135069980-13">(</span><span·class="ss">d</span><span·class="p"·data-group-id="6135069980-13">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·no·-vsn·attribute</span><span·class="w">1854 4&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="8723891650-13">(</span><span·class="ss">d</span><span·class="p"·data-group-id="8723891650-13">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·no·-vsn·attribute</span><span·class="w">
1855 </span><span·class="p"·data-group-id="6135069980-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6135069980-15">{</span><span·class="ss">d</span><span·class="p">,</span><span·class="p"·data-group-id="6135069980-16">[</span><span·class="mi">275613208[·...·truncated·by·diffoscope;·len:·185,·SHA:·7e1e1408370fe013e1b05f52537ef92dc2584ffeb59e0d128ab72eb75109a3bd·...·]0-14">}</span></code></pre>1855 </span><span·class="p"·data-group-id="8723891650-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8723891650-15">{</span><span·class="ss">d</span><span·class="p">,</span><span·class="p"·data-group-id="8723891650-16">[</span><span·class="mi">275613208[·...·truncated·by·diffoscope;·len:·185,·SHA:·028d28d6d98ee4823ec3d8855e4df7c1f70bf6a9bb72db762473120aacb90792·...·]0-14">}</span></code></pre>
1856 ··</section>1856 ··</section>
1857 </section>1857 </section>
  
1858 ····</div>1858 ····</div>
1859 ··</section>1859 ··</section>
  
1860 ····<footer·class="footer">1860 ····<footer·class="footer">
Offset 1879, 15 lines modifiedOffset 1879, 15 lines modified
1879 ······<p·class="built-using">1879 ······<p·class="built-using">
1880 ········Built·using1880 ········Built·using
1881 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1881 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1882 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1882 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1883 ······</p>1883 ······</p>
1884 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1884 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1885 ····</footer>1885 ····</footer>
1886 ··</div>1886 ··</div>
1887 </main>1887 </main>
1888 </div>1888 </div>
1889 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1889 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1890 ··<script>1890 ··<script>
1891 ··let·initialized·=·false;1891 ··let·initialized·=·false;
541 B
html2text {}
Max HTML report size reached
110 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/binary.html
    
Offset 631, 15 lines modifiedOffset 631, 15 lines modified
  
631 ······<div·class="specs">631 ······<div·class="specs">
  
632 ··········<pre·translate="no"><span·class="attribute">-spec</span>·bin_to_list(Subject)·->·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:byte/0">byte</a>()]·when·Subject·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>().</pre>632 ··········<pre·translate="no"><span·class="attribute">-spec</span>·bin_to_list(Subject)·->·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:byte/0">byte</a>()]·when·Subject·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>().</pre>
  
633 ······</div>633 ······</div>
  
634 <p>Converts·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a>s,·each·representing·the·value·of·one·byte.</p><p><em>Example:</em></p><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="6129903419-1">(</span><span·class="p"·data-group-id="6129903419-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="6129903419-2">&gt;&gt;</span><span·class="p"·data-group-id="6129903419-1">)</span><span·class="p">.</span><span·class="w">634 <p>Converts·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a>s,·each·representing·the·value·of·one·byte.</p><p><em>Example:</em></p><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="4748913162-1">(</span><span·class="p"·data-group-id="4748913162-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="4748913162-2">&gt;&gt;</span><span·class="p"·data-group-id="4748913162-1">)</span><span·class="p">.</span><span·class="w">
635 </span><span·class="s">&quot;erlang&quot;</span><span·class="w">635 </span><span·class="s">&quot;erlang&quot;</span><span·class="w">
636 </span><span·class="c1">%%·or·[101,114,108,97,110,103]·in·list·notation.</span></code></pre>636 </span><span·class="c1">%%·or·[101,114,108,97,110,103]·in·list·notation.</span></code></pre>
637 ··</section>637 ··</section>
638 </section>638 </section>
639 <section·class="detail"·id="bin_to_list/2">639 <section·class="detail"·id="bin_to_list/2">
  
640 ··<div·class="detail-header">640 ··<div·class="detail-header">
Offset 693, 15 lines modifiedOffset 693, 15 lines modified
693 ·····················when·Subject·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>(),·Pos·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·Len·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>().</pre>693 ·····················when·Subject·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>(),·Pos·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·Len·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>().</pre>
  
694 ······</div>694 ······</div>
  
695 <p>Converts·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a>s,·each·representing·the·value·of·one695 <p>Converts·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a>s,·each·representing·the·value·of·one
696 byte.·<code·class="inline">PosLen</code>·or·alternatively·<code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·denote·which·part·of·the696 byte.·<code·class="inline">PosLen</code>·or·alternatively·<code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·denote·which·part·of·the
697 <code·class="inline">Subject</code>·binary·to·convert.·By·default,·the·entire·<code·class="inline">Subject</code>·binary·is697 <code·class="inline">Subject</code>·binary·to·convert.·By·default,·the·entire·<code·class="inline">Subject</code>·binary·is
698 converted.</p><p><em>Example:</em></p><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="7343704472-1">(</span><span·class="p"·data-group-id="7343704472-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="7343704472-2">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·196,·SHA:·b7300f197426b955b80a7571a4897d373a9b7bcdcc2b721eb947a0092cfc67ba·...·]-1">)</span><span·class="p">.</span><span·class="w">698 converted.</p><p><em>Example:</em></p><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="2805740843-1">(</span><span·class="p"·data-group-id="2805740843-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="2805740843-2">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·196,·SHA:·92c8dcbf12ae2b87aec509d76330a683c7803683d713807279624f62b9102014·...·]-1">)</span><span·class="p">.</span><span·class="w">
699 </span><span·class="s">&quot;rla&quot;</span><span·class="w">699 </span><span·class="s">&quot;rla&quot;</span><span·class="w">
700 </span><span·class="c1">%%·or·[114,108,97]·in·list·notation.</span></code></pre><p>If·<code·class="inline">PosLen</code>·or·alternatively·<code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·in·any·way·reference·outside·the700 </span><span·class="c1">%%·or·[114,108,97]·in·list·notation.</span></code></pre><p>If·<code·class="inline">PosLen</code>·or·alternatively·<code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·in·any·way·reference·outside·the
701 binary,·a·<code·class="inline">badarg</code>·exception·is·raised.</p>701 binary,·a·<code·class="inline">badarg</code>·exception·is·raised.</p>
702 ··</section>702 ··</section>
703 </section>703 </section>
704 <section·class="detail"·id="compile_pattern/1">704 <section·class="detail"·id="compile_pattern/1">
  
Offset 827, 16 lines modifiedOffset 827, 16 lines modified
  
827 ······<div·class="specs">827 ······<div·class="specs">
  
828 ··········<pre·translate="no"><span·class="attribute">-spec</span>·decode_hex(Bin)·->·Bin2·when·Bin·::·<<_:_*16>>,·Bin2·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>().</pre>828 ··········<pre·translate="no"><span·class="attribute">-spec</span>·decode_hex(Bin)·->·Bin2·when·Bin·::·<<_:_*16>>,·Bin2·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>().</pre>
  
829 ······</div>829 ······</div>
  
830 <p>Decodes·a·hex·encoded·binary·into·a·binary.</p><p><em>Example</em></p><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="8270061579-1">(</span><span·class="p"·data-group-id="8270061579-2">&lt;&lt;</span><span·class="s">&quot;66&quot;</span><span·class="p"·data-group-id="8270061579-2">&gt;&gt;</span><span·class="p"·data-group-id="8270061579-1">)</span><span·class="p">.</span><span·class="w">830 <p>Decodes·a·hex·encoded·binary·into·a·binary.</p><p><em>Example</em></p><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="0732892554-1">(</span><span·class="p"·data-group-id="0732892554-2">&lt;&lt;</span><span·class="s">&quot;66&quot;</span><span·class="p"·data-group-id="0732892554-2">&gt;&gt;</span><span·class="p"·data-group-id="0732892554-1">)</span><span·class="p">.</span><span·class="w">
831 </span><span·class="p"·data-group-id="8270061579-3">&lt;&lt;</span><span·class="s">&quot;f&quot;</span><span·class="p"·data-group-id="8270061579-3">&gt;&gt;</span></code></pre>831 </span><span·class="p"·data-group-id="0732892554-3">&lt;&lt;</span><span·class="s">&quot;f&quot;</span><span·class="p"·data-group-id="0732892554-3">&gt;&gt;</span></code></pre>
832 ··</section>832 ··</section>
833 </section>833 </section>
834 <section·class="detail"·id="decode_unsigned/1">834 <section·class="detail"·id="decode_unsigned/1">
  
835 ··<div·class="detail-header">835 ··<div·class="detail-header">
836 ····<a·href="#decode_unsigned/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">836 ····<a·href="#decode_unsigned/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
837 ······<i·class="ri-link-m"·aria-hidden="true"></i>837 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 889, 19 lines modifiedOffset 889, 19 lines modified
889 ·····························Subject·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>(),889 ·····························Subject·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>(),
890 ·····························Endianness·::·big·|·little,890 ·····························Endianness·::·big·|·little,
891 ·····························Unsigned·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>891 ·····························Unsigned·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>
  
892 ······</div>892 ······</div>
  
893 <p>Converts·the·binary·digit·representation,·in·big·endian·or·little·endian,·of·a893 <p>Converts·the·binary·digit·representation,·in·big·endian·or·little·endian,·of·a
894 positive·integer·in·<code·class="inline">Subject</code>·to·an·Erlang·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</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">binary</span><span·class="p">:</span><span·class="nf">decode_unsigned</span><span·class="p"·data-group-id="0496699620-1">(</span><span·class="p"·data-group-id="0496699620-2">&lt;&lt;</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">199</span><span·class="p"·data-group-id="0496699620-2">&[·...·truncated·by·diffoscope;·len:·55,·SHA:·d1d1a415d7193cd53cd7623114df72dd3a9b791c8dc5a684407030609bef4a0f·...·]-1">)</span><span·class="p">.</span><span·class="w">894 positive·integer·in·<code·class="inline">Subject</code>·to·an·Erlang·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</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">binary</span><span·class="p">:</span><span·class="nf">decode_unsigned</span><span·class="p"·data-group-id="0143103816-1">(</span><span·class="p"·data-group-id="0143103816-2">&lt;&lt;</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">199</span><span·class="p"·data-group-id="0143103816-2">&[·...·truncated·by·diffoscope;·len:·55,·SHA:·f283a7397672c1fac10947824583d57a596d192ed1f2a4a0591994135c3038ff·...·]-1">)</span><span·class="p">.</span><span·class="w">
895 </span><span·class="mi">11111111</span><span·class="gp·unselectable">895 </span><span·class="mi">11111111</span><span·class="gp·unselectable">
896 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_unsigned</span><span·class="p"·data-group-id="0496699620-3">(</span><span·class="p"·data-group-id="0496699620-4">&lt;&lt;</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">199</span><span·class="p"·data-group-id="0496699620-4">&[·...·truncated·by·diffoscope;·len:·130,·SHA:·dae5aef4f125eb03f8063563d1cba1a674271a5a1c7c4ed0b1dbabcb96d477fc·...·]-3">)</span><span·class="p">.</span><span·class="w">896 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_unsigned</span><span·class="p"·data-group-id="0143103816-3">(</span><span·class="p"·data-group-id="0143103816-4">&lt;&lt;</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">199</span><span·class="p"·data-group-id="0143103816-4">&[·...·truncated·by·diffoscope;·len:·130,·SHA:·05204c1c35fc2f475128c74435e13122e29a02be5d8559d55d6ab6c562011be7·...·]-3">)</span><span·class="p">.</span><span·class="w">
897 </span><span·class="mi">11111111</span><span·class="gp·unselectable">897 </span><span·class="mi">11111111</span><span·class="gp·unselectable">
898 3&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_unsigned</span><span·class="p"·data-group-id="0496699620-5">(</span><span·class="p"·data-group-id="0496699620-6">&lt;&lt;</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">199</span><span·class="p"·data-group-id="0496699620-6">&[·...·truncated·by·diffoscope;·len:·133,·SHA:·925555fd5498c974494ef48393b3a3c6ce8eb6b0cee8cfd243a711e9c46ee48e·...·]-5">)</span><span·class="p">.</span><span·class="w">898 3&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_unsigned</span><span·class="p"·data-group-id="0143103816-5">(</span><span·class="p"·data-group-id="0143103816-6">&lt;&lt;</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">199</span><span·class="p"·data-group-id="0143103816-6">&[·...·truncated·by·diffoscope;·len:·133,·SHA:·d240754ced108ab65cf2fa01074df6cfd7f29d35ecf577183d033708791efe56·...·]-5">)</span><span·class="p">.</span><span·class="w">
899 </span><span·class="mi">13077161</span></code></pre>899 </span><span·class="mi">13077161</span></code></pre>
900 ··</section>900 ··</section>
901 </section>901 </section>
902 <section·class="detail"·id="encode_hex/1">902 <section·class="detail"·id="encode_hex/1">
  
903 ··<div·class="detail-header">903 ··<div·class="detail-header">
904 ····<a·href="#encode_hex/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">904 ····<a·href="#encode_hex/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 952, 22 lines modifiedOffset 952, 22 lines modified
  
952 ··········<pre·translate="no"><span·class="attribute">-spec</span>·encode_hex(Bin,·Case)·->·Bin2952 ··········<pre·translate="no"><span·class="attribute">-spec</span>·encode_hex(Bin,·Case)·->·Bin2
953 ····················when·Bin·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>(),·Case·::·lowercase·|·uppercase,·Bin2·::·<<_:_*16>>.</pre>953 ····················when·Bin·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>(),·Case·::·lowercase·|·uppercase,·Bin2·::·<<_:_*16>>.</pre>
  
954 ······</div>954 ······</div>
  
955 <p>Encodes·a·binary·into·a·hex·encoded·binary·using·the·specified·case·for·the955 <p>Encodes·a·binary·into·a·hex·encoded·binary·using·the·specified·case·for·the
956 hexadecimal·digits·&quot;a&quot;·to·&quot;f&quot;.</p><p>The·default·case·is·<code·class="inline">uppercase</code>.</p><p><em>Example:</em></p><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">encode_hex</span><span·class="p"·data-group-id="1044804429-1">(</span><span·class="p"·data-group-id="1044804429-2">&lt;&lt;</span><span·class="s">&quot;f&quot;</span><span·class="p"·data-group-id="1044804429-2">&gt;&gt;</span><span·class="p"·data-group-id="1044804429-1">)</span><span·class="p">.</span><span·class="w">956 hexadecimal·digits·&quot;a&quot;·to·&quot;f&quot;.</p><p>The·default·case·is·<code·class="inline">uppercase</code>.</p><p><em>Example:</em></p><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">encode_hex</span><span·class="p"·data-group-id="0500990082-1">(</span><span·class="p"·data-group-id="0500990082-2">&lt;&lt;</span><span·class="s">&quot;f&quot;</span><span·class="p"·data-group-id="0500990082-2">&gt;&gt;</span><span·class="p"·data-group-id="0500990082-1">)</span><span·class="p">.</span><span·class="w">
957 </span><span·class="p"·data-group-id="1044804429-3">&lt;&lt;</span><span·class="s">&quot;66&quot;</span><span·class="p"·data-group-id="1044804429-3">&gt;&gt;</span><span·class="gp·unselectable">957 </span><span·class="p"·data-group-id="0500990082-3">&lt;&lt;</span><span·class="s">&quot;66&quot;</span><span·class="p"·data-group-id="0500990082-3">&gt;&gt;</span><span·class="gp·unselectable">
958 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">encode_hex</span><span·class="p"·data-group-id="1044804429-4">(</span><span·class="p"·data-group-id="1044804429-5">&lt;&lt;</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="1044804429-5">&gt;&gt;</span><span·class="p"·data-group-id="1044804429-4">)</span><span·class="p">.</span><span·class="w">958 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">encode_hex</span><span·class="p"·data-group-id="0500990082-4">(</span><span·class="p"·data-group-id="0500990082-5">&lt;&lt;</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="0500990082-5">&gt;&gt;</span><span·class="p"·data-group-id="0500990082-4">)</span><span·class="p">.</span><span·class="w">
959 </span><span·class="p"·data-group-id="1044804429-6">&lt;&lt;</span><span·class="s">&quot;2F&quot;</span><span·class="p"·data-group-id="1044804429-6">&gt;&gt;</span><span·class="gp·unselectable">959 </span><span·class="p"·data-group-id="0500990082-6">&lt;&lt;</span><span·class="s">&quot;2F&quot;</span><span·class="p"·data-group-id="0500990082-6">&gt;&gt;</span><span·class="gp·unselectable">
960 3&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">encode_hex</span><span·class="p"·data-group-id="1044804429-7">(</span><span·class="p"·data-group-id="1044804429-8">&lt;&lt;</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="1044804429-8">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">lowercase</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·424d7362636ab8cbf0616b4886cc9354a600b0cce7bfa79ffd55cb6985d7ca3b·...·]-7">)</span><span·class="p">.</span><span·class="w">960 3&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">encode_hex</span><span·class="p"·data-group-id="0500990082-7">(</span><span·class="p"·data-group-id="0500990082-8">&lt;&lt;</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="0500990082-8">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">lowercase</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·e70ad517d7693e9fdd8295de6f795f0aa5d80cc7e30ab87337752be5faa3b423·...·]-7">)</span><span·class="p">.</span><span·class="w">
961 </span><span·class="p"·data-group-id="1044804429-9">&lt;&lt;</span><span·class="s">&quot;2f&quot;</span><span·class="p"·data-group-id="1044804429-9">&gt;&gt;</span><span·class="gp·unselectable">961 </span><span·class="p"·data-group-id="0500990082-9">&lt;&lt;</span><span·class="s">&quot;2f&quot;</span><span·class="p"·data-group-id="0500990082-9">&gt;&gt;</span><span·class="gp·unselectable">
962 4&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">encode_hex</span><span·class="p"·data-group-id="1044804429-10">(</span><span·class="p"·data-group-id="1044804429-11">&lt;&lt;</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="1044804429-11">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">uppercase<[·...·truncated·by·diffoscope;·len:·47,·SHA:·ad307897a271a9080a8724e488fd433fe8ca74dc319ff29d806de86ca7468cb7·...·]-10">)</span><span·class="p">.</span><span·class="w">962 4&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">encode_hex</span><span·class="p"·data-group-id="0500990082-10">(</span><span·class="p"·data-group-id="0500990082-11">&lt;&lt;</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="0500990082-11">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">uppercase<[·...·truncated·by·diffoscope;·len:·47,·SHA:·58cb7dbc71299ca5fedb716a4f955311b11c36467d6545fb4cd619b0ff5f91ea·...·]-10">)</span><span·class="p">.</span><span·class="w">
963 </span><span·class="p"·data-group-id="1044804429-12">&lt;&lt;</span><span·class="s">&quot;2F&quot;</span><span·class="p"·data-group-id="1044804429-12">&gt;&gt;</span></code></pre>963 </span><span·class="p"·data-group-id="0500990082-12">&lt;&lt;</span><span·class="s">&quot;2F&quot;</span><span·class="p"·data-group-id="0500990082-12">&gt;&gt;</span></code></pre>
964 ··</section>964 ··</section>
965 </section>965 </section>
966 <section·class="detail"·id="encode_unsigned/1">966 <section·class="detail"·id="encode_unsigned/1">
  
967 ··<div·class="detail-header">967 ··<div·class="detail-header">
968 ····<a·href="#encode_unsigned/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">968 ····<a·href="#encode_unsigned/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
969 ······<i·class="ri-link-m"·aria-hidden="true"></i>969 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1017, 20 lines modifiedOffset 1017, 20 lines modified
  
1017 ··········<pre·translate="no"><span·class="attribute">-spec</span>·encode_unsigned(Unsigned,·Endianness)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>()1017 ··········<pre·translate="no"><span·class="attribute">-spec</span>·encode_unsigned(Unsigned,·Endianness)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>()
1018 ·························when·Unsigned·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·Endianness·::·big·|·little.</pre>1018 ·························when·Unsigned·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·Endianness·::·big·|·little.</pre>
  
1019 ······</div>1019 ······</div>
  
1020 <p>Converts·a·positive·integer·to·the·smallest·possible·representation·in·a·binary1020 <p>Converts·a·positive·integer·to·the·smallest·possible·representation·in·a·binary
1021 digit·representation,·either·big·endian·or·little·endian.</p><p><em>Example:</em></p><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">encode_unsigned</span><span·class="p"·data-group-id="9036201693-1">(</span><span·class="mi">11111111</span><span·class="p"·data-group-id="9036201693-1">)</span><span·class="p">.</span><span·class="w">1021 digit·representation,·either·big·endian·or·little·endian.</p><p><em>Example:</em></p><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">encode_unsigned</span><span·class="p"·data-group-id="0973971725-1">(</span><span·class="mi">11111111</span><span·class="p"·data-group-id="0973971725-1">)</span><span·class="p">.</span><span·class="w">
1022 </span><span·class="p"·data-group-id="9036201693-2">&lt;&lt;</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">199</span><span·class="p"·data-group-id="9036201693-2">&gt;&gt;</span><span·class="gp·unselectable">1022 </span><span·class="p"·data-group-id="0973971725-2">&lt;&lt;</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">199</span><span·class="p"·data-group-id="0973971725-2">&gt;&gt;</span><span·class="gp·unselectable">
1023 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">encode_unsigned</span><span·class="p"·data-group-id="9036201693-3">(</span><span·class="mi">11111111</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">big</span><span·class="p"·data-group-id="9036201693-3">)</span><span·class="p">.</span><span·class="w">1023 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">encode_unsigned</span><span·class="p"·data-group-id="0973971725-3">(</span><span·class="mi">11111111</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">big</span><span·class="p"·data-group-id="0973971725-3">)</span><span·class="p">.</span><span·class="w">
1024 </span><span·class="p"·data-group-id="9036201693-4">&lt;&lt;</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">199</span><span·class="p"·data-group-id="9036201693-4">&gt;&gt;</span><span·class="gp·unselectable">1024 </span><span·class="p"·data-group-id="0973971725-4">&lt;&lt;</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">199</span><span·class="p"·data-group-id="0973971725-4">&gt;&gt;</span><span·class="gp·unselectable">
1025 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">encode_unsigned</span><span·class="p"·data-group-id="9036201693-5">(</span><span·class="mi">11111111</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">little</span><span·class="p"·data-group-id="9036201693-5">)</span><span·class="p">.</span><span·class="w">1025 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">encode_unsigned</span><span·class="p"·data-group-id="0973971725-5">(</span><span·class="mi">11111111</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">little</span><span·class="p"·data-group-id="0973971725-5">)</span><span·class="p">.</span><span·class="w">
1026 </span><span·class="p"·data-group-id="9036201693-6">&lt;&lt;</span><span·class="mi">199</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">169</span><span·class="p"·data-group-id="9036201693-6">&gt;&gt;</span></code></pre>1026 </span><span·class="p"·data-group-id="0973971725-6">&lt;&lt;</span><span·class="mi">199</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><span·class="mi">169</span><span·class="p"·data-group-id="0973971725-6">&gt;&gt;</span></code></pre>
1027 ··</section>1027 ··</section>
1028 </section>1028 </section>
1029 <section·class="detail"·id="first/1">1029 <section·class="detail"·id="first/1">
  
1030 ··<div·class="detail-header">1030 ··<div·class="detail-header">
1031 ····<a·href="#first/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1031 ····<a·href="#first/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1032 ······<i·class="ri-link-m"·aria-hidden="true"></i>1032 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1137, 17 lines modifiedOffset 1137, 17 lines modified
1137 ······<div·class="specs">1137 ······<div·class="specs">
  
1138 ··········<pre·translate="no"><span·class="attribute">-spec</span>·longest_common_prefix(Binaries)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>()·when·Binaries·::·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>(),·...].</pre>1138 ··········<pre·translate="no"><span·class="attribute">-spec</span>·longest_common_prefix(Binaries)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>()·when·Binaries·::·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>(),·...].</pre>
  
1139 ······</div>1139 ······</div>
  
1140 <p>Returns·the·length·of·the·longest·common·prefix·of·the·binaries·in·list1140 <p>Returns·the·length·of·the·longest·common·prefix·of·the·binaries·in·list
1141 <code·class="inline">Binaries</code>.</p><p><em>Example:</em></p><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">longest_common_prefix</span><span·class="p"·data-group-id="1392970011-1">(</span><span·class="p"·data-group-id="1392970011-2">[</span><span·class="p"·data-group-id="1392970011-3">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="1392970011-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·285,·SHA:·32ae9bc45d04ac68d323fdc0895db1eb9a9717be6164ff47b11766e267aad86f·...·]-1">)</span><span·class="p">.</span><span·class="w">1141 <code·class="inline">Binaries</code>.</p><p><em>Example:</em></p><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">longest_common_prefix</span><span·class="p"·data-group-id="9004723873-1">(</span><span·class="p"·data-group-id="9004723873-2">[</span><span·class="p"·data-group-id="9004723873-3">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="9004723873-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·285,·SHA:·8b8beb2efe57808bd2f566b669344cea222621124d1ea58c3f86563b9d61c679·...·]-1">)</span><span·class="p">.</span><span·class="w">
1142 </span><span·class="mi">2</span><span·class="gp·unselectable">1142 </span><span·class="mi">2</span><span·class="gp·unselectable">
1143 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">longest_common_prefix</span><span·class="p"·data-group-id="1392970011-5">(</span><span·class="p"·data-group-id="1392970011-6">[</span><span·class="p"·data-group-id="1392970011-7">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="1392970011-7">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·281,·SHA:·5cf277023e60e62d7780ba5e2f3cb0d20885c2034628a6b4d591458034d58be1·...·]-5">)</span><span·class="p">.</span><span·class="w">1143 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">longest_common_prefix</span><span·class="p"·data-group-id="9004723873-5">(</span><span·class="p"·data-group-id="9004723873-6">[</span><span·class="p"·data-group-id="9004723873-7">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="9004723873-7">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·281,·SHA:·83d982d29e9d849fc0a7abf58997a24a2c64750fcff70985e4ceda0cb2a515c3·...·]-5">)</span><span·class="p">.</span><span·class="w">
1144 </span><span·class="mi">0</span></code></pre><p>If·<code·class="inline">Binaries</code>·is·not·a·flat·non-empty·list·of·binaries,·a·<code·class="inline">badarg</code>·exception·is1144 </span><span·class="mi">0</span></code></pre><p>If·<code·class="inline">Binaries</code>·is·not·a·flat·non-empty·list·of·binaries,·a·<code·class="inline">badarg</code>·exception·is
1145 raised.</p>1145 raised.</p>
1146 ··</section>1146 ··</section>
1147 </section>1147 </section>
Max diff block lines reached; 85540/112160 bytes (76.27%) of diff not shown.
707 B
html2text {}
Max HTML report size reached
3.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-8.6.1/doc/html/compile.html#t:option/0">compile:option</a>(),1683 ················Option·::·<a·href="../../../../lib/compiler-8.6.1/doc/html/compile.html#t:option/0">compile:option</a>(),
1684 ················Module·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:module/0">module</a>().</pre>1684 ················Module·::·<a·href="../../../../erts-15.2.7/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="0260132774-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="0260132774-2">[</span><sp[·...·truncated·by·diffoscope;·len:·215,·SHA:·937e796d2411d8400238707b2f2d5107daeb06ed84fb14c35c684dcc81cd497d·...·]-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="8249443728-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="8249443728-2">[</span><sp[·...·truncated·by·diffoscope;·len:·215,·SHA:·890044364d501cc3ae51fd100e148dfce532f46b54e7b9eca21cb4f365467ef3·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2012 <p>Copyright·©·1996-2025·<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
13.7 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/calendar.html
    
Offset 1765, 18 lines modifiedOffset 1765, 18 lines modified
1765 ····································Option·::·{unit,·<a·href="#t:rfc3339_time_unit/0">rfc3339_time_unit</a>()}.</pre>1765 ····································Option·::·{unit,·<a·href="#t:rfc3339_time_unit/0">rfc3339_time_unit</a>()}.</pre>
  
1766 ······</div>1766 ······</div>
  
1767 <p>Converts·an·RFC·3339·timestamp·into·system·time.·The·data·format·of·RFC·33391767 <p>Converts·an·RFC·3339·timestamp·into·system·time.·The·data·format·of·RFC·3339
1768 timestamps·is·described·by·<a·href="https://www.ietf.org/rfc/rfc3339.txt">RFC·3339</a>.1768 timestamps·is·described·by·<a·href="https://www.ietf.org/rfc/rfc3339.txt">RFC·3339</a>.
1769 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·is1769 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
1770 <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="8789169751-1">(</span><span·class="s">&quot;2018-02-01T16:17:58+01:00&quot;</span><span·class="p"·data-group-id="8789169751-1">)</span><span·class="p">.</span><span·class="w">1770 <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="0673479228-1">(</span><span·class="s">&quot;2018-02-01T16:17:58+01:00&quot;</span><span·class="p"·data-group-id="0673479228-1">)</span><span·class="p">.</span><span·class="w">
1771 </span><span·class="mi">1517498278</span><span·class="gp·unselectable">1771 </span><span·class="mi">1517498278</span><span·class="gp·unselectable">
1772 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="8789169751-2">(</span><span·class="s">&quot;2018-02-01·15:18:02.088Z&quot;</span><span·class="p">,</span><span·class="w">1772 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="0673479228-2">(</span><span·class="s">&quot;2018-02-01·15:18:02.088Z&quot;</span><span·class="p">,</span><span·class="w">
1773 ···</span><span·class="p"·data-group-id="8789169751-3">[</span><span·class="p"·data-group-id="8789169751-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="8789169751-4">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·8bd76604b10a2539e0a2271059c54aeadffc5cac3eb042d1a59a84a4be266293·...·]-2">)</span><span·class="p">.</span><span·class="w">1773 ···</span><span·class="p"·data-group-id="0673479228-3">[</span><span·class="p"·data-group-id="0673479228-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="0673479228-4">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·968ea6d711fbd83cfc7bdfef950850161cb5fa78ff5a0a3a8b19e3ead091423e·...·]-2">)</span><span·class="p">.</span><span·class="w">
1774 </span><span·class="mi">1517498282088000000</span></code></pre>1774 </span><span·class="mi">1517498282088000000</span></code></pre>
1775 ··</section>1775 ··</section>
1776 </section>1776 </section>
1777 <section·class="detail"·id="seconds_to_daystime/1">1777 <section·class="detail"·id="seconds_to_daystime/1">
  
1778 ··<div·class="detail-header">1778 ··<div·class="detail-header">
1779 ····<a·href="#seconds_to_daystime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1779 ····<a·href="#seconds_to_daystime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1928, 24 lines modifiedOffset 1928, 24 lines modified
1928 interpreted·as·local·time.·A·non-empty·string·is·included·as·is.·The·time·unit1928 interpreted·as·local·time.·A·non-empty·string·is·included·as·is.·The·time·unit
1929 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,1929 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,
1930 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·some1930 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
1931 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>),1931 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>),
1932 the·formatted·string·includes·a·fraction·of·a·second.·The·number·of·fractional1932 the·formatted·string·includes·a·fraction·of·a·second.·The·number·of·fractional
1933 second·digits·is·three,·six,·or·nine·depending·on·what·time·unit·is·chosen.1933 second·digits·is·three,·six,·or·nine·depending·on·what·time·unit·is·chosen.
1934 For·<code·class="inline">native</code>·three·fractional·digits·are·included.·Notice·that·trailing·zeros1934 For·<code·class="inline">native</code>·three·fractional·digits·are·included.·Notice·that·trailing·zeros
1935 are·not·removed·from·the·fraction.</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="8329187003-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8329187003-2">(</span><span·class="ss">second</span><span·class="p"·data-group-id="8329187003-2">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·7dae2d5ce213aa9a0bd260a81193ccdfe03770ffe830d2ec0e06b7d36593ed8c·...·]-1">)</span><span·class="p">.</span><span·class="w">1935 are·not·removed·from·the·fraction.</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="4473358012-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="4473358012-2">(</span><span·class="ss">second</span><span·class="p"·data-group-id="4473358012-2">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·f1dac58b144c6eee0973e64a4bfa9f1a000a5228a782c12eafa18e0012be04b2·...·]-1">)</span><span·class="p">.</span><span·class="w">
1936 </span><span·class="s">&quot;2018-04-23T14:56:28+02:00&quot;</span><span·class="gp·unselectable">1936 </span><span·class="s">&quot;2018-04-23T14:56:28+02:00&quot;</span><span·class="gp·unselectable">
1937 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="8329187003-3">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8329187003-4">(</span><span·class="ss">second</span><span·class="p"·data-group-id="8329187003-4">)</span><span·class="p">,</span><span·class="w">1937 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="4473358012-3">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="4473358012-4">(</span><span·class="ss">second</span><span·class="p"·data-group-id="4473358012-4">)</span><span·class="p">,</span><span·class="w">
1938 ···</span><span·class="p"·data-group-id="8329187003-5">[</span><span·class="p"·data-group-id="8329187003-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="8329187003-6">}</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·f5800ac9d10d734ed75e6b65e242f2932f041b91c375f07b9c003bfaeba5a9ca·...·]-3">)</span><span·class="p">.</span><span·class="w">1938 ···</span><span·class="p"·data-group-id="4473358012-5">[</span><span·class="p"·data-group-id="4473358012-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="4473358012-6">}</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·c8e8248ff8c68c50e1133a12b150a76e06ab9d6565346884fa8acdba7a6a1de9·...·]-3">)</span><span·class="p">.</span><span·class="w">
1939 </span><span·class="s">&quot;2018-04-23T10:56:52-02:00&quot;</span><span·class="gp·unselectable">1939 </span><span·class="s">&quot;2018-04-23T10:56:52-02:00&quot;</span><span·class="gp·unselectable">
1940 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="8329187003-7">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8329187003-8">(</span><span·class="ss">second</span><span·class="p"·data-group-id="8329187003-8">)</span><span·class="p">,</span><span·class="w">1940 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="4473358012-7">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="4473358012-8">(</span><span·class="ss">second</span><span·class="p"·data-group-id="4473358012-8">)</span><span·class="p">,</span><span·class="w">
1941 ···</span><span·class="p"·data-group-id="8329187003-9">[</span><span·class="p"·data-group-id="8329187003-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="8329187003-10">}</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·dcfafb8841c9d31b7ed9d77bd7868f223ae9dfa5e90e64fa1f5eb8fffccbc79e·...·]-7">)</span><span·class="p">.</span><span·class="w">1941 ···</span><span·class="p"·data-group-id="4473358012-9">[</span><span·class="p"·data-group-id="4473358012-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="4473358012-10">}</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·6cc7f7277ff9852c26905ad7a6ac5bebd5737d4582488b4d193110246d1cf036·...·]-7">)</span><span·class="p">.</span><span·class="w">
1942 </span><span·class="s">&quot;2018-04-23T10:57:05-02:00&quot;</span><span·class="gp·unselectable">1942 </span><span·class="s">&quot;2018-04-23T10:57:05-02:00&quot;</span><span·class="gp·unselectable">
1943 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="8329187003-11">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8329187003-12">(</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="8329187003-12">)</span><span·class="p">,</span><span·class="w">1943 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="4473358012-11">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="4473358012-12">(</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="4473358012-12">)</span><span·class="p">,</span><span·class="w">
1944 ···</span><span·class="p"·data-group-id="8329187003-13">[</span><span·class="p"·data-group-id="8329187003-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="8329187003-14">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·621,·SHA:·b6406a89073b36128a9582b12ac33a19ec03b96f3136bc1309dee4d6b789d508·...·]-11">)</span><span·class="p">.</span><span·class="w">1944 ···</span><span·class="p"·data-group-id="4473358012-13">[</span><span·class="p"·data-group-id="4473358012-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="4473358012-14">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·621,·SHA:·049da154e49d41edf0ec312b74112d3198cc8ec6fc1b314491aa1a0996a6b8bc·...·]-11">)</span><span·class="p">.</span><span·class="w">
1945 </span><span·class="s">&quot;2018-04-23·12:57:20.482Z&quot;</span></code></pre>1945 </span><span·class="s">&quot;2018-04-23·12:57:20.482Z&quot;</span></code></pre>
1946 ··</section>1946 ··</section>
1947 </section>1947 </section>
1948 <section·class="detail"·id="system_time_to_universal_time/2">1948 <section·class="detail"·id="system_time_to_universal_time/2">
  
1949 ··<div·class="detail-header">1949 ··<div·class="detail-header">
1950 ····<a·href="#system_time_to_universal_time/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1950 ····<a·href="#system_time_to_universal_time/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2158, 15 lines modifiedOffset 2158, 15 lines modified
2158 ······<p·class="built-using">2158 ······<p·class="built-using">
2159 ········Built·using2159 ········Built·using
2160 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2160 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2161 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2161 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2162 ······</p>2162 ······</p>
2163 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2163 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2164 ····</footer>2164 ····</footer>
2165 ··</div>2165 ··</div>
2166 </main>2166 </main>
2167 </div>2167 </div>
2168 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2168 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2169 ··<script>2169 ··<script>
2170 ··let·initialized·=·false;2170 ··let·initialized·=·false;
784 B
html2text {}
Max HTML report size reached
26.8 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),·Objects·::·[<a·href="#t:object/0">object</a>()],·Reason·::·<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),·Objects·::·[<a·href="#t:object/0">object</a>()],·Reason·::·<a·href="../../../../erts-15.2.7/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="4983957511-1">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4983957511-2">[</span><span·class="p"·data-group-id="4983957511-3">{</span><span·class="ss">type</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·197,·SHA:·f167f605ea32422bcb422dc7cf4a5659896b5bd4c557bf77db6cb165b059aa5a·...·]-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="5376229672-1">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5376229672-2">[</span><span·class="p"·data-group-id="5376229672-3">{</span><span·class="ss">type</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·197,·SHA:·dd4645e76e2bd5b020092d3366085014a916bbf9c1b9da8e0f7a0651acebb36a·...·]-1">)</span><span·class="p">.</span><span·class="w">
1851 </span><span·class="p"·data-group-id="4983957511-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">abc</span><span·class="p"·data-group-id="4983957511-4">}</span><span·class="gp·unselectable">1851 </span><span·class="p"·data-group-id="5376229672-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">abc</span><span·class="p"·data-group-id="5376229672-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="4983957511-5">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4983957511-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:·7f4f7089d254eae7416451725e350c7b0aec97cbe18381a288541618be00a74d·...·]-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="5376229672-5">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5376229672-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:·20613741fb4ab151987086868462be345e9a93f77e65f54c12a1d9f4b2a55324·...·]-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="4983957511-7">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4983957511-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:·02a232dcee1f761cff52cd6089e96357540844fbbf6e61d2561b16299529b581·...·]-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="5376229672-7">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5376229672-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:·e5889659de565817a095ef2ecc6a124e0b81402e214e54b2e21b346ea3e3d842·...·]-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="4983957511-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="4983957511-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="5376229672-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="5376229672-9">)</span><span·class="p">.</span><span·class="w">
1857 </span><span·class="p"·data-group-id="4983957511-10">[</span><span·class="p"·data-group-id="4983957511-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="4983957511-11">}</span><s[·...·truncated·by·diffoscope;·len:·294,·SHA:·08dd7af9000c7d056b4ef0ef056072e93e431403d4354bea44bbcff92c73b816·...·]-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="5376229672-10">[</span><span·class="p"·data-group-id="5376229672-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="5376229672-11">}</span><s[·...·truncated·by·diffoscope;·len:·294,·SHA:·e72208d6d188e49e8fbfaa7c4138ca25ce470fb5271521e57d4a63605b651a7a·...·]-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="9233357713-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9233357713-2">[</span><span·class="p"·data-group-id="9233357713-2">]</span><span·class="p"·data-group-id="9233357713-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="0599405444-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0599405444-2">[</span><span·class="p"·data-group-id="0599405444-2">]</span><span·class="p"·data-group-id="0599405444-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="9233357713-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9233357713-4">[</span><span·class="p"·data-group-id="9233357713-5">{</span><span·class="mi">1</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·778,·SHA:·aa2e6d221f9a53ef666c88e5d546991c2e3c24b075cec32d8d74ea5f7f11ce90·...·]-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="0599405444-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0599405444-4">[</span><span·class="p"·data-group-id="0599405444-5">{</span><span·class="mi">1</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·778,·SHA:·b8bf66c93a3d00b7e8a8acfeb99cc8fc2d5b61a461904d0d0a9f9b7484261b8d·...·]-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="9233357713-9">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9233357713-10">(</span><span·class="p"·data-group-id="9233357713-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:·994,·SHA:·a41a5337c7c9683fbfb31ab58c35ed1eaa07886637720aae0fe8ae1eaf4557cd·...·]-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="0599405444-9">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0599405444-10">(</span><span·class="p"·data-group-id="0599405444-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:·994,·SHA:·487a81c002c7be4bd932d8c77a553875d0dda040b91634d60e45d1f9cd3f049e·...·]-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="9233357713-15">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9233357713-16">[</span><span·class="p"·data-group-id="9233357713-17">{</span><span·class="ss">traverse</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·2206,·SHA:·1f20e6980fc79b58a24b4604b413cb379bb973a691b55fdb0f45030dbe712499·...·]-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="0599405444-15">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0599405444-16">[</span><span·class="p"·data-group-id="0599405444-17">{</span><span·class="ss">traverse</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·2206,·SHA:·46ac119d693665604ef7512e30562ced4b260adcff583f52c5fc59645e2b7c1b·...·]-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="3412204517-1">(</span><span·class="n">QH1</span><span·class="p"·data-group-id="3412204517-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:·2063e3002f57bd7feb7b91ddc6f907e65b6f17a29bbbf8084d8a2190777d833c·...·]-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="1738008066-1">(</span><span·class="n">QH1</span><span·class="p"·data-group-id="1738008066-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:·a3f1f89c839d1b499d94f9d9f68650af1f0783f845392b23b9a286ef83835ab8·...·]-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-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>2740 ······················Reason·::·<a·href="../../../../erts-15.2.7/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="3788495868-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="3788495868-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><s[·...·truncated·by·diffoscope;·len:·380,·SHA:·a8cc26e9d848956b25df815975ae8e7eda21b87022b570dc83a343d7699df15c·...·]-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="3331237660-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="3331237660-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><s[·...·truncated·by·diffoscope;·len:·380,·SHA:·208f99ec9e71a13a3f4776cd51885681c436b36cdea3ee3b96b4347ef35031ff·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2814 <p>Copyright·©·1996-2025·<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-6.2.2/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="1722328192-1">(</span><span·class="p"·data-group-id="1722328192-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="9989011090-1">(</span><span·class="p"·data-group-id="9989011090-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="1722328192-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1722328192-3">[</span><span·class="p"·data-group-id="1722328192-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·63,·SHA:·6827c70d854f70eeac4275fd5968f191782992835d27a49a6266d8fc0841de61·...·]-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="9989011090-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9989011090-3">[</span><span·class="p"·data-group-id="9989011090-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·63,·SHA:·e6503317a5bf652b8cee7c6384da4a453efeca0fd17b12355ec877de2e360273·...·]-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="1722328192-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="1722328192-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="9989011090-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="9989011090-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="1722328192-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="1722328192-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="9989011090-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="9989011090-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="1722328192-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="1722328192-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="9989011090-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="9989011090-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="1722328192-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="1722328192-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="9989011090-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="9989011090-7">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p"·data-group-id="1722328192-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="1722328192-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="9989011090-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="9989011090-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="5172951350-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="5172951350-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="9008600901-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="9008600901-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="5172951350-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5172951350-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:·3d4b44fc617e63e3d674f2044dce49bb1b77f6954abf1f5fe20777089f1ec782·...·]-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="9008600901-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="9008600901-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:·78e703dc3735eb5ed7882946b2960107febe04c6066a8f6dcf587f0384d3d612·...·]-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="5172951350-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="5172951350-5">(</span><span·class="n">V2</span><span·class="p"·data-group-id="51[·...·truncated·by·diffoscope;·len:·634,·SHA:·a21f4a6139520e6b7960123632196cc516d67aa737c94d1f3ce90ede38cce33d·...·]-4">)</span><span·class="w">878 ·················</span><span·class="nf">update</span><span·class="p"·data-group-id="9008600901-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="9008600901-5">(</span><span·class="n">V2</span><span·class="p"·data-group-id="90[·...·truncated·by·diffoscope;·len:·634,·SHA:·d733baab3c139ad2f2f04a0eafeed36b2fedf5403b1fef60535fd6623b98e6a8·...·]-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="5172951350-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="9008600901-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="4557133686-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="4557133686-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="1916335686-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="1916335686-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="4557133686-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="4557133686-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·670,·SHA:·09fdeb7f95757228687f1b93689dadc9632980e0e21f627f654940a2e6d0c3d9·...·]686-2">)</span><span·class="p">.</span></code></pre>1079 ····</span><span·class="nf">update</span><span·class="p"·data-group-id="1916335686-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="1916335686-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·670,·SHA:·49f45e43ce1e142ad41173b167f3a228a8c342e2599f6986d0079024a683d697·...·]686-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-15.2.7/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-15.2.7/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="0974581298-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="0974581298-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="8850470365-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="8850470365-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="0974581298-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="0974581298-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·462,·SHA:·4fbcd0e27a32b63b42e446805653fda449aeb7c2fb916126313e38f6c3b0b435·...·]-2">)</span><span·class="p">.</span></code></pre>1109 ····</span><span·class="nf">update</span><span·class="p"·data-group-id="8850470365-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="8850470365-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·462,·SHA:·b9acbf4b4d39893bcfcd00002fa0eebc802d05a055cbf03cd9e3f61533b854c5·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1138 <p>Copyright·©·1996-2025·<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-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1763 <p>Copyright·©·1996-2025·<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-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1009 <p>Copyright·©·1996-2025·<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-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>341 <p>Copyright·©·1996-2025·<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.5 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>333 <p>Copyright·©·1996-2025·<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-6.2.2/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="1345636140-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="13456361[·...·truncated·by·diffoscope;·len:·368,·SHA:·12ff30068abefb881252db78beff0b342c11fe0fe8aa521ee61a3740beaba52a·...·]8-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="4650873250-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="46508732[·...·truncated·by·diffoscope;·len:·368,·SHA:·99d6491a9e525a759907087008f4b63acdf64ccba00bded12e62c0dc90b8ca79·...·]8-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1190 <p>Copyright·©·1996-2025·<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-6.2.2/doc/html/erl_anno.html
    
Offset 1211, 15 lines modifiedOffset 1211, 15 lines modified
1211 ······<p·class="built-using">1211 ······<p·class="built-using">
1212 ········Built·using1212 ········Built·using
1213 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1213 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1214 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1214 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1215 ······</p>1215 ······</p>
1216 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1216 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1217 ····</footer>1217 ····</footer>
1218 ··</div>1218 ··</div>
1219 </main>1219 </main>
1220 </div>1220 </div>
1221 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1221 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1222 ··<script>1222 ··<script>
1223 ··let·initialized·=·false;1223 ··let·initialized·=·false;
645 B
html2text {}
Max HTML report size reached
27.0 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),·<a·href="#t:column/0">column</a>())·->·<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),·<a·href="#t:column/0">column</a>())·->·<a·href="../../../../erts-15.2.7/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="3211338996-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="3211338996-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·418,·SHA:·1f9fd1535522d176c7ef7635a27ed250eb58bdb479e94c7369067b51e74bcad9·...·]-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="0028308315-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="0028308315-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·418,·SHA:·ce306083be7c8f59c274fc2d215f8bf7c6abe9facbdf66caf2e6290306a62145·...·]-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="7386723645-1">(</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="7386723645-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="5751367839-1">(</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="5751367839-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="7386723645-2">(</span><span·class="p"·data-group-id="7386723645-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:·b2ce2a2324cf308a3549fb0b41baf398f79d206e4711bfdb810121602e042ade·...·]-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="5751367839-2">(</span><span·class="p"·data-group-id="5751367839-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:·1a35276696d1de1c7ebd28ac55a4669c4cbb1b3843e1a67bc5645c795de3fc7e·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
433 </span><span·class="nf">atom_to_string</span><span·class="p"·data-group-id="7386723645-4">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="7386723645-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="7386723645-5">(</s[·...·truncated·by·diffoscope;·len:·71,·SHA:·2c0df1c4b0b12b2d4878c12fe44f4d1d1b7acc5509743270f3cc6632db005218·...·]-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="5751367839-4">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="5751367839-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="5751367839-5">(</s[·...·truncated·by·diffoscope;·len:·71,·SHA:·f729e938561f8701082cb89cfb25d26d796ece27126298372f762d4f3aa5dbe1·...·]-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="7386723645-6">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="7386723645-6">)</span><span·class="p">;</span><span·class="w">434 ··</span><span·class="nf">atom_to_list</span><span·class="p"·data-group-id="5751367839-6">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="5751367839-6">)</span><span·class="p">;</span><span·class="w">
435 </span><span·class="nf">atom_to_string</span><span·class="p"·data-group-id="7386723645-7">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="7386723645-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="5751367839-7">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="5751367839-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="7386723645-8">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="7386723645-9">[</span><span·class="n">Arg</span><span·class="p"·data-group-id="7386723645-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="5751367839-8">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="5751367839-9">[</span><span·class="n">Arg</span><span·class="p"·data-group-id="5751367839-9">]</span><span·class="p">,</span><span·class="w">
437 ···············</span><span·class="p"·data-group-id="7386723645-10">[</span><span·class="p"·data-group-id="7386723645-11">{</span><span·class="ss">error_info</span><span·class="p">,</span><span·class="p"·data-group-id="7386723645-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="5751367839-10">[</span><span·class="p"·data-group-id="5751367839-11">{</span><span·class="ss">error_info</span><span·class="p">,</span><span·class="p"·data-group-id="5751367839-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="7386723645-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:·eeffd82da2936fe163701437f1d306ba649605ce599b38605fae1abc865e8122·...·]-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="5751367839-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:·e81ea733a7d0ef1f91e437d2e9a067b1ff76d43b8d58d5765e385c396ac11dac·...·]-8">)</span><span·class="p">.</span><span·class="w">
  
439 </span><span·class="nf">format_error</span><span·class="p"·data-group-id="7386723645-14">(</span><span·class="n">Reason</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7386723645-15">[</span><span·class="p"·data-group-id="7386723645-16">{</span><span·class="p">_</span><span·class="n">M</span>[·...·truncated·by·diffoscope;·len:·393,·SHA:·812ba60ad1ee20500dc294278187d8ae94881a6fe3ff7d3146b5708b354d3770·...·]-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="5751367839-14">(</span><span·class="n">Reason</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5751367839-15">[</span><span·class="p"·data-group-id="5751367839-16">{</span><span·class="p">_</span><span·class="n">M</span>[·...·truncated·by·diffoscope;·len:·393,·SHA:·94224c1409b8d9e2d60cdac175c62106f84715c083561659b7042daf6fc66161·...·]-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="7386723645-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="7386723645-18">#{</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·74,·SHA:·67e9f8cf3acc644aa071f1974a6fc17bf30dcae72a5bf5abbefc11ebf9f0d705·...·]-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="5751367839-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="5751367839-18">#{</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·74,·SHA:·49f29ca3861866b23814868816853d7e6775920f9904297ba188fb669a5c0eb2·...·]-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="7386723645-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="7386723645-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="5751367839-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="5751367839-19">)</span><span·class="p">,</span><span·class="w">
442 ··</span><span·class="n">ErrorMap</span><span·class="p"·data-group-id="7386723645-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="5751367839-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="7386723645-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="7386723645-22">[</span><span·class="o">?</s[·...·truncated·by·diffoscope;·len:·582,·SHA:·9037e74418ec2bff6e87cb275cd2c289c5f0482c303d4c51949d57ee9b89abb6·...·]-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="5751367839-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="5751367839-22">[</span><span·class="o">?</s[·...·truncated·by·diffoscope;·len:·582,·SHA:·8a7c9b0e2a31f7d7063edca9fec5e031e8a87da43ab381a05044f6c54535e271·...·]-1">)</span><span·class="p">.</span><span·class="w">
444 </span><span·class="p"·data-group-id="5764724566-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="5764724566-2">}</span><span·class="gp·unselectable">444 </span><span·class="p"·data-group-id="7917908118-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="7917908118-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="5764724566-3">(</span><span·class="mi">1</span><span·class="p"·data-group-id="5764724566-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="7917908118-3">(</span><span·class="mi">1</span><span·class="p"·data-group-id="7917908118-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-15.2.7/doc/html/erlang.html#t:stacktrace/0">erlang:stacktrace</a>(),524 ······························StackTrace·::·<a·href="../../../../erts-15.2.7/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="0049016107-1">(</span><span·class="p"·data-group-id="0049016107-1">)</span><span·class="w">529 ····</span><span·class="nf">do_something</span><span·class="p"·data-group-id="8766092794-1">(</span><span·class="p"·data-group-id="8766092794-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="0049016107-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="0049016107-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="8766092794-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="8766092794-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="0049016107-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="0049016107-4">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·34e5b1355b2574f5eb79fc0b77cca512bba0d5b328fcc300279a34b3692bed20·...·]-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="8766092794-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="8766092794-4">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·97f6e45b1b8b1412e1ce5b6e272479be61aeb4baf5806fb30b7fce4d7c66e89d·...·]-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="5999853223-1">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="5999853223-2">[</span><span·class="p"·data-group-id="5999853223-2">]</span><span·class="p">,</span><span·class="p"·data-group-id="5999853223-3">[</sp[·...·truncated·by·diffoscope;·len:·368,·SHA:·ae6f6110f1a232fff3337ab83dfcd5c60963339be6414ec89dd9cc0347c2f69f·...·]-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="1916212896-1">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="1916212896-2">[</span><span·class="p"·data-group-id="1916212896-2">]</span><span·class="p">,</span><span·class="p"·data-group-id="1916212896-3">[</sp[·...·truncated·by·diffoscope;·len:·368,·SHA:·03f9c514cb257640d763655ad4eeff67c382c29634f6925ba7c046c2cc5c1024·...·]-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="5999853223-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="5999853223-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="1916212896-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="1916212896-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="5999853223-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="5999853223-8">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·07f089dfe25d194842c8f4e02be69790b9d91e95a9c74868d9cc61d7e7b80b92·...·]-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="1916212896-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="1916212896-8">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·0c7c92a2083293e6a6507293e44aab0e6b291e12f641886d9e9e4152abb85c94·...·]-7">)</span><span·class="w">
541 </span><span·class="k">end</span></code></pre><p>See·<a·href="../../../../erts-15.2.7/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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>571 <p>Copyright·©·1996-2025·<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.78 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="0359326212-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="0359326212-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="0853635286-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="0853635286-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-15.2.7/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-15.2.7/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="1314309753-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="1314309753-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="2250008613-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="2250008613-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="2164289531-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="2164289531-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="2527399194-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="2527399194-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-15.2.7/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-15.2.7/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="4765699083-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="4765699083-1">)</span></code></pre><p>or·three·arguments:</p><pre><code·class="makeup·erlang[·...·truncated·by·diffoscope;·len:·324,·SHA:·bd07dda73ecd92aaa0c2ad40ca4dd663f1843276d1ecb276532ea72ee19b83df·...·]-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="8382610919-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="8382610919-1">)</span></code></pre><p>or·three·arguments:</p><pre><code·class="makeup·erlang[·...·truncated·by·diffoscope;·len:·324,·SHA:·1a6d793f739fa07051cf87a4bfc904233b319f77a1f4a1afc6a7cb7e7b37554e·...·]-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·on·the·form·<code·class="inline">{Module,Function}</code>·or·a·fun,·and165 is·the·name·of·the·function·on·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-15.2.7/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-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1370 <p>Copyright·©·1996-2025·<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-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>235 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>575 <p>Copyright·©·1996-2025·<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.5 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>288 <p>Copyright·©·1996-2025·<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.54 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>561 <p>Copyright·©·1996-2025·<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.79 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="9701687320-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="97016873[·...·truncated·by·diffoscope;·len:·369,·SHA:·39dd8f85836db702b13dd6b5f7d1661687493aa2cf7d9cb5e48b8739cf6cabbc·...·]-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="8718733612-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="87187336[·...·truncated·by·diffoscope;·len:·369,·SHA:·17f32faa061558b633319c47a4c78c5720b2d72cd29627d79f6b315b2ecff644·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>578 <p>Copyright·©·1996-2025·<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.94 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="4350136184-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="43501361[·...·truncated·by·diffoscope;·len:·368,·SHA:·2695c08d6ed07ae049708573e74223bfe2fdabe7429900ee20baad8f5ff20d22·...·]7-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="6363521834-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="63635218[·...·truncated·by·diffoscope;·len:·368,·SHA:·9a623f0713d16b56200abb327d5beded6a01c938ee65598b18d674ded8017e1e·...·]7-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-15.2.7/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-15.2.7/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 5628, 15 lines modifiedOffset 5628, 15 lines modified
5628 ······<p·class="built-using">5628 ······<p·class="built-using">
5629 ········Built·using5629 ········Built·using
5630 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the5630 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
5631 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>5631 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
5632 ······</p>5632 ······</p>
5633 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>5633 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
5634 ····</footer>5634 ····</footer>
5635 ··</div>5635 ··</div>
5636 </main>5636 </main>
5637 </div>5637 </div>
5638 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>5638 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
5639 ··<script>5639 ··<script>
5640 ··let·initialized·=·false;5640 ··let·initialized·=·false;
677 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>968 <p>Copyright·©·1996-2025·<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.75 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="6279610017-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="6279[·...·truncated·by·diffoscope;·len:·373,·SHA:·91ee8e61b6f2da65d6fed0832f240d9ff1a9a28e8dbf56871e2e64b1a909ccd7·...·]-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="9331966975-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="9331[·...·truncated·by·diffoscope;·len:·373,·SHA:·494394721f4bd1ea1e5771169c4967ec0f47609f001ace2e98100948027f3346·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1292 <p>Copyright·©·1996-2025·<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-6.2.2/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.2.7/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.2.7/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.2.7/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.2.7/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="0309493941-1">(</span><span·class="ss">write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0309493941-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:·c6ca185d87daefd749f72f4d77820901e0c4c2c2f30a2421fb9986d9366ca3c7·...·]-3">)</span><span·class="p">;</span><span·class="w">1246 ···</span><span·class="nf">fun</span><span·class="p"·data-group-id="2848480625-1">(</span><span·class="ss">write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2848480625-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:·0f79aeb7e9ff64c1ca0b33160025c8b41b33ca766cdc6395be4e76c5a0019365·...·]-3">)</span><span·class="p">;</span><span·class="w">
1247 ······</span><span·class="p"·data-group-id="0309493941-4">(</span><span·class="ss">position</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0309493941-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:·777a7aeff414b040c1d88f07eb29f37655d88ca66f0091ebd41e20bf165ed2aa·...·]-6">)</span><span·class="p">;</span><span·class="w">1247 ······</span><span·class="p"·data-group-id="2848480625-4">(</span><span·class="ss">position</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2848480625-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:·3e1b66f8adfa64c7e677c7919307e4709bd9863f1942fadb6d443079f2721c4f·...·]-6">)</span><span·class="p">;</span><span·class="w">
1248 ······</span><span·class="p"·data-group-id="0309493941-7">(</span><span·class="ss">read2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0309493941-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:·6d6d65b086e6acff4224a9723c87cee24af17039081bec8f5e0adee2eafdf853·...·]-9">)</span><span·class="p">;</span><span·class="w">1248 ······</span><span·class="p"·data-group-id="2848480625-7">(</span><span·class="ss">read2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2848480625-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:·293c30806e6957c02cad725db0c516ce2a79b771605a859c332800b9303f27c5·...·]-9">)</span><span·class="p">;</span><span·class="w">
1249 ······</span><span·class="p"·data-group-id="0309493941-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="0309493941-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·200,·SHA:·feb3db4b71d546ac7903e176772c2c2fdebe72de2848dd89aa7d02d413103e8d·...·]-11">)</span><span·class="w">1249 ······</span><span·class="p"·data-group-id="2848480625-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="2848480625-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·200,·SHA:·e11ee6b492d725805eab430987e973c9079fbcb2320eddf8ef37cc7ed130aac4·...·]-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="7830547309-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Fd</span><span·class="p"·data-group-id="7830547309-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">open</span><span·class="p"·data-group-id="7830547309-2">(</span><span·class="n">Name</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-group-id="7830547309-2">)</span><span·class="p">.</span><span·class="w"> 
1251 </span><span·class="p"·data-group-id="7830547309-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="7830547309-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w"[·...·truncated·by·diffoscope;·len:·1041,·SHA:·4276b7d4f4decd5b42d2ea5798a5b1c9482bc7f7721e675173b84a05d6971037·...·]</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=[·...·truncated·by·diffoscope;·len:·573,·SHA:·562d8a617cd059d3b3fd4ef1b5913f22cafd183c207f7986edf5187cd41e8f3b·...·]</span><span·class="w">
 1251 </span><span·class="p"·data-group-id="3879991414-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="3879991414-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erl_tar</span><span·class="p">:</span><span·class="nf">init</span><span·class="p"·data-group-id="3879991414-4">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3879991414-5">[</span><span·class="ss">write</span><span·class="p"·data-group-id="3879991414-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExampleFun</span><span·class="p"·data-group-id="3879991414-4">)</span><span·class="p">,</span></code></pre><p><code·class="inline">TarDesc</code>·is·then·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">erl_tar</span><span·class="p">:</span><span·class="nf">add</span><span·class="p"·data-group-id="3550350316-1">(</span><span·class="n">TarDesc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SomeValueIwantToAdd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FileNameInTarFile</span><span·class="p"·data-group-id="3550350316-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="3424695578-2">(</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="3424695578-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="3550350316-2">(</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="3550350316-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1430 <p>Copyright·©·1996-2025·<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-6.2.2/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="7499802501-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="7499802501-2">[</span><span·class="n">Source</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·12785fbbd3040bc4cab339ec38c366ffba5369dcf759fa2d2a9f20c1ab015c43·...·]-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="0508845788-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="0508845788-2">[</span><span·class="n">Source</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·5b5a7246c57ee05056f5a231bea7080f2d6a0d24f6d50ec64bb51a5f586e3a9e·...·]-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="7499802501-3">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="7499802501-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="0508845788-3">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="0508845788-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="7499802501-4">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="7499802501-5">(</span><span·class="ss">schedulers</span><span·class="p"·data-group-id="7499802501-5">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·9ccf4bd41bcd5c3ce76031d04915d4e4ff242193246251600d44c84cef14ca8d·...·]-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="0508845788-4">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="0508845788-5">(</span><span·class="ss">schedulers</span><span·class="p"·data-group-id="0508845788-5">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·ac2f39b4c5baf90274e27279e5d1d858d398c311754fffb70d9ee522c9d3ef01·...·]-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="7499802501-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="7499802501-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·630,·SHA:·d830e828132815cc6b59817164444448f57c9f77fa4dc3843e2c06b2f150b2ca·...·]-9">}</span><span·class="p">,</span><span·class="w">514 &gt;·</span><span·class="p"·data-group-id="0508845788-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="0508845788-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·630,·SHA:·afcd80e6a9af72be2f07d3f71ef292254496cff56499b7f219b240803e59a431·...·]-9">}</span><span·class="p">,</span><span·class="w">
515 ······································</span><span·class="p"·data-group-id="7499802501-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="7499802501-11">(</span><span·class="n">Source</span><span·class="p"·data-group-id="749[·...·truncated·by·diffoscope;·len:·168,·SHA:·18acb323722098ecd5266d26df8112704fe6a549800426d211c65f86df577ad3·...·]-7">)</span><span·class="p">.</span><span·class="w">515 ······································</span><span·class="p"·data-group-id="0508845788-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="0508845788-11">(</span><span·class="n">Source</span><span·class="p"·data-group-id="050[·...·truncated·by·diffoscope;·len:·168,·SHA:·a4ac586ac8eb5dbc682d542ec21f7ac91a29286f15625038e5171a1f9aa06438·...·]-7">)</span><span·class="p">.</span><span·class="w">
516 </span><span·class="p"·data-group-id="7499802501-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7499802501-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">.</spa[·...·truncated·by·diffoscope;·len:·152,·SHA:·05b1250f76a37df655732ebbb69209a8b8052c2e0fe47418dd45ddb7ad08e34a·...·]-12">}</span><span·class="gp·unselectable">516 </span><span·class="p"·data-group-id="0508845788-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0508845788-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">.</spa[·...·truncated·by·diffoscope;·len:·152,·SHA:·0511a95e5b73edfd06021ef0256878d9e2a8fe7f5c253df32d0c1098de3a4f11·...·]-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="7499802501-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="7499802501-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="0508845788-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="0508845788-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="7499802501-15">(</span><span·class="s">&quot;escript·demo.escript&quot;</span><span·class="p"·data-group-id="7499802501-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="0508845788-15">(</span><span·class="s">&quot;escript·demo.escript&quot;</span><span·class="p"·data-group-id="0508845788-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="7499802501-16">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7499802501-17">[</span><span·class="p"·data-group-id="7499802501-17">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·abe4f65b86e5098eb31dcae3cbc274a2b881d42cb48ecd49bb4ef3f557e07cdf·...·]-16">)</span><span·class="p">.</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="0508845788-16">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0508845788-17">[</span><span·class="p"·data-group-id="0508845788-17">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·0bdbb884a3288b0fff5881f15fca9f09be03311cbb85564c929e613f383e96f2·...·]-16">)</span><span·class="p">.</span><span·class="w">
522 </span><span·class="p"·data-group-id="7499802501-18">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7499802501-19">[</span><span·class="p"·data-group-id="7499802501-20">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">def[·...·truncated·by·diffoscope;·len:·544,·SHA:·4d245c203b7916c36b6bb1127040952b25745bfb38cbf83e29036464dcfc9475·...·]-22">}</span><span·class="p">,</span><span·class="w">522 </span><span·class="p"·data-group-id="0508845788-18">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0508845788-19">[</span><span·class="p"·data-group-id="0508845788-20">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">def[·...·truncated·by·diffoscope;·len:·544,·SHA:·0dae4b44e275422f1df6ea674bab816b0018996056cc532a2c6e4266f9a08d7e·...·]-22">}</span><span·class="p">,</span><span·class="w">
523 ·····</span><span·class="p"·data-group-id="7499802501-23">{</span><span·class="ss">source</span><span·class="p">,</span><span·class="p"·data-group-id="7499802501-24">&lt;&lt;</span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(erlang:system_info(schedu&quot;</span><span·class="p">[·...·truncated·by·diffoscope;·len:·568,·SHA:·02205ec5b61c5b73a1e84a9c38e9ef00c1d10cdaac0bfe0d25a94238728268ed·...·]-1">(</span><span·class="s">&quot;demo.erl&quot;</span><span·class="p">,</span><span·class="w">523 ·····</span><span·class="p"·data-group-id="0508845788-23">{</span><span·class="ss">source</span><span·class="p">,</span><span·class="p"·data-group-id="0508845788-24">&lt;&lt;</span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(erlang:system_info(schedu&quot;</span><span·class="p">[·...·truncated·by·diffoscope;·len:·568,·SHA:·54acb058bb16a4fdf5301c97d7559995e35682c699a89e514aad5765558e60b7·...·]-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="5689929166-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="5689929166-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·95196d0d5ddf5a297354689202a9234c24445873780332c92b89ca699727b5d7·...·]-1">)</span><span·class="p">.</span><span·class="w">524 ··················</span><span·class="p"·data-group-id="9258847095-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="9258847095-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·7d51cc1f23754ee59612145079369b2e96d0d69068a78b9d29798b15de830fe9·...·]-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="5689929166-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="5689929166-3">}</span><spa[·...·truncated·by·diffoscope;·len:·554,·SHA:·bb7c7246935bab7435b1a3a15e355cf0a30de4fc87121e60a47d4a1d00928868·...·]-4">)</span><span·class="p">.</span><span·class="w">526 &gt;·</span><span·class="p"·data-group-id="9258847095-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="9258847095-3">}</span><spa[·...·truncated·by·diffoscope;·len:·554,·SHA:·0616085e05e055813c5adbf8d97bada11b40f5e916c6e2b8370088e96f490d83·...·]-4">)</span><span·class="p">.</span><span·class="w">
527 </span><span·class="p"·data-group-id="5689929166-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="9258847095-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="5689929166-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="9258847095-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="5689929166-7">&gt;&gt;</span><span·class="p"·data-group-id="5689929166-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="9258847095-7">&gt;&gt;</span><span·class="p"·data-group-id="9258847095-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="5689929166-8">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5689929166-9">[</span><span·class="p"·data-group-id="5689929166-10">{</span><span·class="ss">beam</span><span·c[·...·truncated·by·diffoscope;·len:·220,·SHA:·0f1abce30c36d843f01ac367ffbb7de9b3db016e4eeb449a4f98181a2e791a60·...·]-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="9258847095-8">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9258847095-9">[</span><span·class="p"·data-group-id="9258847095-10">{</span><span·class="ss">beam</span><span·c[·...·truncated·by·diffoscope;·len:·220,·SHA:·ddda9e40cf9614d9cbfe58c596df1c60bb82f97ad195ecc205c078c8e8b3dda1·...·]-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="5689929166-11">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5689929166-12">[</span><span·class="p"·data-group-id="5689929166-12">]</span><span·class="p"·data-group-id="56[·...·truncated·by·diffoscope;·len:·8,·SHA:·8ab91acefe678a60d40ce86278077f108cd673197b85d097dfdc6117dbca6f41·...·]-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="9258847095-11">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9258847095-12">[</span><span·class="p"·data-group-id="9258847095-12">]</span><span·class="p"·data-group-id="92[·...·truncated·by·diffoscope;·len:·8,·SHA:·30bb155f3d77b14eee57bfe890a1cad3feaafacf10a5ceb3412c51fa126d48b0·...·]-11">)</span><span·class="p">.</span><span·class="w">
533 </span><span·class="p"·data-group-id="5689929166-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5689929166-14">[</span><span·class="p"·data-group-id="5689929166-15">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">und[·...·truncated·by·diffoscope;·len:·543,·SHA:·c27f43ab2a75eb884629e1f7ae86efb80d55f71309f3a2f662d0825f62f77095·...·]-17">}</span><span·class="p">,</span><span·class="w">533 </span><span·class="p"·data-group-id="9258847095-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9258847095-14">[</span><span·class="p"·data-group-id="9258847095-15">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">und[·...·truncated·by·diffoscope;·len:·543,·SHA:·dbf00c68ce0229442d95c530e25ee1af8b86c2df857d493ce18409ba71704ee4·...·]-17">}</span><span·class="p">,</span><span·class="w">
534 ·····</span><span·class="p"·data-group-id="5689929166-18">{</span><span·class="ss">beam</span><span·class="p">,</span><span·class="p"·data-group-id="5689929166-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="9258847095-18">{</span><span·class="ss">beam</span><span·class="p">,</span><span·class="p"·data-group-id="9258847095-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="5689929166-19">&gt;&gt;</span><span·class="p"·data-group-id="5689929166-18">}</span><span·class="p"·data-group-id="5689929166-14">]</span><span·class="p"·data-group-id="5689929166-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="9258847095-19">&gt;&gt;</span><span·class="p"·data-group-id="9258847095-18">}</span><span·class="p"·data-group-id="9258847095-14">]</span><span·class="p"·data-group-id="9258847095-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="5689929166-20">(</span><span·class="s">&quot;escript·demo.beam&quot;</span><span·class="p"·data-group-id="5689929166-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="9258847095-20">(</span><span·class="s">&quot;escript·demo.beam&quot;</span><span·class="p"·data-group-id="9258847095-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="3930829642-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="3930829642-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="3930829642-2">(</span><span·class="s">&quot;demo.erl&quot;</span><span·class="p"·data-group-id="3930829642-2">)</span><span·class="p">.</span><span·class="w"> 
540 </span><span·class="p"·data-group-id="3930829642-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3930829642-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:·f3b85feb5f4cea26689e29b6d05ee4117cdc7b1ca132b2c1df398b8b290480db·...·]">539 information·about·them:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="5240767278-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·418,·SHA:·744ebf4b33cc1e7c78c93870f3d68bde68f476d8f9695ad6c7c8f7a579fbec9d·...·]">
 540 </span><span·class="p"·data-group-id="5240767278-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5240767278-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="5240767278-4">&gt;&gt;</span><span·class="p"·data-group-id="5240767278-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="3930829642-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="5240767278-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="3930829642-6">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">542 ·················</span><span·class="p"·data-group-id="5240767278-6">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">
543 ··················</span><span·class="p"·data-group-id="3930829642-7">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3930829642-8">[</span><span·class="p"·data-group-id="3930829642-9">{</span><span·class="s">&quot;demo.erl&quot;</span><span·[·...·truncated·by·diffoscope;·len:·116,·SHA:·75209835b0e9d05a12aea69805eb1dbfd9af1efb25e1203411c88352266711aa·...·]-9">}</span><span·class="p">,</span><span·class="w">543 ··················</span><span·class="p"·data-group-id="5240767278-7">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5240767278-8">[</span><span·class="p"·data-group-id="5240767278-9">{</span><span·class="s">&quot;demo.erl&quot;</span><span·[·...·truncated·by·diffoscope;·len:·116,·SHA:·5bddf9bc3434e16c42d3d49a7c2588446602e12d585ee15781e2fc1e2903d4b7·...·]-9">}</span><span·class="p">,</span><span·class="w">
544 ·····························</span><span·class="p"·data-group-id="3930829642-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="3930829642-10">}</span><span·class="p"·data-group-id="3930829642-8">]</span><sp[·...·truncated·by·diffoscope;·len:·300,·SHA:·c93cd89b3ffc97a273510f157b437c3c151b6790323c8bf5dd2662aaa84fdc43·...·]-5">)</span><span·class="p">.</span><span·class="w">544 ·····························</span><span·class="p"·data-group-id="5240767278-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="5240767278-10">}</span><span·class="p"·data-group-id="5240767278-8">]</span><sp[·...·truncated·by·diffoscope;·len:·300,·SHA:·f6f52c7b6f386a2a0076b16f2ac25f6d74146572308d99aa033f98056bbf45a1·...·]-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="3930829642-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3930829642-13">[</span><span·class="p"·data-group-id="3930829642-14">{</span><span·class="ss">shebang</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·565,·SHA:·581bdb038aaff4ef37499974f0f204a095a22adb2a3e9ce40d90916f2da28605·...·]-16">}</span><span·class="p">,</span><span·class="w">546 &gt;·</span><span·class="p"·data-group-id="5240767278-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5240767278-13">[</span><span·class="p"·data-group-id="5240767278-14">{</span><span·class="ss">shebang</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·565,·SHA:·5dfa1201b38136ed3acf0a0c84019b51b41abea4dc35d73ff304ba8cf28328c8·...·]-16">}</span><span·class="p">,</span><span·class="w">
547 ·····</span><span·class="p"·data-group-id="3930829642-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="3930829642-17">}</span><span·class="p"·data-group-id="3930829642-13">]</span><span·class="[·...·truncated·by·diffoscope;·len:·497,·SHA:·f6ba1db76ea0dba64621e243795a0fcf8556e16e54df64927eeb3e9fa2301056·...·]-18">)</span><span·class="p">.</span><span·class="w">547 ·····</span><span·class="p"·data-group-id="5240767278-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="5240767278-17">}</span><span·class="p"·data-group-id="5240767278-13">]</span><span·class="[·...·truncated·by·diffoscope;·len:·497,·SHA:·e721a4cc97c7916fc1d82ca55aeca744d0bcbee2df62d249c7db9b68f9da29a3·...·]-18">)</span><span·class="p">.</span><span·class="w">
548 </span><span·class="p"·data-group-id="3930829642-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3930829642-21">[</span><span·class="p"·data-group-id="3930829642-22">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">def[·...·truncated·by·diffoscope;·len:·541,·SHA:·cbc4f6ad4bb95fe588ddce37c36c9d0468c28c088714337611422db2f041e0ca·...·]-24">}</span><span·class="p">,</span><span·class="w">548 </span><span·class="p"·data-group-id="5240767278-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5240767278-21">[</span><span·class="p"·data-group-id="5240767278-22">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">def[·...·truncated·by·diffoscope;·len:·541,·SHA:·1a2dc592215dd98a966cd3a628057960350de5b5c26d9a90d744e8edbd5f168d·...·]-24">}</span><span·class="p">,</span><span·class="w">
549 ·····</span><span·class="p"·data-group-id="3930829642-25">{</span><span·class="p"·data-group-id="3930829642-26">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="p"·data-group-id="3930829642-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="5240767278-25">{</span><span·class="p"·data-group-id="5240767278-26">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="p"·data-group-id="5240767278-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="3930829642-27">&gt;&gt;</span><span·class="p"·data-group-id="3930829642-26">}</span><span·class="p">]</span><span·class="p"·data-group-id="3930829642-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="5240767278-27">&gt;&gt;</span><span·class="p"·data-group-id="5240767278-26">}</span><span·class="p">]</span><span·class="p"·data-group-id="5240767278-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="3930829642-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="3930829642-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="5240767278-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="5240767278-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="3930829642-29">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3930829642-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:·849c5626e8d8e3738f58430f290d59e9c3c632d982313db103ff57ef60c0f875·...·]-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="5240767278-29">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5240767278-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:·3a7f7729c28e38384b084d844b8d4d6e271fc58035aba9b5ccdcfa898175ef40·...·]-29">)</span><span·class="p">.</span><span·class="w">
554 </span><span·class="p"·data-group-id="3930829642-36">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3930829642-37">[</span><span·class="p"·data-group-id="3930829642-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="5240767278-36">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5240767278-37">[</span><span·class="p"·data-group-id="5240767278-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="3930829642-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="5240767278-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="3930829642-40">{</span><span·class="p"·data-group-id="3930829642-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="3930829642-41">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·0de6e1e5c4d3353d32cc7ded4109d5b640febf7fa25dc55a39c00ea0e3affde8·...·]-40">}</span><span·class="p">,</span><span·class="w">556 ·················</span><span·class="p"·data-group-id="5240767278-40">{</span><span·class="p"·data-group-id="5240767278-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="5240767278-41">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·7be8b71b12ef901c27ab987708ccab2d75738823fbe3f0d7b2546610088c5b56·...·]-40">}</span><span·class="p">,</span><span·class="w">
557 ·················</span><span·class="p"·data-group-id="3930829642-43">{</span><span·class="p"·data-group-id="3930829642-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="3930829642-44">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·8949f7d136e048efb0922f1800ed530802aeab394c117f507517f6495e7927fe·...·]-43">}</span><span·class="p">,</span><span·class="w">557 ·················</span><span·class="p"·data-group-id="5240767278-43">{</span><span·class="p"·data-group-id="5240767278-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="5240767278-44">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·9f43ae37934c3be44033c59d93339f2f07b9cc43d7332704f85bd8221951f5c8·...·]-43">}</span><span·class="p">,</span><span·class="w">
558 ·················</span><span·class="p"·data-group-id="3930829642-46">{</span><span·class="p"·data-group-id="3930829642-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="3930829642-47">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·a6f27b9fff77870d866beb6e52e546c129a2ccc96720d6aaac938ccf708d1a79·...·]-46">}</span><span·class="p">,</span><span·class="w">558 ·················</span><span·class="p"·data-group-id="5240767278-46">{</span><span·class="p"·data-group-id="5240767278-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="5240767278-47">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·95c8dc14d55a8cd428156dd5799f3976dead7daa2db42b7506aacdd7a540ed92·...·]-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="3930829642-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="5240767278-39">}</span><span·class="p">,</span><span·class="w">
560 ······</span><span·class="p"·data-group-id="3930829642-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="5240767278-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="3930829642-49">&gt;&gt;</span><span·class="p"·data-group-id="3930829642-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="5240767278-49">&gt;&gt;</span><span·class="p"·data-group-id="5240767278-38">}</span><span·class="p">,</span><span·class="w">
562 ·····</span><span·class="p"·data-group-id="3930829642-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="5240767278-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="3930829642-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="5240767278-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="3930829642-52">{</span><span·class="p"·data-group-id="3930829642-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="3930829642-53">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·0f381c255edd5bdf5ecd0b3233f202d88a2765dab3fc2f4f58e06e9f6aaa7d9c·...·]-52">}</span><span·class="p">,</span><span·class="w">564 ·················</span><span·class="p"·data-group-id="5240767278-52">{</span><span·class="p"·data-group-id="5240767278-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="5240767278-53">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·a6ce1de92482f3ed638e5e7cbb01866392be96f997596257588dc524ddca9aa4·...·]-52">}</span><span·class="p">,</span><span·class="w">
565 ·················</span><span·class="p"·data-group-id="3930829642-55">{</span><span·class="p"·data-group-id="3930829642-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="3930829642-56">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·598f77d0de6948160940ee78c4cc80b41653a26c10bccb6f474d2c6b1d7b44e6·...·]-55">}</span><span·class="p">,</span><span·class="w">565 ·················</span><span·class="p"·data-group-id="5240767278-55">{</span><span·class="p"·data-group-id="5240767278-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="5240767278-56">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·1f43fb16c2fe9792e90456aa1879855f5544f91f485f35d422fd28c6990c5ac5·...·]-55">}</span><span·class="p">,</span><span·class="w">
566 ·················</span><span·class="p"·data-group-id="3930829642-58">{</span><span·class="p"·data-group-id="3930829642-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="3930829642-59">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·6ac0df2200627e5eaa68fb504a58db8c82c56d51382c776d7cb8bbda14842577·...·]-58">}</span><span·class="p">,</span><span·class="w">566 ·················</span><span·class="p"·data-group-id="5240767278-58">{</span><span·class="p"·data-group-id="5240767278-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="5240767278-59">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·1e40ded5e870570eed16c6d6ed140126951e34976ffaa1c4807ea76083cc2614·...·]-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="3930829642-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="5240767278-51">}</span><span·class="p">,</span><span·class="w">
568 ······</span><span·class="p"·data-group-id="3930829642-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="3930829642-61">&gt;[·...·truncated·by·diffoscope;·len:·160,·SHA:·f574e53f1622d45bc5cf7b738b72a27aa25824b25d63864ae0d7faf048604ca4·...·]-36">}</span></code></pre>568 ······</span><span·class="p"·data-group-id="5240767278-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="5240767278-61">&gt;[·...·truncated·by·diffoscope;·len:·160,·SHA:·aef9937b73c249a0910236f505d55fa225a2697007be31c1d31ca8cda42fc10a·...·]-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="8345324535-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="4319506270-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="8345324535-2">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8345324535-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:·3835871837174fa4bc2a64b8842dcc5b18de2c8fb59ead9f44969c4197eefe0e·...·]-5">}</span><span·class="p">,</span><span·class="w">600 ·················</span><span·class="p"·data-group-id="4319506270-2">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4319506270-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:·0168ebc660eae2a0a4a9739619f106599de16afa06a53742cc04b593fee9cf78·...·]-5">}</span><span·class="p">,</span><span·class="w">
601 ······································</span><span·class="p"·data-group-id="8345324535-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="8345324535-6">}</span><span·class="p"·data-group-id="8345324535-4">]</span><span[·...·truncated·by·diffoscope;·len:·296,·SHA:·fbf33b6bae9a2f5621a1fb812e1839833206f10bec78f8c8f1c2cf3f88a5146d·...·]-1">)</span><span·class="p">.</span><span·class="w">601 ······································</span><span·class="p"·data-group-id="4319506270-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="4319506270-6">}</span><span·class="p"·data-group-id="4319506270-4">]</span><span[·...·truncated·by·diffoscope;·len:·296,·SHA:·cc9a5d37d039ffe790a11346cb0b76a8dd77709d75d332fa3323892421e02b69·...·]-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="8345324535-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8345324535-9">[</span><span·class="p"·data-group-id="8345324535-10">{</span><span·class="ss">shebang</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·563,·SHA:·55e31cd14ce5790a90e811af0bcfb8527636b29ceb7b51011cca1fc20bf52212·...·]-12">}</span><span·class="p">,</span><span·class="w">603 &gt;·</span><span·class="p"·data-group-id="4319506270-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4319506270-9">[</span><span·class="p"·data-group-id="4319506270-10">{</span><span·class="ss">shebang</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·563,·SHA:·524e66198d42d42f97d330c8427cfbffe9131769e72d834b5bb700e98e033dbf·...·]-12">}</span><span·class="p">,</span><span·class="w">
604 ·····</span><span·class="p"·data-group-id="8345324535-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="8345324535-13">}</span><span·class="p"·data-group-id="8345324535-9">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·f401103a489cf7946e1b29e0d2eebeff5583684bf092a03cf952d3d84cd8c73d·...·]-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">604 ·····</span><span·class="p"·data-group-id="4319506270-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="4319506270-13">}</span><span·class="p"·data-group-id="4319506270-9">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·70ef2ec3d4117b2d583d114fb68f758d6d923efe0b07faf71144c55cfeff6b08·...·]-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="8345324535-14">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8345324535-15">[</span><span·class="p"·data-group-id="8345324535-15">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·36bb907faaba539019bf3a330345528b94a7173c6dc9192297003650a9573431·...·]-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="4319506270-14">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4319506270-15">[</span><span·class="p"·data-group-id="4319506270-15">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·bd9506ae810b289e54190c100169af149f3c8bb1e59579bd780c626916ea0a95·...·]-14">)</span><span·class="p">.</span><span·class="w">
606 </span><span·class="p"·data-group-id="8345324535-16">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8345324535-17">[</span><span·class="p"·data-group-id="8345324535-18">{</span><span·class="p"·data-group-id="8345324535-19">{</span><span·class="ss">arch[·...·truncated·by·diffoscope;·len:·75,·SHA:·eec9c9addb10a81c3712b17ee011ba93f9088414a5cc0173a6642518c1170720·...·]-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="4319506270-16">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4319506270-17">[</span><span·class="p"·data-group-id="4319506270-18">{</span><span·class="p"·data-group-id="4319506270-19">{</span><span·class="ss">arch[·...·truncated·by·diffoscope;·len:·75,·SHA:·19de8a6ccf89b3c4415073066234d669395b1e5dd87bbe1cfc9feae05a46b5f6·...·]-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="8345324535-20">&gt;&gt;</span><span·class="p"·data-group-id="8345324535-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="4319506270-20">&gt;&gt;</span><span·class="p"·data-group-id="4319506270-19">}</span><span·class="w">
608 ·····</span><span·class="p"·data-group-id="8345324535-21">{</span><span·class="ss">emu_args</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="8345324535-21">}</span><span·class="p">]</span><span·class="p"·data-group-id="8345324535-18">}</span></code></pre>608 ·····</span><span·class="p"·data-group-id="4319506270-21">{</span><span·class="ss">emu_args</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="4319506270-21">}</span><span·class="p">]</span><span·class="p"·data-group-id="4319506270-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>663 <p>Copyright·©·1996-2025·<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
121 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="4635898518-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4635898518-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:·e165237061b48a849bace20bf9cc226e8da3b136905b0fc5590e879db67b3c37·...·]-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="5740326227-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5740326227-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:·9f5973d78dbf114fb8112c31652371861b8a2ea604622e57645792f42bbe73ab·...·]-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="4635898518-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4635898518-4">{</span><span·class="mi">1</span><span·class="p"·data-group-id="4635898518-4">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·0bb0c637c9a218220dbeba8456a2a0714154929db158e39647ea5f24737a8c1f·...·]-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="5740326227-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5740326227-4">{</span><span·class="mi">1</span><span·class="p"·data-group-id="5740326227-4">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·8ccfd299818b53e2c65f14a1717ef831e59baa90c1138d81da30e95c4b46a04b·...·]-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="4635898518-5">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4635898518-6">{</span><span·class="mi">2</span><span·class="p"·data-group-id="4635898518-6">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·0bb0c637c9a218220dbeba8456a2a0714154929db158e39647ea5f24737a8c1f·...·]-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="5740326227-5">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5740326227-6">{</span><span·class="mi">2</span><span·class="p"·data-group-id="5740326227-6">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·8ccfd299818b53e2c65f14a1717ef831e59baa90c1138d81da30e95c4b46a04b·...·]-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="4635898518-7">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4635898518-8">{</span><span·class="mi">3</span><span·class="p"·data-group-id="4635898518-8">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·0bb0c637c9a218220dbeba8456a2a0714154929db158e39647ea5f24737a8c1f·...·]-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="5740326227-7">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5740326227-8">{</span><span·class="mi">3</span><span·class="p"·data-group-id="5740326227-8">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·8ccfd299818b53e2c65f14a1717ef831e59baa90c1138d81da30e95c4b46a04b·...·]-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="1826912967-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="p"·data-group-id="1826912967-2">[</span><span·class="ss">ordered_set</span><span·class="p"·data-group-id="1826912967-2">]</span><span·class="p"·data-group-id="1826912967-1"[·...·truncated·by·diffoscope;·len:·546,·SHA:·8dc5de4febe6f706a862ae29add84e14bb9ff6cf20bb656eea75ff2cc7f5b04e·...·]-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="5667093462-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="p"·data-group-id="5667093462-2">[</span><span·class="ss">ordered_set</span><span·class="p"·data-group-id="5667093462-2">]</span><span·class="p"·data-group-id="5667093462-1"[·...·truncated·by·diffoscope;·len:·546,·SHA:·ff4df46fe02edb9e6535d0255ea641ab4dee2fc7bc88506ba510230567ba55b4·...·]-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="1826912967-5">(</span><span·class="n">T</span><span·class="p">,</span><span·class="p"·data-group-id="1826912967-6">{</span><span·class="p"·data-group-id="1826912967-7">[</span><span·class="sc">$5</span><span·class="p">,</span><span·class="sc">$5</span><spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·9b4f403287effcf02f324035c110c81b28bdd0cdd82a12cab9f661628d6b6770·...·]-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="5667093462-5">(</span><span·class="n">T</span><span·class="p">,</span><span·class="p"·data-group-id="5667093462-6">{</span><span·class="p"·data-group-id="5667093462-7">[</span><span·class="sc">$5</span><span·class="p">,</span><span·class="sc">$5</span><spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·2df8789e74dcb431715cf759df25c2fa3be03132f526263d2407b9697aff455a·...·]-5">)</span><span·class="p">.</span><span·class="w">
243 </span><span·class="p"·data-group-id="1826912967-8">[</span><span·class="p"·data-group-id="1826912967-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="1826912967-9">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·e6cecf4ce524ea66d5ba4866488d1ca78400f79351e48aa5cd2a1028b4f5b7bd·...·]-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="5667093462-8">[</span><span·class="p"·data-group-id="5667093462-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="5667093462-9">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·3f433131ea10e2143ad8e279fc3ce651072c2d334d9eaf48f080f9ed441a0ab7·...·]-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="6368997060-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6368997060-2">(</span><span·class="p"·data-group-id="6368997060-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:·467,·SHA:·7ea179a124baed7260dcae98a0dd5d5f5bcdb21cc968a6d90b360a937b30ff95·...·]-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="2824685909-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2824685909-2">(</span><span·class="p"·data-group-id="2824685909-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:·467,·SHA:·d287dd23996ade51a6c91d5c690d7e213a7e9fb412c71e12bdb894552b6d8713·...·]-1">)</span><span·class="p">.</span><span·class="w">
1894 </span><span·class="p"·data-group-id="6368997060-4">[</span><span·class="p"·data-group-id="6368997060-5">{</span><span·class="p"·data-group-id="6368997060-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="6[·...·truncated·by·diffoscope;·len:·664,·SHA:·c9f40aca1d6116b857f71e67fb0142fa5a6ff0253b3f2cbd1bae7e024eb6ec1b·...·]-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="2824685909-4">[</span><span·class="p"·data-group-id="2824685909-5">{</span><span·class="p"·data-group-id="2824685909-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="2[·...·truncated·by·diffoscope;·len:·664,·SHA:·fc49f3b6bd532b75aa2525988886dc11366451168cbfaf0155abd17c26ba9477·...·]-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="1462772046-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1462772046-2">(</span><span·class="p"·data-group-id="1462772046-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:·42fb401a8ab276f1057849a6e4c5956d33758704c9f4596c49b4db8d117fb376·...·]-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="2106663802-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2106663802-2">(</span><span·class="p"·data-group-id="2106663802-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:·9afacd53e178ea3543c6f3fdc0131631dd389a59487c242cc82fd0bcb3595f82·...·]-1">)</span><span·class="p">.</span><span·class="w">
1897 </span><span·class="p"·data-group-id="1462772046-4">[</span><span·class="p"·data-group-id="1462772046-5">{</span><span·class="p"·data-group-id="1462772046-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="1[·...·truncated·by·diffoscope;·len:·825,·SHA:·af8fc85cdec60a0f2532325ae039d1fa3bc4b79b284d001a5710c2273d69bd65·...·]-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="2106663802-4">[</span><span·class="p"·data-group-id="2106663802-5">{</span><span·class="p"·data-group-id="2106663802-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="2[·...·truncated·by·diffoscope;·len:·825,·SHA:·7b90a1ad18280a6a7aae3cc052432d4366dafe23e5d16459a0affecb4371681e·...·]-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="2403880568-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2403880568-2">(</span><span·class="p"·data-group-id="2403880568-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:·caa568ad92126ee74ef6f264a4d8a95746526113ca150c0ab9be09dc9db4f7df·...·]-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="0335069153-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0335069153-2">(</span><span·class="p"·data-group-id="0335069153-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:·68deedf337c6913e062fac2bbee449cd574c23fc49e486e042c6cdfeccfe2b6f·...·]-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="2403880568-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="240388[·...·truncated·by·diffoscope;·len:·4,·SHA:·cde8c5db80a9406aa8f52911e1fcd0fa1c12066a362e8771fc06e724301571e7·...·]-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="0335069153-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="033506[·...·truncated·by·diffoscope;·len:·4,·SHA:·ba733a2bc3efb152c8d435ef1d7640160090d996a866e1b4970f233d19371edb·...·]-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="2403880568-6">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">transform_error</span><span·class="p"·data-group-id="2403880568-6">}</span><span·class="gp·unselectable">1903 </span><span·class="p"·data-group-id="0335069153-6">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">transform_error</span><span·class="p"·data-group-id="0335069153-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="2403880568-7">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2403880568-8">(</span><span·class="p"·data-group-id="2403880568-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:·fdb9ea8bee6bd473633d7853bd38e7dc05a8025aeffc826b93c0bbcd68c22d37·...·]-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="0335069153-7">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0335069153-8">(</span><span·class="p"·data-group-id="0335069153-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:·f6ef616839b80027b2505e91aa45ad964fbe140d8036fa782cb68bb86988df70·...·]-7">)</span><span·class="p">.</span><span·class="w">
1905 </span><span·class="p"·data-group-id="2403880568-11">[</span><span·class="p"·data-group-id="2403880568-12">{</span><span·class="p"·data-group-id="2403880568-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:·30f10291424effc39fdf12476b1d1146af5af36a24857785daa47138e5f51900·...·]-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="0335069153-11">[</span><span·class="p"·data-group-id="0335069153-12">{</span><span·class="p"·data-group-id="0335069153-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:·280794974290523667fc59f5bda5453d6ce2bcf244e65f3324497936627510b8·...·]-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-15.2.7/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-15.2.7/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="0678198202-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="0678198202-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="9031678122-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="9031678122-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="0678198202-2">[</span><span·class="p"·data-group-id="0678198202-3">[</span><span·class="p"·data-group-id="0678198202-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:·881,·SHA:·7ec8e07327e11d807c939c64e10d6575b5c188bb30972e740c1d7431836f45a4·...·]2-2">]</span><span·class="gp·unselectable">2496 </span><span·class="p"·data-group-id="9031678122-2">[</span><span·class="p"·data-group-id="9031678122-3">[</span><span·class="p"·data-group-id="9031678122-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:·881,·SHA:·e51190546c83d4026027a771841de2615e57ce18f7089f0b6625cae0d02344ee·...·]2-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="0678198202-9">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0678198202-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:·132,·SHA:·bd2653d8719cb3b86d2c33d748bdfbe1aaa6836a40311e04d98142d83e015c4f·...·]2-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="9031678122-9">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9031678122-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:·132,·SHA:·911947158ea503a7a0bc0d7babedd736e35f404da19e03dc8a673224173816ad·...·]2-9">)</span><span·class="p">.</span><span·class="w">
2498 </span><span·class="p"·data-group-id="0678198202-11">[</span><span·class="p"·data-group-id="0678198202-12">[</span><span·class="mi">7</span><span·class="p"·data-group-id="0678198202-12">]</span><span·class="p">,</span><span·class="p"·data-group-id="0678198202-13">[</span><span·class="mi">5</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·7814ade15103590eeb5ff14f3650a537c9b3ee87b869e94f2ff8bde554167ed1·...·]2-11">]</span><span·class="gp·unselectable">2498 </span><span·class="p"·data-group-id="9031678122-11">[</span><span·class="p"·data-group-id="9031678122-12">[</span><span·class="mi">7</span><span·class="p"·data-group-id="9031678122-12">]</span><span·class="p">,</span><span·class="p"·data-group-id="9031678122-13">[</span><span·class="mi">5</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·4e8e56bdd3c5c4f5de588f8aa772ab827c7be11a5eedc2440af4e816c8cdb1c4·...·]2-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="0678198202-14">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0678198202-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:·133,·SHA:·f3d241eb56421d2e1865d9916786685f37456b2780dd61f847661a0fe9f18b03·...·]2-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="9031678122-14">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9031678122-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:·133,·SHA:·50c12d71c809f3257a977645476ae667fdfdc2396b27ace809f2325bc7c21c25·...·]2-14">)</span><span·class="p">.</span><span·class="w">
2500 </span><span·class="p"·data-group-id="0678198202-16">[</span><span·class="p"·data-group-id="0678198202-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="9031678122-16">[</span><span·class="p"·data-group-id="9031678122-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="1501653276-1">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">tab2list</span><span·class="p"·data-group-id="1501653276-2">(</span><span·class="n">Table</span><span·class="p"·data-group-id="1501653276-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="5886320835-1">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">tab2list</span><span·class="p"·data-group-id="5886320835-2">(</span><span·class="n">Table</span><span·class="p"·data-group-id="5886320835-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="1501653276-3">(</span><span·class="n">MatchSpec</span><span·class="p"·data-group-id="1501653276-3">)</span><span·class="p"·data-group-id="1501653276-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="5886320835-3">(</span><span·class="n">MatchSpec</span><span·class="p"·data-group-id="5886320835-3">)</span><span·class="p"·data-group-id="5886320835-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="1501653276-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="1501653276-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="5886320835-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="5886320835-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 3084, 27 lines modifiedOffset 3084, 27 lines modified
3084 <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·the3084 <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
3085 continuation·has·passed·through·external·term·format·(been·sent·between·nodes·or3085 continuation·has·passed·through·external·term·format·(been·sent·between·nodes·or
3086 stored·on·disk).</p><p>The·reason·for·this·function·is·that·continuation·terms·contain·compiled·match3086 stored·on·disk).</p><p>The·reason·for·this·function·is·that·continuation·terms·contain·compiled·match
3087 specifications·and·may·therefore·be·invalidated·if·converted·to·external·term3087 specifications·and·may·therefore·be·invalidated·if·converted·to·external·term
3088 format.·Given·that·the·original·match·specification·is·kept·intact,·the3088 format.·Given·that·the·original·match·specification·is·kept·intact,·the
3089 continuation·can·be·restored,·meaning·it·can·once·again·be·used·in·subsequent3089 continuation·can·be·restored,·meaning·it·can·once·again·be·used·in·subsequent
3090 <a·href="#select/1"><code·class="inline">select/1</code></a>·calls·even·though·it·has·been·stored·on·disk·or·on3090 <a·href="#select/1"><code·class="inline">select/1</code></a>·calls·even·though·it·has·been·stored·on·disk·or·on
3091 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="3092102274-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="3092102274-2">[</span><span·class="p"·data-group-id="3092102274-2">]</span><span·class="p"·data-group-id="3092102274-1">)</span><span·class="p">,</span><span·class="w">3091 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="0574294516-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="0574294516-2">[</span><span·class="p"·data-group-id="0574294516-2">]</span><span·class="p"·data-group-id="0574294516-1">)</span><span·class="p">,</span><span·class="w">
3092 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">3092 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
3093 </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="3092102274-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3092102274-4">(</span><span·class="p"·data-group-id="3092102274-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:·d62d92ed2d70ec77698085078376a073dc6707cbf837748b61c404a9e1077fbc·...·]-3">)</span><span·class="p">,</span><span·class="w">3093 </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="0574294516-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0574294516-4">(</span><span·class="p"·data-group-id="0574294516-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:·c31bed6a7b2c40998ad64701b79b3da8644e11f18f4db4106fbc40dd02afabe1·...·]-3">)</span><span·class="p">,</span><span·class="w">
3094 </span><span·class="p"·data-group-id="3092102274-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="3092102274-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:·4da6ff7a92f5949ade5ec1fbf820f8dcfd8169958a196e6b317b3b622b955deb·...·]-8">)</span><span·class="p">,</span><span·class="w">3094 </span><span·class="p"·data-group-id="0574294516-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="0574294516-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:·7589e59b3fd394cae785373c59904ef73bfac8e4969c2eda0dbbea3fec7ad8aa·...·]-8">)</span><span·class="p">,</span><span·class="w">
3095 </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="3092102274-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="3092102274-10">(</span><span·class="n">C</span><span·class="p"·data-group-id="3092102274-10">)</span><span·class="p"·data-group-id="3092102274-9">)</span><span·class="p">,</span><span·class="w">3095 </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="0574294516-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="0574294516-10">(</span><span·class="n">C</span><span·class="p"·data-group-id="0574294516-10">)</span><span·class="p"·data-group-id="0574294516-9">)</span><span·class="p">,</span><span·class="w">
3096 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="3092102274-11">(</span><span·class="n">MaybeBroken</span><span·class="p"·data-group-id="3092102274-11">)</span><span·class="p">.</span></code></pre><p>The·following·sequence·works,·as·the·call·to3096 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="0574294516-11">(</span><span·class="n">MaybeBroken</span><span·class="p"·data-group-id="0574294516-11">)</span><span·class="p">.</span></code></pre><p>The·following·sequence·works,·as·the·call·to
3097 <a·href="#repair_continuation/2"><code·class="inline">repair_continuation/2</code></a>·reestablishes·the3097 <a·href="#repair_continuation/2"><code·class="inline">repair_continuation/2</code></a>·reestablishes·the
3098 <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="3186148521-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="3186148521-2">[</span><span·class="p"·data-group-id="3186148521-2">]</span><span·class="p"·data-group-id="3186148521-1">)</span><span·class="p">,</span><span·class="w">3098 <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="3668592916-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="3668592916-2">[</span><span·class="p"·data-group-id="3668592916-2">]</span><span·class="p"·data-group-id="3668592916-1">)</span><span·class="p">,</span><span·class="w">
3099 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">3099 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
3100 </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="3186148521-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3186148521-4">(</span><span·class="p"·data-group-id="3186148521-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:·721,·SHA:·4cde824e12fe65e794d37849d2065873e80b8b708ee20a6377002d72823d629e·...·]-3">)</span><span·class="p">,</span><span·class="w">3100 </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="3668592916-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3668592916-4">(</span><span·class="p"·data-group-id="3668592916-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:·721,·SHA:·4ffc6555d1a8e243e37177dbc2acf598f49f6528009343cfd80214b2852d2c93·...·]-3">)</span><span·class="p">,</span><span·class="w">
3101 </span><span·class="p"·data-group-id="3186148521-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="3186148521-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class[·...·truncated·by·diffoscope;·len:·260,·SHA:·c5cc521aae033fee6b5da07ea3bcc7c79fe8e2f6f0eaece6fdb7d5cd86428b7f·...·]-8">)</span><span·class="p">,</span><span·class="w">3101 </span><span·class="p"·data-group-id="3668592916-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="3668592916-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class[·...·truncated·by·diffoscope;·len:·260,·SHA:·35f93065a0c53f08438a650c84c733454fa5148c50f292665451c686222360fc·...·]-8">)</span><span·class="p">,</span><span·class="w">
3102 </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="3186148521-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="3186148521-10">(</span><span·class="n">C</span><span·class="p"·data-group-id="3186148521-10">)</span><span·class="p"·data-group-id="3186148521-9">)</span><span·class="p">,</span><span·class="w">3102 </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="3668592916-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="3668592916-10">(</span><span·class="n">C</span><span·class="p"·data-group-id="3668592916-10">)</span><span·class="p"·data-group-id="3668592916-9">)</span><span·class="p">,</span><span·class="w">
3103 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="3186148521-11">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">repair_continuation</span><span·class="p"·data-group-id="3186148521-12">(</span><span·class="n">MaybeBroken</span><span·class="p">,</span><span·class="n">MS</span><sp[·...·truncated·by·diffoscope;·len:·92,·SHA:·30dafb05345d474392a25707b6a33a1b5fbe4bdc3b1b5d66b8338b1098111cb4·...·]-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·to3103 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="3668592916-11">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">repair_continuation</span><span·class="p"·data-group-id="3668592916-12">(</span><span·class="n">MaybeBroken</span><span·class="p">,</span><span·class="n">MS</span><sp[·...·truncated·by·diffoscope;·len:·92,·SHA:·45578282db1af613973218a5d98a66035fd438470ebebd5632492a0b8ff5f9ed·...·]-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
3104 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>3104 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>
3105 sequences.·A·normal·application·would·either·use·Mnesia·or·keep·the3105 sequences.·A·normal·application·would·either·use·Mnesia·or·keep·the
3106 continuation·from·being·converted·to·external·format.</p><p>The·actual·behavior·of·compiled·match·specifications·when·recreated·from3106 continuation·from·being·converted·to·external·format.</p><p>The·actual·behavior·of·compiled·match·specifications·when·recreated·from
Max diff block lines reached; 62743/123253 bytes (50.91%) of diff not shown.
690 B
html2text {}
Max HTML report size reached
20.1 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="8085996223-1">(</span><span·class="n">Log</span><span·class="p"·data-group-id="8085996223-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="8089162983-1">(</span><span·class="n">Log</span><span·class="p"·data-group-id="8089162983-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ····</span><span·class="p"·data-group-id="8085996223-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="8085996223-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n[·...·truncated·by·diffoscope;·len:·692,·SHA:·32200c7f7874ec9e76bd60aa8b6d50bfabb200617c7eedf1fab9d3e032842d48·...·]3-3">)</span><span·class="p">,</span><span·class="w">199 ····</span><span·class="p"·data-group-id="8089162983-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="8089162983-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n[·...·truncated·by·diffoscope;·len:·692,·SHA:·215bd16f08e7312a84299987de7d74c808aab4f5ea0f44abc81c89b0e4b1b3af·...·]3-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="8085996223-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="8085996223-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="8089162983-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="8089162983-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="8085996223-8">(</span><span·class="p"·data-group-id="8085996223-9">[</span><span·class="p"·data-group-id="8085996223-9">]</span><span·class="p"·data-group-id="8085996223-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="8089162983-8">(</span><span·class="p"·data-group-id="8089162983-9">[</span><span·class="p"·data-group-id="8089162983-9">]</span><span·class="p"·data-group-id="8089162983-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="8085996223-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="8085996223-11">{</span><span·class="ss">format</span[·...·truncated·by·diffoscope;·len:·147,·SHA:·ac6d2e5ac630f975042710aa48fbd75231833febf6f7d13956bb1d4309f7af48·...·]3-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="8089162983-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="8089162983-11">{</span><span·class="ss">format</span[·...·truncated·by·diffoscope;·len:·147,·SHA:·34316845a16f711f8ababf0608843cb34d4fc97b6b30fea08279cc8d2e35358b·...·]3-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="8085996223-12">(</span><span·class="n">Log</span><span·class="p"·data-group-id="8085996223-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="8089162983-12">(</span><span·class="n">Log</span><span·class="p"·data-group-id="8089162983-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="8085996223-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="8085996223-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="8089162983-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="8089162983-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="8085996223-14">(</span><span·class="ss">close</span><span·class="p"·data-group-id="8085996223-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="8089162983-14">(</span><span·class="ss">close</span><span·class="p"·data-group-id="8089162983-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="8085996223-15">(</span><span·class="ss">read</span><span·class="p"·data-group-id="8085996223-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ·······</span><span·class="p"·data-group-id="8089162983-15">(</span><span·class="ss">read</span><span·class="p"·data-group-id="8089162983-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="8085996223-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="8085996223-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="8089162983-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="8089162983-16">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
210 ················</span><span·class="p"·data-group-id="8085996223-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="8085996223-17">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">210 ················</span><span·class="p"·data-group-id="8089162983-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="8089162983-17">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ····················</span><span·class="p"·data-group-id="8085996223-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="8085996223-18">}</span><span·class="p">;</span><span·class="w">211 ····················</span><span·class="p"·data-group-id="8089162983-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="8089162983-18">}</span><span·class="p">;</span><span·class="w">
212 ················</span><span·class="p"·data-group-id="8085996223-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="8085996223-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 ················</span><span·class="p"·data-group-id="8089162983-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="8089162983-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
213 ····················</span><span·class="p"·data-group-id="8085996223-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="8085996223-21">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·119,·SHA:·58fa86d7064780e0c7f764c301a36f7779ed562332ba1106ee4fb79f702ad7d1·...·]3-20">}</span><span·class="p">;</span><span·class="w">213 ····················</span><span·class="p"·data-group-id="8089162983-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="8089162983-21">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·119,·SHA:·692be75093ad3faf94e314c76769238e66887da8240afd2d94105c635861a9bf·...·]3-20">}</span><span·class="p">;</span><span·class="w">
214 ················</span><span·class="p"·data-group-id="8085996223-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-id[·...·truncated·by·diffoscope;·len:·11,·SHA:·a6617300d1fed7475ab6c9dff61aafb26d14553227a607bc5f8bc5e63eb0d660·...·]3-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 ················</span><span·class="p"·data-group-id="8089162983-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-id[·...·truncated·by·diffoscope;·len:·11,·SHA:·8bebf1ea5b7cf482dc64f9bc6e9ca3cb340f149b8c5470076a5c7c6ed30d1121·...·]3-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ····················</span><span·class="p"·data-group-id="8085996223-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="8085996223-24">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·119,·SHA:·9ebcce43d3ffb98b14a3331e4fe328d9d170e9dc74a012b5f30263912cf6061b·...·]3-23">}</span><span·class="p">;</span><span·class="w">215 ····················</span><span·class="p"·data-group-id="8089162983-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="8089162983-24">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·119,·SHA:·61879634d9d6dcbe63c2a39cfaecf698df4c66b20478a8b8a38cad3e912027d2·...·]3-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="8085996223-25">(</span><span·class="n">L</span><span·class="p"·data-group-id="8085996223-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="8089162983-25">(</span><span·class="n">L</span><span·class="p"·data-group-id="8089162983-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="8085996223-26">(</span><span·class="ss">close</span><span·class="p"·data-group-id="8085996223-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="8089162983-26">(</span><span·class="ss">close</span><span·class="p"·data-group-id="8089162983-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="8085996223-27">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="8085996223-28">(</span><span·class="n">L</span><span·class="p"·data-group-id="8085996223-28">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·92ba90e84ee14f67e59fac68b186684df95969e7a9c3c94714b354813fd7bc6e·...·]3-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="8089162983-27">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="8089162983-28">(</span><span·class="n">L</span><span·class="p"·data-group-id="8089162983-28">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·c13110a9b959b30bbe49b8649f655f89b4c83fddafc25ef929d74ab98b1d5c31·...·]3-27">)</span><span·class="p">;</span><span·class="w">
223 ·······</span><span·class="p"·data-group-id="8085996223-29">(</span><span·class="n">Terms</span><span·class="p"·data-group-id="8085996223-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">223 ·······</span><span·class="p"·data-group-id="8089162983-29">(</span><span·class="n">Terms</span><span·class="p"·data-group-id="8089162983-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="8085996223-30">(</span><span·class="p"·data-group-id="8085996223-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="8085996223-31">]</span><spa[·...·truncated·by·diffoscope;·len:·36,·SHA:·9b7e80d85d3a61536e152f0b987d11ba62ed1780d1aa01a898439cea23f2b721·...·]3-30">)</span><span·class="w">224 ············</span><span·class="nf">output</span><span·class="p"·data-group-id="8089162983-30">(</span><span·class="p"·data-group-id="8089162983-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="8089162983-31">]</span><spa[·...·truncated·by·diffoscope;·len:·36,·SHA:·c483219bb6b76a5d86601134964f1c4a1acd97c8d95a74d4030b688d1853df70·...·]3-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.2.7/doc/html/file.html#t:posix/0"><code·class="inline">file:posix()</code></a>,·see·<a·href="../../../../lib/kernel-10.2.7/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.2.7/doc/html/file.html#t:posix/0"><code·class="inline">file:posix()</code></a>,·see·<a·href="../../../../lib/kernel-10.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1835 <p>Copyright·©·1996-2025·<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-6.2.2/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="9291214290-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="9291214290-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·168,·SHA:·a660f9a6f5d692b8c43217a7dfe790d3007be969ff25612035c8a2d492589a22·...·]-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="7357412013-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="7357412013-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·168,·SHA:·df2cd98d506ed8da1ff17ab1e55d03d778e9a36d143467c24f15a50ef689dd0d·...·]-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="9291214290-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="9291214290-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="7357412013-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="7357412013-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="9291214290-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="9291214290-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="7357412013-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="7357412013-4">)</span><span·class="p">.</span><span·class="w">
996 </span><span·class="p"·data-group-id="9291214290-5">[</span><span·class="p"·data-group-id="9291214290-5">]</span><span·class="gp·unselectable">996 </span><span·class="p"·data-group-id="7357412013-5">[</span><span·class="p"·data-group-id="7357412013-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="9291214290-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="9291214290-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="7357412013-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="7357412013-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="9291214290-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="9291214290-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="7357412013-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="7357412013-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1095 <p>Copyright·©·1996-2025·<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.8 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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.2.7/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.2.7/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.2.7/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.2.7/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="3215587737-1">(</span><span·class="p"·data-group-id="3215587737-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="9159268428-1">(</span><span·class="p"·data-group-id="9159268428-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="3215587737-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="3215587737-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="9159268428-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="9159268428-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="3215587737-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="3215587737-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="9159268428-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="9159268428-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="3215587737-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="3215587737-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="9159268428-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="9159268428-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="7721969888-1">(</span><span·class="p"·data-group-id="7721969888-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="7063957406-1">(</span><span·class="p"·data-group-id="7063957406-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="7721969888-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="7721969888-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="7063957406-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="7063957406-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="7721969888-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="7721969888-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="7063957406-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="7063957406-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="7721969888-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="7721969888-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="7063957406-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="7063957406-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 659, 66 lines modifiedOffset 659, 66 lines modified
  
659 ······</div>659 ······</div>
  
660 <p><a·href=""·id="basedir_3_1"></a>·<a·href=""·id="basedir_3_2"></a></p><p>Returns·a·suitable·path,·or·paths,·for·a·given·type.·If·<code·class="inline">os</code>·is·not·set·in660 <p><a·href=""·id="basedir_3_1"></a>·<a·href=""·id="basedir_3_2"></a></p><p>Returns·a·suitable·path,·or·paths,·for·a·given·type.·If·<code·class="inline">os</code>·is·not·set·in
661 <code·class="inline">Opts</code>·the·function·will·default·to·the·native·option,·that·is·<code·class="inline">'linux'</code>,661 <code·class="inline">Opts</code>·the·function·will·default·to·the·native·option,·that·is·<code·class="inline">'linux'</code>,
662 <code·class="inline">'darwin'</code>·or·<code·class="inline">'windows'</code>,·as·understood·by·<a·href="../../../../lib/kernel-10.2.7/doc/html/os.html#type/0"><code·class="inline">os:type/0</code></a>.·Anything·not·recognized662 <code·class="inline">'darwin'</code>·or·<code·class="inline">'windows'</code>,·as·understood·by·<a·href="../../../../lib/kernel-10.2.7/doc/html/os.html#type/0"><code·class="inline">os:type/0</code></a>.·Anything·not·recognized
663 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>·option663 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
664 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="0306141006-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="0306141006-2">#{</span><[·...·truncated·by·diffoscope;·len:·176,·SHA:·3a04285464800d11d129cd8b4f8e3987e93e00232c14b1d6b06c6587bba0933d·...·]-1">)</span><span·class="p">.</span><span·class="w">664 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="5398325490-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="5398325490-2">#{</span><[·...·truncated·by·diffoscope;·len:·176,·SHA:·f06ce5ab884601ebd38877570faec0701531b61d6557f9e344bafa0e12702c71·...·]-1">)</span><span·class="p">.</span><span·class="w">
665 </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="9229673976-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="9229673976-2">#{</span><[·...·truncated·by·diffoscope;·len:·176,·SHA:·dce4529dd0d47f2862302832ab77736c2eecd641d67b214f9428ba6b7f5212f8·...·]6-1">)</span><span·class="p">.</span><span·class="w">665 </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="6717521966-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="6717521966-2">#{</span><[·...·truncated·by·diffoscope;·len:·176,·SHA:·a799264f2a2c86d5f5ea4cd637e14cbd5c36ef4d6cdea5169da1e99f15e2e9f3·...·]6-1">)</span><span·class="p">.</span><span·class="w">
666 </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="4768895393-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="4768895393-1">)</span><span·class="p">.</span><span·class="w">666 </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="4451066207-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="4451066207-1">)</span><span·class="p">.</span><span·class="w">
667 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">667 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">
668 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4768895393-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="4768895393-2">)</span><span·class="p">.</span><span·class="w">668 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4451066207-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="4451066207-2">)</span><span·class="p">.</span><span·class="w">
669 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">669 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">
670 3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4768895393-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="4768895393-4">#{</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·31137d358a44240f5430738db5722cf710bd50e2ae46cae831b6f47f6d3b0b55·...·]-3">)</span><span·class="p">.</span><span·class="w">670 3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4451066207-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="4451066207-4">#{</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·4e86e2855ee76c6751f3253825f86b9b6ae77669c2918b12918d455a76484085·...·]-3">)</span><span·class="p">.</span><span·class="w">
671 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/Cache&quot;</span><span·class="gp·unselectable">671 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/Cache&quot;</span><span·class="gp·unselectable">
672 4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4768895393-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="4768895393-6">#{</span><span·clas[·...·truncated·by·diffoscope;·len:·181,·SHA:·41e2cdbf4634c07b39a80854fbc78abd2a927540057802ae6b23080be442c49d·...·]-5">)</span><span·class="p">.</span><span·class="w">672 4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4451066207-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="4451066207-6">#{</span><span·clas[·...·truncated·by·diffoscope;·len:·181,·SHA:·164bda3158a647a8d7296ac40debad80c18bc2c640c49f5d0093a755bd59d1df·...·]-5">)</span><span·class="p">.</span><span·class="w">
673 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/1.2/Cache&quot;</span><span·class="gp·unselectable">673 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/1.2/Cache&quot;</span><span·class="gp·unselectable">
674 5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4768895393-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="4768895393-8">#{</span><span·clas[·...·truncated·by·diffoscope;·len:·304,·SHA:·573852b3e91e79a009870e33a0a20f402991009dc7c100e0bf080efb854f073e·...·]-7">)</span><span·class="p">.</span><span·class="w">674 5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4451066207-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="4451066207-8">#{</span><span·clas[·...·truncated·by·diffoscope;·len:·304,·SHA:·4d6ee21a7ecff9dd8007d1f4685a7cfa51f205f73034071f5d83a6815d0dec94·...·]-7">)</span><span·class="p">.</span><span·class="w">
675 </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="9761164781-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="9761164781-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·150cafd5c5d80618e6c1c44efc9882f03ba887ff0dab947fae3bf85c8c12447f·...·]-1">)</span><span·class="p">.</span><span·class="w">675 </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="1616151988-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="1616151988-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·0a08805c14dc056443fafaad5406f35b08ca87a0b4ff9dcbd5312385db822b72·...·]-1">)</span><span·class="p">.</span><span·class="w">
676 </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="8145917441-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="8145917441-2">#{</span>[·...·truncated·by·diffoscope;·len:·178,·SHA:·eda2f26e85d60a98b37db96867518131c62d5a727cfe334828899d69cdae395e·...·]-1">)</span><span·class="p">.</span><span·class="w">676 </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="1354127322-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="1354127322-2">#{</span>[·...·truncated·by·diffoscope;·len:·178,·SHA:·692672eef67a16b113cdacdc058dad3c06739d0c1adb40b91626914d6782452b·...·]-1">)</span><span·class="p">.</span><span·class="w">
677 </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="7748163515-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="7748163515-1">)</span><span·class="p">.</span><span·class="w">677 </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="4924945222-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="4924945222-1">)</span><span·class="p">.</span><span·class="w">
678 </span><span·class="s">&quot;c:/Users/otptest/AppData/Roaming/My·App&quot;</span><span·class="gp·unselectable">678 </span><span·class="s">&quot;c:/Users/otptest/AppData/Roaming/My·App&quot;</span><span·class="gp·unselectable">
679 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7748163515-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="7748163515-3">#{</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·baac6f52291fd76e48bdc8d5873639e0392aa7e65cf4f961d361d792b14e510e·...·]-2">)</span><span·class="p">.</span><span·class="w">679 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4924945222-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="4924945222-3">#{</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·ac894fb4e137bd2d872c2b3e3aa3c78b9519689d1c8fff6e7409a2ba8bf8a015·...·]-2">)</span><span·class="p">.</span><span·class="w">
680 </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="6815396095-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="6815396095-2">#{</span><s[·...·truncated·by·diffoscope;·len:·175,·SHA:·8cc3ced6bafc0a3b6f7a3bf5a5d5068f195fb94cab37b7ee5d9f60126f707b47·...·]-1">)</span><span·class="p">.</span><span·class="w">680 </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="3985008870-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="3985008870-2">#{</span><s[·...·truncated·by·diffoscope;·len:·175,·SHA:·e5494ce95104af8ff551541c7555a96aaba16cec2ef3d4d07361016c6182c6b7·...·]-1">)</span><span·class="p">.</span><span·class="w">
681 </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="6117041995-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="6117041995-2">#{</span><s[·...·truncated·by·diffoscope;·len:·176,·SHA:·5eed2e59d778d9bca06ad648d0cf0a9ca873e7cdec148ee84f06c9f36c4bfaee·...·]-1">)</span><span·class="p">.</span><span·class="w">681 </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="9818340316-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="9818340316-2">#{</span><s[·...·truncated·by·diffoscope;·len:·176,·SHA:·1e3fe71d210011d366df70b443a0e0d0065310bc28f4fc4593dcafeaa1321be0·...·]-1">)</span><span·class="p">.</span><span·class="w">
682 </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="7614803755-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="7614803755-1">)</span><span·class="p">.</span><span·class="w">682 </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="7657711412-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="7657711412-1">)</span><span·class="p">.</span><span·class="w">
683 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App&quot;</span><span·class="gp·unselectable">683 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App&quot;</span><span·class="gp·unselectable">
684 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7614803755-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="7614803755-3">#{</span><span·class="ss">author</span><span·[·...·truncated·by·diffoscope;·len:·278,·SHA:·cbfbe1ad0487a4ec6addb0a2a8770a2d92b07f347060f08fb167429a876c4a09·...·]-2">)</span><span·class="p">.</span><span·class="w">684 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7657711412-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="7657711412-3">#{</span><span·class="ss">author</span><span·[·...·truncated·by·diffoscope;·len:·278,·SHA:·2cfa346d30a25cf88b7267d8686f5ceaa729db3cdcb6035de00585a80e83bc4b·...·]-2">)</span><span·class="p">.</span><span·class="w">
685 </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="4026685148-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="4026685148-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·174,·SHA:·875f153cf6858c6add58c51597636201396250d3b5754f739270d2a10917f7c3·...·]-1">)</span><span·class="p">.</span><span·class="w">685 </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="0613751860-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="0613751860-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·174,·SHA:·df21488a1dd5b8e086d14143b7713605f85a39ef07b18325bae0cf262481ccb2·...·]-1">)</span><span·class="p">.</span><span·class="w">
686 </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="6385304560-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="6385304560-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·8d7c3fea28d1efa8dbb11842f64d888810337fd36e5536bbd044de214e5da466·...·]-1">)</span><span·class="p">.</span><span·class="w">686 </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="8768822444-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="8768822444-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·8b9d8f755cfde632cd0ecf154a737607088b002dc0b65d5b0adacce0682f637b·...·]-1">)</span><span·class="p">.</span><span·class="w">
687 </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="4017135732-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="4017135732-1">)</span><span·class="p">.</span><span·class="w">687 </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="4678807039-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="4678807039-1">)</span><span·class="p">.</span><span·class="w">
688 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Logs&quot;</span><span·class="gp·unselectable">688 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Logs&quot;</span><span·class="gp·unselectable">
689 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4017135732-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="4017135732-3">#{</span><span·class="ss">author</span><span·[·...·truncated·by·diffoscope;·len:·278,·SHA:·01629eb7309fcc3f5e71e152fd1f61097906fd2c2fdf3235f08cda6fe7e30210·...·]-2">)</span><span·class="p">.</span><span·class="w">689 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4678807039-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="4678807039-3">#{</span><span·class="ss">author</span><span·[·...·truncated·by·diffoscope;·len:·278,·SHA:·fd262dfc1d8569901a9c60faa474b064ee2bf258f876b8624fa1ed29b63080cb·...·]-2">)</span><span·class="p">.</span><span·class="w">
690 </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="3263499169-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="3263499169-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·2ae573162a01f6ab7262cb756242e5a8f52e1ae2831a3dc87e9899287ad4637d·...·]-1">)</span><span·class="p">.</span><span·class="w">690 </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="9447850400-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="9447850400-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·a1d2f032e0999534d0a6b059ae7d9d08e89fbbea40a7d9901881d2f14ebd554f·...·]-1">)</span><span·class="p">.</span><span·class="w">
691 </span><span·class="p"·data-group-id="3263499169-3">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">691 </span><span·class="p"·data-group-id="9447850400-3">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">
692 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="3263499169-3">]</span><span·class="gp·unselectable">692 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="9447850400-3">]</span><span·class="gp·unselectable">
693 6&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">getenv</span><span·class="p"·data-group-id="3263499169-4">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="3263499169-4">)</span><span·class="p">.</span><span·class="w">693 6&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">getenv</span><span·class="p"·data-group-id="9447850400-4">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="9447850400-4">)</span><span·class="p">.</span><span·class="w">
694 </span><span·class="s">&quot;/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg&quot;</span><span·class="gp·unselectable">694 </span><span·class="s">&quot;/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg&quot;</span><span·class="gp·unselectable">
695 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="3263499169-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="3263499169-6">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·3fe345e883a69aaf64e8b600bd86bbf97c0988c39945ae6f083859b043ef1eb2·...·]-5">)</span><span·class="p">.</span><span·class="w">695 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9447850400-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="9447850400-6">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·d34943bd3b7ac2be62e0bf81d1681b66e8c40295cc2d652aebcdc858c1882572·...·]-5">)</span><span·class="p">.</span><span·class="w">
696 </span><span·class="p"·data-group-id="3263499169-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="p"·data-group-id="9447850400-7">[</span><span·class="s">&quot;/etc/xdg/xdg-ubuntu/my_application&quot;</span><span·class="p">,</span><span·class="w">
697 ·</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;/usr/share/upstart/xdg/my_application&quot;</span><span·class="p">,</span><span·class="w">
698 ·</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="3263499169-7">]</span><span·class="gp·unselectable">698 ·</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="9447850400-7">]</span><span·class="gp·unselectable">
699 8&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="3263499169-8">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="3263499169-8">)</span><span·class="p">.</span><span·class="w">699 8&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="9447850400-8">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="9447850400-8">)</span><span·class="p">.</span><span·class="w">
700 </span><span·class="ss">true</span><span·class="gp·unselectable">700 </span><span·class="ss">true</span><span·class="gp·unselectable">
701 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="3263499169-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="3263499169-10">#{</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·d2b0eddff29d7a4fc997fbbfb9b38bb016717b349630cee170e5b0ddb50ae65b·...·]-9">)</span><span·class="p">.</span><span·class="w">701 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9447850400-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="9447850400-10">#{</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·c97553fddd2d132268c19de73b1a1d80d7da488f3d7e263feb764e0c34182c86·...·]-9">)</span><span·class="p">.</span><span·class="w">
702 </span><span·class="p"·data-group-id="3263499169-11">[</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="3263499169-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:·776f54059032ea349c10197c15bec6372401b2a2ce36df462d03056e1075a2c3·...·]-1">)</span><span·class="p">.</span><span·class="w">702 </span><span·class="p"·data-group-id="9447850400-11">[</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="9447850400-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:·43a80d86d16d695045ff6ed613b9936df138230c597f7e416d0930a5a2beb62c·...·]-1">)</span><span·class="p">.</span><span·class="w">
703 </span><span·class="p"·data-group-id="4102965925-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="4102965925-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:·7e2262083f25bc26c820c4631758586f497c40e1fe42fc2df2dac7c8ec08411a·...·]1-1">)</span><span·class="p">.</span><span·class="w">703 </span><span·class="p"·data-group-id="5121437647-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="5121437647-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:·4d6f734480fe61ab66f67b75510140a6f4b1651127a7c0ccc005155a2e7c3112·...·]1-1">)</span><span·class="p">.</span><span·class="w">
704 </span><span·class="s">&quot;/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/&quot;</span><span·class="gp·unselectable">704 </span><span·class="s">&quot;/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/&quot;</span><span·class="gp·unselectable">
705 11&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="3528743951-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="3528743951-3">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·e0faa68232591b528f45b5bcf69e638eaaf5346c20841f75bbe01854930794bc·...·]1-2">)</span><span·class="p">.</span><span·class="w">705 11&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1127786121-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="1127786121-3">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·a92f4069db52e04111e94f994c1310d5111fee2aab0504394623d7d9b6d46b28·...·]1-2">)</span><span·class="p">.</span><span·class="w">
706 </span><span·class="p"·data-group-id="3528743951-4">[</span><span·class="s">&quot;/usr/share/ubuntu/my_application&quot;</span><span·class="p">,</span><span·class="w">706 </span><span·class="p"·data-group-id="1127786121-4">[</span><span·class="s">&quot;/usr/share/ubuntu/my_application&quot;</span><span·class="p">,</span><span·class="w">
707 ·</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/share/gnome/my_application&quot;</span><span·class="p">,</span><span·class="w">
708 ·</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/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">
709 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="3528743951-4">]</span><span·class="gp·unselectable">709 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="1127786121-4">]</span><span·class="gp·unselectable">
710 12&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="3528743951-5">(</span><span·class="s">&quot;XDG_DATA_DIRS&quot;</span><span·class="p"·data-group-id="3528743951-5">)</span><span·class="p">.</span><span·class="w">710 12&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="1127786121-5">(</span><span·class="s">&quot;XDG_DATA_DIRS&quot;</span><span·class="p"·data-group-id="1127786121-5">)</span><span·class="p">.</span><span·class="w">
711 </span><span·class="ss">true</span><span·class="gp·unselectable">711 </span><span·class="ss">true</span><span·class="gp·unselectable">
712 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="3528743951-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="3528743951-7">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·ea07c43fc9bed68a2ca54fe3a818f3f439ec69b050c66c9df2154caf26348f8a·...·]1-6">)</span><span·class="p">.</span><span·class="w">712 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1127786121-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="1127786121-7">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·418f66cc9ea165d567dcf0c16a9adcff33c9ff71803db4f8b4465ffabab307f2·...·]1-6">)</span><span·class="p">.</span><span·class="w">
713 </span><span·class="p"·data-group-id="3528743951-8">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">713 </span><span·class="p"·data-group-id="1127786121-8">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">
714 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="3528743951-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:·436,·SHA:·99e18d6c956b63992622212df57dd5c2d2b9d6a6a9a01dfa57315941715ed443·...·]6-1">)</span><span·class="p">.</span><span·class="w">714 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="1127786121-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:·436,·SHA:·c15eddd021a5733f48b635e6856e49bd9f13080a27155bf532100b92aea5e56d·...·]6-1">)</span><span·class="p">.</span><span·class="w">
715 </span><span·class="p"·data-group-id="8138536466-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="8138536466-3">]</span></code></pre></li></ul>715 </span><span·class="p"·data-group-id="8504942446-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="8504942446-3">]</span></code></pre></li></ul>
716 ··</section>716 ··</section>
717 </section>717 </section>
718 <section·class="detail"·id="basename/1">718 <section·class="detail"·id="basename/1">
  
719 ··<div·class="detail-header">719 ··<div·class="detail-header">
720 ····<a·href="#basename/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">720 ····<a·href="#basename/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
721 ······<i·class="ri-link-m"·aria-hidden="true"></i>721 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 737, 20 lines modifiedOffset 737, 20 lines modified
737 ······<div·class="specs">737 ······<div·class="specs">
  
738 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename)·->·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>738 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename)·->·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>
  
739 ······</div>739 ······</div>
  
740 <p>Returns·the·last·component·of·<code·class="inline">Filename</code>,·or·<code·class="inline">Filename</code>·itself·if·it·does·not740 <p>Returns·the·last·component·of·<code·class="inline">Filename</code>,·or·<code·class="inline">Filename</code>·itself·if·it·does·not
741 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="5577598831-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="5577598831-1">)</span><span·class="p">.</span><span·class="w">741 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="5979591467-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="5979591467-1">)</span><span·class="p">.</span><span·class="w">
742 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">742 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">
743 6&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="5577598831-2">(</span><span·class="s">&quot;/usr/foo&quot;</span><span·class="p"·data-group-id="5577598831-2">)</span><span·class="p">.</span><span·class="w">743 6&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="5979591467-2">(</span><span·class="s">&quot;/usr/foo&quot;</span><span·class="p"·data-group-id="5979591467-2">)</span><span·class="p">.</span><span·class="w">
744 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">744 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">
745 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="5577598831-3">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="5577598831-3">)</span><span·class="p">.</span><span·class="w">745 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="5979591467-3">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="5979591467-3">)</span><span·class="p">.</span><span·class="w">
746 </span><span·class="p"·data-group-id="5577598831-4">[</span><span·class="p"·data-group-id="5577598831-4">]</span></code></pre>746 </span><span·class="p"·data-group-id="5979591467-4">[</span><span·class="p"·data-group-id="5979591467-4">]</span></code></pre>
747 ··</section>747 ··</section>
748 </section>748 </section>
749 <section·class="detail"·id="basename/2">749 <section·class="detail"·id="basename/2">
  
750 ··<div·class="detail-header">750 ··<div·class="detail-header">
751 ····<a·href="#basename/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">751 ····<a·href="#basename/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
752 ······<i·class="ri-link-m"·aria-hidden="true"></i>752 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 771, 23 lines modifiedOffset 771, 23 lines modified
771 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename,·Ext)·->·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:filename_all/0">file:filename_all</a>()771 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename,·Ext)·->·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:filename_all/0">file:filename_all</a>()
772 ··················when·Filename·::·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:name_all/0">file:name_all</a>(),·Ext·::·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>772 ··················when·Filename·::·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:name_all/0">file:name_all</a>(),·Ext·::·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>
  
773 ······</div>773 ······</div>
  
774 <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 <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.
775 To·remove·an·existing·extension·when·you·are·unsure·which·one·it·is,·use775 To·remove·an·existing·extension·when·you·are·unsure·which·one·it·is,·use
776 <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="5322369091-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="5322369091-1">)</span><span·class="p">.</span><span·class="w">776 <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="0106462404-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="0106462404-1">)</span><span·class="p">.</span><span·class="w">
777 </span><span·class="s">&quot;kalle&quot;</span><span·class="gp·unselectable">777 </span><span·class="s">&quot;kalle&quot;</span><span·class="gp·unselectable">
778 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="5322369091-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="5322369091-2">)</span><span·class="p">.</span><span·class="w">778 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="0106462404-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="0106462404-2">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 26734/86140 bytes (31.04%) of diff not shown.
511 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/gb_sets.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1985 <p>Copyright·©·1996-2025·<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;
683 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1542 <p>Copyright·©·1996-2025·<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-6.2.2/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.2.7/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.2.7/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="9032438833-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="9032438833-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="3461063814-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="3461063814-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="9032438833-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="3461063814-2">(</span><span·class="w">
1276 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="9032438833-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="9032438833-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="3461063814-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="3461063814-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="9032438833-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="9032438833-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="3461063814-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="3461063814-4">)</span><span·class="p">;</span><span·class="w">
1278 ·······</span><span·class="p"·data-group-id="9032438833-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="9032438833-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:·fb2d32d3f944fc44b7507f404cf7bf8cb203a95c42e4044eada45aed26726c32·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1278 ·······</span><span·class="p"·data-group-id="3461063814-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="3461063814-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:·b978f5ea58a6117819f4e80084dfcbe60ec8213db0455fdf3a3c58ad4594a7d5·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1279 ············</span><span·class="p"·data-group-id="9032438833-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="9032438833-7">}</span><span·class="p">;</span><span·class="w">1279 ············</span><span·class="p"·data-group-id="3461063814-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="3461063814-7">}</span><span·class="p">;</span><span·class="w">
1280 ·······</span><span·class="p"·data-group-id="9032438833-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="9032438833-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1280 ·······</span><span·class="p"·data-group-id="3461063814-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="3461063814-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="9032438833-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="3461063814-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2883 <p>Copyright·©·1996-2025·<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-6.2.2/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="5486440759-1">(</span><span·class="ss">code_lock</span><span·class="p"·data-group-id="5486440759-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="6991270965-1">(</span><span·class="ss">code_lock</span><span·class="p"·data-group-id="6991270965-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="5486440759-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="5486440759-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="6991270965-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="6991270965-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="5486440759-3">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="5486440759-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="6991270965-3">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6991270965-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="5486440759-4">(</span><span·class="ss">gen_fsm</span><span·class="p"·data-group-id="5486440759-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="6991270965-4">(</span><span·class="ss">gen_fsm</span><span·class="p"·data-group-id="6991270965-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="5486440759-5">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="5486440759-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="6991270965-5">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="6991270965-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="5486440759-6">(</span><span·class="p"·data-group-id="5486440759-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:·3a23741207b2d31790462bb50ed83a732a5dc8e39fa8ea4208a7490b113048ef·...·]-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="6991270965-6">(</span><span·class="p"·data-group-id="6991270965-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:·1e8c31f244832d7fce34251c5b8a42630623c6c76c3cb5a6c9bef7fc393086de·...·]-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="5486440759-8">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="5486440759-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="6991270965-8">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6991270965-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="5486440759-9">(</span><span·class="p"·data-group-id="5486440759-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="6991270965-9">(</span><span·class="p"·data-group-id="6991270965-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="5486440759-10">]</span><span·class="p"·data-group-id="5486440759-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="6991270965-10">]</span><span·class="p"·data-group-id="6991270965-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="5486440759-11">(</span><span·class="p"·data-group-id="5486440759-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="6991270965-11">(</span><span·class="p"·data-group-id="6991270965-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="5486440759-12">]</span><span·class="p"·data-group-id="5486440759-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="6991270965-12">]</span><span·class="p"·data-group-id="6991270965-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="5486440759-13">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="5486440759-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="6991270965-13">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6991270965-13">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="5486440759-14">(</span><span·class="n">Code</span><span·class="p"·data-group-id="5486440759-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="6991270965-14">(</span><span·class="n">Code</span><span·class="p"·data-group-id="6991270965-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="5486440759-15">(</span><span·class="p"·data-group-id="5486440759-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="5486440759-16">}</sp[·...·truncated·by·diffoscope;·len:·376,·SHA:·b69c75fcddb6859ebc387c3a6ede803e093176d4845c58cdbcd827e08e053848·...·]-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="6991270965-15">(</span><span·class="p"·data-group-id="6991270965-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="6991270965-16">}</sp[·...·truncated·by·diffoscope;·len:·376,·SHA:·0f68ba004a9112beb8cbe195d566089c7de0f3756e1c9447ab56833cc83fc1c6·...·]-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="5486440759-18">(</span><span·class="n">Code</span><span·class="p"·data-group-id="5486440759-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="6991270965-18">(</span><span·class="n">Code</span><span·class="p"·data-group-id="6991270965-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="5486440759-19">(</span><span·class="p"·data-group-id="5486440759-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="5486440759-20">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·352,·SHA:·5859fa84b40bde88d45c39325dbd921b4544056ab3d901a00cbc18a6dfea607c·...·]-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="6991270965-19">(</span><span·class="p"·data-group-id="6991270965-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="6991270965-20">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·352,·SHA:·e4f7236f0f3feaaa402559bda8021f7d29471fac33a6033f6d5dc86ea10facf8·...·]-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="5486440759-22">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="5486440759-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="6991270965-22">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6991270965-22">)</span><span·class="p">.</span><span·class="w">
170 </span><span·class="nf">button</span><span·class="p"·data-group-id="5486440759-23">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="5486440759-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="6991270965-23">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="6991270965-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="5486440759-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="5486440759-25">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·121,·SHA:·9b78e7db348696dc7ffe08013d364051a50900c3cad70ddbdd26a7924365f84d·...·]-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="6991270965-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="6991270965-25">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·121,·SHA:·e0d94c274c90bd0172df7e9ed2d05f3b98f956e2a84aa371dd6c21e217879de8·...·]-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="5486440759-26">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="5486440759-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="6991270965-26">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="6991270965-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="5486440759-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="5486440759-28">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="n">Digit</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·4f87558e2fc8ebde4e40427851ca014b4795cd8309cff1ad1539b8411a2902a0·...·]-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="6991270965-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="6991270965-28">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="n">Digit</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·a1699acc1fb109709f342d1c1db876917bc9cbe03e5d7e02d24cacb645ac452d·...·]-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="5486440759-29">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="5486440759-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="6991270965-29">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6991270965-29">)</span><span·class="p">.</span><span·class="w">
179 </span><span·class="nf">stop</span><span·class="p"·data-group-id="5486440759-30">(</span><span·class="p"·data-group-id="5486440759-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="6991270965-30">(</span><span·class="p"·data-group-id="6991270965-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="5486440759-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="5486440759-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="6991270965-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="6991270965-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="5486440759-32">(</span><span·class="p"·data-group-id="5486440759-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="6991270965-32">(</span><span·class="p"·data-group-id="6991270965-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="5486440759-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="5486440759-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="6991270965-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="6991270965-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="5486440759-34">(</span><span·class="n">Code</span><span·class="p"·data-group-id="5486440759-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="6991270965-34">(</span><span·class="n">Code</span><span·class="p"·data-group-id="6991270965-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="5486440759-35">(</span><span·class="p"·data-group-id="5486440759-35">)</span><span·class="p">,</span><span·class="w">188 ····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="6991270965-35">(</span><span·class="p"·data-group-id="6991270965-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="5486440759-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:·120c5becd05761673b69119280d778a164d74f473d3cb324253cba9e902e8131·...·]-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="6991270965-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:·690e9ea3719da5d1f01ae7f745979cfee97d36b570d793ccee4ac011cc0dc329·...·]-36">}</span><span·class="p">,</span><span·class="w">
190 ····</span><span·class="p"·data-group-id="5486440759-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="5486440759-37">}</span><span·class="p">.</span><span·class="w">190 ····</span><span·class="p"·data-group-id="6991270965-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="6991270965-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="5486440759-38">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="5486440759-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="6991270965-38">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6991270965-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="5486440759-39">(</span><span·class="p"·data-group-id="5486440759-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="6991270965-39">(</span><span·class="p"·data-group-id="6991270965-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="5486440759-40">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="5486440759-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="6991270965-40">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6991270965-40">)</span><span·class="p">.</span><span·class="w">
202 </span><span·class="nf">locked</span><span·class="p"·data-group-id="5486440759-41">(</span><span·class="p"·data-group-id="5486440759-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="5486440759-42">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·98,·SHA:·83a4168352e77cf7eab0d8969cbdbb1fbefc2abdc0a834fb0b2e1e237e3930e3·...·]-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="6991270965-41">(</span><span·class="p"·data-group-id="6991270965-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="6991270965-42">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·98,·SHA:·dbb86e211320196e97bb2f681df261627e2518c06e63567e22136e809aa61579·...·]-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="5486440759-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="5486440759-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="6991270965-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="6991270965-43">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
204 ····</span><span·class="p"·data-group-id="5486440759-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:·263ccf7ace0df7415d2c6bb5759236de376ceb429639c16415d4f251622a846f·...·]-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 ····</span><span·class="p"·data-group-id="6991270965-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:·b846352ef14d4d4b043588b4512c5b266a017590f4b80966bc019fb15b38169c·...·]-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
205 ········</span><span·class="p"·data-group-id="5486440759-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:·aa16d87120e5d3bb1641943bdf4b3206f9caa4661d22da52aebdedfa9be00c44·...·]-45">}</span><span·class="p">;</span><span·class="w">205 ········</span><span·class="p"·data-group-id="6991270965-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:·e428f8c08ec330778b089945b3d1ab704d93a8e8886c20a2710bae148394ac76·...·]-45">}</span><span·class="p">;</span><span·class="w">
206 ····</span><span·class="p"·data-group-id="5486440759-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="5486440759-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 ····</span><span·class="p"·data-group-id="6991270965-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="6991270965-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ········</span><span·class="p"·data-group-id="5486440759-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="5486440759-47">}</span><span·class="w">207 ········</span><span·class="p"·data-group-id="6991270965-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="6991270965-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="5486440759-48">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5486440759-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:·8c30e599836923b6f6a8a9dfe2361783dde52e94d5b5e2df5daa378648a6359c·...·]-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="6991270965-48">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6991270965-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:·c9177165652f38ae2fde1fed83240fe8f517b902851e469005a690ce18992a9b·...·]-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="5486440759-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="5486440759-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="6991270965-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="6991270965-50">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
212 ····</span><span·class="p"·data-group-id="5486440759-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:·263ccf7ace0df7415d2c6bb5759236de376ceb429639c16415d4f251622a846f·...·]-51">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 ····</span><span·class="p"·data-group-id="6991270965-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:·b846352ef14d4d4b043588b4512c5b266a017590f4b80966bc019fb15b38169c·...·]-51">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
213 ········</span><span·class="p"·data-group-id="5486440759-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:·aa16d87120e5d3bb1641943bdf4b3206f9caa4661d22da52aebdedfa9be00c44·...·]-52">}</span><span·class="p">;</span><span·class="w">213 ········</span><span·class="p"·data-group-id="6991270965-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:·e428f8c08ec330778b089945b3d1ab704d93a8e8886c20a2710bae148394ac76·...·]-52">}</span><span·class="p">;</span><span·class="w">
214 ····</span><span·class="p"·data-group-id="5486440759-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="5486440759-53">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 ····</span><span·class="p"·data-group-id="6991270965-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="6991270965-53">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ········</span><span·class="p"·data-group-id="5486440759-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="5486440759-54">}</span><span·class="w">215 ········</span><span·class="p"·data-group-id="6991270965-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="6991270965-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="5486440759-55">(</span><span·class="p"·data-group-id="5486440759-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="5486440759-56">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·9f7445689163fafeb21c344dc756ee5cc53f59dc0baaf712c96908453fdfb7ab·...·]-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="6991270965-55">(</span><span·class="p"·data-group-id="6991270965-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="6991270965-56">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·4af5b6d753275336ea9a821a6538a3bde8189cdfb9c40193ab27a6551870ac05·...·]-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="5486440759-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="5486440759-57">)</span><span·class="p">;</span><span·class="w">218 ····</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="6991270965-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="6991270965-57">)</span><span·class="p">;</span><span·class="w">
219 </span><span·class="nf">locked</span><span·class="p"·data-group-id="5486440759-58">(</span><span·class="p"·data-group-id="5486440759-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="5486440759-59">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·8366cceea52e6b5560fac034d34e939c6e09da4877ed2eaa25983a1b3fb2145a·...·]-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="6991270965-58">(</span><span·class="p"·data-group-id="6991270965-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="6991270965-59">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·2c854fa675390e0accf697bd14b1d985483f1dc839e4a290aac82e15d8e2ab6b·...·]-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="5486440759-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="5486440759-60">)</span><span·class="p">.</span><span·class="w">220 ····</span><span·class="nf">handle_info</span><span·class="p"·data-group-id="6991270965-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="6991270965-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="5486440759-61">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="5486440759-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="6991270965-61">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6991270965-61">)</span><span·class="p">.</span><span·class="w">
228 </span><span·class="nf">open</span><span·class="p"·data-group-id="5486440759-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="5486440759-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="6991270965-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="6991270965-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="5486440759-63">(</span><span·class="p"·data-group-id="5486440759-63">)</span><span·class="p">,</span><span·class="w">229 ·····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="6991270965-63">(</span><span·class="p"·data-group-id="6991270965-63">)</span><span·class="p">,</span><span·class="w">
230 ····</span><span·class="p"·data-group-id="5486440759-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="5486440759-64">}</span><span·class="p">;</span><span·class="w">230 ····</span><span·class="p"·data-group-id="6991270965-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="6991270965-64">}</span><span·class="p">;</span><span·class="w">
231 </span><span·class="nf">open</span><span·class="p"·data-group-id="5486440759-65">(</span><span·class="p"·data-group-id="5486440759-66">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="5486440759-66">}</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·69,·SHA:·84284109cceeef51ba312e71e23f2fe552df696c927814e97c17c7053bee7399·...·]-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="6991270965-65">(</span><span·class="p"·data-group-id="6991270965-66">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="6991270965-66">}</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·69,·SHA:·27ff51797a9881328d2eb5cd66aa3f786e4cf5e6828094c33fa596a4d79155aa·...·]-65">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="p"·data-group-id="5486440759-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="5486440759-67">}</span><span·class="p">.</span><span·class="w">232 ····</span><span·class="p"·data-group-id="6991270965-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="6991270965-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="5486440759-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="5486440759-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="6991270965-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="6991270965-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="5486440759-69">(</span><span·class="p"·data-group-id="5486440759-69">)</span><span·class="p">,</span><span·class="w">235 ····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="6991270965-69">(</span><span·class="p"·data-group-id="6991270965-69">)</span><span·class="p">,</span><span·class="w">
236 ····</span><span·class="p"·data-group-id="5486440759-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="5486440759-70">}</span><span·class="p">;</span><span·class="w">236 ····</span><span·class="p"·data-group-id="6991270965-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="6991270965-70">}</span><span·class="p">;</span><span·class="w">
237 </span><span·class="nf">open</span><span·class="p"·data-group-id="5486440759-71">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5486440759-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:·368302dc203d24cd3f474510f446f299a33bc13d382ed5ee469201d0a967da9c·...·]-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="6991270965-71">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6991270965-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:·9fa66c4389a3fe629ae8da7e5660c94553f560743bc2f3e74b91949a57f59b23·...·]-71">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
238 ····</span><span·class="p"·data-group-id="5486440759-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="5486440759-73">}</span><span·class="p">;</span><span·class="w">238 ····</span><span·class="p"·data-group-id="6991270965-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="6991270965-73">}</span><span·class="p">;</span><span·class="w">
239 </span><span·class="nf">open</span><span·class="p"·data-group-id="5486440759-74">(</span><span·class="p"·data-group-id="5486440759-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="5486440759-75">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·9f7445689163fafeb21c344dc756ee5cc53f59dc0baaf712c96908453fdfb7ab·...·]-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="6991270965-74">(</span><span·class="p"·data-group-id="6991270965-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="6991270965-75">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·4af5b6d753275336ea9a821a6538a3bde8189cdfb9c40193ab27a6551870ac05·...·]-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="5486440759-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="5486440759-76">)</span><span·class="p">;</span><span·class="w">240 ····</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="6991270965-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="6991270965-76">)</span><span·class="p">;</span><span·class="w">
241 </span><span·class="nf">open</span><span·class="p"·data-group-id="5486440759-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="5486440759-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="6991270965-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="6991270965-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="5486440759-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="5486440759-78">)</span><span·class="p">.</span><span·class="w">242 ····</span><span·class="nf">handle_info</span><span·class="p"·data-group-id="6991270965-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="6991270965-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="5486440759-79">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="5486440759-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="6991270965-79">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6991270965-79">)</span><span·class="p">.</span><span·class="w">
250 </span><span·class="nf">handle_sync_event</span><span·class="p"·data-group-id="5486440759-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:·923ce32ce10f774f20ed699d0d5c2d9fdc83758b3753b16718ae2ba7efbf73cd·...·]-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="6991270965-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:·83f22d96fe08fb25ab01928a75aa7e6ea9dd344c06c909c25b5ca3563acc7b84·...·]-80">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
251 ····</span><span·class="p"·data-group-id="5486440759-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:·5e0b836dff2b1751a78c5da748fe04f4a30102902423fd21ff370458dd1fdd62·...·]-81">}</span><span·class="p">.</span><span·class="w">251 ····</span><span·class="p"·data-group-id="6991270965-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:·d06f89b91823f8ccd6f2623831acb2acb17a7185c6c6212be1e53c86365cb3ec·...·]-81">}</span><span·class="p">.</span><span·class="w">
  
252 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="5486440759-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="5486440759-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="6991270965-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="6991270965-82">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
253 ····</span><span·class="p"·data-group-id="5486440759-83">{</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5486440759-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:·94e9122bc4d4a50a2c9832fa9806aa1eb2fd3a41ebf6c4e4e248aece21e1a106·...·]-83">}</span><span·class="p">.</span><span·class="w">253 ····</span><span·class="p"·data-group-id="6991270965-83">{</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6991270965-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:·b6fc0c480bbb2871e914c3d6956287de1ed0b6ff627005631509df2b60e4bc0b·...·]-83">}</span><span·class="p">.</span><span·class="w">
  
254 </span><span·class="nf">handle_info</span><span·class="p"·data-group-id="5486440759-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="5486440759-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="6991270965-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="6991270965-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.04 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/gen_server.html
    
Offset 1247, 23 lines modifiedOffset 1247, 23 lines modified
1247 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·invoked1247 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
1248 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·by1248 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
1249 <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.2.7/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·status1249 <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.2.7/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
1250 and·shall·return·a·map·<code·class="inline">NewStatus</code>·with·the·same·keys,1250 and·shall·return·a·map·<code·class="inline">NewStatus</code>·with·the·same·keys,
1251 but·it·may·transform·some·values.</p><p>Two·possible·use·cases·for·this·callback·is·to·remove1251 but·it·may·transform·some·values.</p><p>Two·possible·use·cases·for·this·callback·is·to·remove
1252 sensitive·information·from·the·state·to·prevent·it·from·being·printed1252 sensitive·information·from·the·state·to·prevent·it·from·being·printed
1253 in·log·files,·or·to·compact·large·irrelevant·status·items1253 in·log·files,·or·to·compact·large·irrelevant·status·items
1254 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="3629160942-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="3629160942-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1254 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="3285844533-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="3285844533-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1255 ··</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="3629160942-2">(</span><span·class="w">1255 ··</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="3285844533-2">(</span><span·class="w">
1256 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="3629160942-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="3629160942-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1256 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="3285844533-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="3285844533-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1257 ············</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">remove</span><span·class="p"·data-group-id="3629160942-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="3629160942-4">)</span><span·class="p">;</span><span·class="w">1257 ············</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">remove</span><span·class="p"·data-group-id="3285844533-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="3285844533-4">)</span><span·class="p">;</span><span·class="w">
1258 ·······</span><span·class="p"·data-group-id="3629160942-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="3629160942-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Pass</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·8688522a3a6077e6041abdc819ab64e3cea154b2dbd716bc40c41bee2bab5786·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1258 ·······</span><span·class="p"·data-group-id="3285844533-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="3285844533-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Pass</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·ea3c208dfc810f31e006bc5e05af018d8761ff9cf5f91f9e9ef8f949b6a9cf27·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1259 ············</span><span·class="p"·data-group-id="3629160942-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="3629160942-7">}</span><span·class="p">;</span><span·class="w">1259 ············</span><span·class="p"·data-group-id="3285844533-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="3285844533-7">}</span><span·class="p">;</span><span·class="w">
1260 ·······</span><span·class="p"·data-group-id="3629160942-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="3629160942-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1260 ·······</span><span·class="p"·data-group-id="3285844533-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="3285844533-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1261 ············</span><span·class="n">Value</span><span·class="w">1261 ············</span><span·class="n">Value</span><span·class="w">
1262 ····</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="3629160942-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.·The1262 ····</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="3285844533-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
1263 <code·class="inline">gen_server</code>·module·provides·a·default·implementation1263 <code·class="inline">gen_server</code>·module·provides·a·default·implementation
1264 of·this·function·that·returns·the·callback·module·state.</p><p>If·this·callback·is·exported·but·fails,1264 of·this·function·that·returns·the·callback·module·state.</p><p>If·this·callback·is·exported·but·fails,
1265 to·hide·possibly·sensitive·data,1265 to·hide·possibly·sensitive·data,
1266 the·default·function·will·instead·return·the·fact·that1266 the·default·function·will·instead·return·the·fact·that
1267 <a·href="#c:format_status/1"><code·class="inline">Module:format_status/1</code></a>·has·crashed.</p></section>1267 <a·href="#c:format_status/1"><code·class="inline">Module:format_status/1</code></a>·has·crashed.</p></section>
1268 ··</section>1268 ··</section>
1269 </section>1269 </section>
Offset 2898, 15 lines modifiedOffset 2898, 15 lines modified
2898 ······<p·class="built-using">2898 ······<p·class="built-using">
2899 ········Built·using2899 ········Built·using
2900 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2900 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2901 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2901 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2902 ······</p>2902 ······</p>
2903 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2903 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2904 ····</footer>2904 ····</footer>
2905 ··</div>2905 ··</div>
2906 </main>2906 </main>
2907 </div>2907 </div>
2908 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2908 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2909 ··<script>2909 ··<script>
2910 ··let·initialized·=·false;2910 ··let·initialized·=·false;
727 B
html2text {}
Max HTML report size reached
60.7 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="8829486442-1">(</span><span·class="ss">code</span><span·class="w">·</span><span·class="ss">change</span><span·class="p"·data-group-id="8829486442-1">)</span><span·class="w">178 </span><span·class="p"·data-group-id="0185089542-1">(</span><span·class="ss">code</span><span·class="w">·</span><span·class="ss">change</span><span·class="p"·data-group-id="0185089542-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="1812214025-1">(</span><span·class="ss">pushbutton</span><span·class="p"·data-group-id="1812214025-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="8312685433-1">(</span><span·class="ss">pushbutton</span><span·class="p"·data-group-id="8312685433-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="1812214025-2">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="1812214025-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="8312685433-2">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="8312685433-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="1812214025-3">(</span><span·class="p"·data-group-id="1812214025-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:·a75d5057ad10b7616ea5510d619d2e1d3438b62340d5a407a0ab9f7a5d30bf12·...·]-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="8312685433-3">(</span><span·class="p"·data-group-id="8312685433-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:·efb366dfac3dc0fb1f6f6b94cf6996874453af9ec3cd3b2641c8937f2a91503e·...·]-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="1812214025-5">(</span><span·class="p"·data-group-id="1812214025-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:·1bda43522778df0e38e59f6ed164157a7b1a55521ff02b3459ef0f263c8fd860·...·]-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="8312685433-5">(</span><span·class="p"·data-group-id="8312685433-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:·e3374ccb6e0d756d02cfc6db8484590082f138ee61b9421f25bb3846b0274ed3·...·]-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="1812214025-7">(</span><span·class="p"·data-group-id="1812214025-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:·1b4859b36f135340e5ba9c91e50b1d8ce599608bef9f3abe5816d179ed12058f·...·]-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="8312685433-7">(</span><span·class="p"·data-group-id="8312685433-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:·8855f4aa9a068bb8e8dfebf9847b4c64576c8e8594dfaaf7dc097e7eaf867f34·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
311 </span><span·class="nf">name</span><span·class="p"·data-group-id="1812214025-9">(</span><span·class="p"·data-group-id="1812214025-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="8312685433-9">(</span><span·class="p"·data-group-id="8312685433-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="1812214025-10">(</span><span·class="p"·data-group-id="1812214025-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="8312685433-10">(</span><span·class="p"·data-group-id="8312685433-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="1812214025-11">(</span><span·class="p"·data-group-id="1812214025-12">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="nf">name</span><span·class="p"·data-group-id="1812214025-13">(</span><span·class="p"·data-group-id="1812214025-13[·...·truncated·by·diffoscope;·len:·518,·SHA:·f406faa28d8ccd5f2049ca157a01f90893b5268065f46e8c4e1decb87b858e37·...·]-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="8312685433-11">(</span><span·class="p"·data-group-id="8312685433-12">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="nf">name</span><span·class="p"·data-group-id="8312685433-13">(</span><span·class="p"·data-group-id="8312685433-13[·...·truncated·by·diffoscope;·len:·518,·SHA:·acb47fe62bc117993df70fb74618d938242a4e013ec1e3c6823571425269ac17·...·]-11">)</span><span·class="p">.</span><span·class="w">
316 </span><span·class="nf">push</span><span·class="p"·data-group-id="1812214025-16">(</span><span·class="p"·data-group-id="1812214025-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="8312685433-16">(</span><span·class="p"·data-group-id="8312685433-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="1812214025-17">(</span><span·class="nf">name</span><span·class="p"·data-group-id="1812214025-18">(</span><span·class="p"·data-group-id="1812214025-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:·58c28f4aa6dcd4d13d9f73493ca02e4b85e03f322b67b36e349bacdd4e63f504·...·]-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="8312685433-17">(</span><span·class="nf">name</span><span·class="p"·data-group-id="8312685433-18">(</span><span·class="p"·data-group-id="8312685433-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:·5b75efe974d79f2f6dd9be205b04f272f786cd016ea30eaefb3be2f297144bf4·...·]-17">)</span><span·class="p">.</span><span·class="w">
318 </span><span·class="nf">get_count</span><span·class="p"·data-group-id="1812214025-19">(</span><span·class="p"·data-group-id="1812214025-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="8312685433-19">(</span><span·class="p"·data-group-id="8312685433-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="1812214025-20">(</span><span·class="nf">name</span><span·class="p"·data-group-id="1812214025-21">(</span><span·class="p"·data-group-id="1812214025-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:·43b0fd94be580086288adffede4e3a86afb075c0d043e320173ab5b77ef64a4d·...·]-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="8312685433-20">(</span><span·class="nf">name</span><span·class="p"·data-group-id="8312685433-21">(</span><span·class="p"·data-group-id="8312685433-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:·bf3075d1dc80c50fa15e5ceab62993854a1f0c772643fd95846b77ce31238a3f·...·]-20">)</span><span·class="p">.</span><span·class="w">
320 </span><span·class="nf">stop</span><span·class="p"·data-group-id="1812214025-22">(</span><span·class="p"·data-group-id="1812214025-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="8312685433-22">(</span><span·class="p"·data-group-id="8312685433-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="1812214025-23">(</span><span·class="nf">name</span><span·class="p"·data-group-id="1812214025-24">(</span><span·class="p"·data-group-id="1812214025-24">)</span><span·class="p"·data-group-id="1812214025-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="8312685433-23">(</span><span·class="nf">name</span><span·class="p"·data-group-id="8312685433-24">(</span><span·class="p"·data-group-id="8312685433-24">)</span><span·class="p"·data-group-id="8312685433-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="1812214025-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:·76da63cc3e4392e3d48ba03f27368a427b2201c6ef9ed8a77cbfe9e476d4c55b·...·]-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="8312685433-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:·cae5d4ab10f32c75ed65d949a2bdcf57e12d6c627ec8223f57d41698b11e16e7·...·]-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="1812214025-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:·43c793dab7b46c8459c05a98c8a8f248af616476482abafb79cab43cb5f423ba·...·]-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="8312685433-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:·e4b3d7fe57cc760d668ed1d2730845259fedc1380dff67f4a71cbaed99179f58·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
326 ····</span><span·class="p"·data-group-id="1812214025-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="1812214025-27">}</span><span·class="p">.</span><span·class="w">326 ····</span><span·class="p"·data-group-id="8312685433-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="8312685433-27">}</span><span·class="p">.</span><span·class="w">
327 </span><span·class="nf">init</span><span·class="p"·data-group-id="1812214025-28">(</span><span·class="p"·data-group-id="1812214025-29">[</span><span·class="p"·data-group-id="1812214025-29">]</span><span·class="p"·data-group-id="1812214025-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="8312685433-28">(</span><span·class="p"·data-group-id="8312685433-29">[</span><span·class="p"·data-group-id="8312685433-29">]</span><span·class="p"·data-group-id="8312685433-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="1812214025-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="1812214025-30">}</span><span·class="p">.</span><span·class="w">330 ····</span><span·class="p"·data-group-id="8312685433-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="8312685433-30">}</span><span·class="p">.</span><span·class="w">
331 </span><span·class="nf">callback_mode</span><span·class="p"·data-group-id="1812214025-31">(</span><span·class="p"·data-group-id="1812214025-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="8312685433-31">(</span><span·class="p"·data-group-id="8312685433-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="1812214025-32">(</span><span·class="p"·data-group-id="1812214025-33">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="1812214025-33">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·027bbf00d949b5269c0f755fb87195bb1c7a6662a633a46c49ca58f260eb5093·...·]-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="8312685433-32">(</span><span·class="p"·data-group-id="8312685433-33">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="8312685433-33">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·500a14f6684d47a230152535c9a24483fef255106de2019f0dd39a26464db702·...·]-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="1812214025-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:·e5d054d5cccddc1dc967bc44efa734379e00333bf63b9c36c44db374243a9a7f·...·]-34">}</span><span·class="p">;</span><span·class="w">336 ····</span><span·class="p"·data-group-id="8312685433-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:·fc48bd5c0d60c98073a91509f1fa0f70ead18ca122a98970609ca9242f2fabd1·...·]-34">}</span><span·class="p">;</span><span·class="w">
337 </span><span·class="nf">off</span><span·class="p"·data-group-id="1812214025-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="1812214025-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="8312685433-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="8312685433-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="1812214025-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="1812214025-38">)</span><span·class="p">.</span><span·class="w">338 ····</span><span·class="nf">handle_event</span><span·class="p"·data-group-id="8312685433-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="8312685433-38">)</span><span·class="p">.</span><span·class="w">
  
339 </span><span·class="nf">on</span><span·class="p"·data-group-id="1812214025-39">(</span><span·class="p"·data-group-id="1812214025-40">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="1812214025-40">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·027bbf00d949b5269c0f755fb87195bb1c7a6662a633a46c49ca58f260eb5093·...·]-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="8312685433-39">(</span><span·class="p"·data-group-id="8312685433-40">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="8312685433-40">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·500a14f6684d47a230152535c9a24483fef255106de2019f0dd39a26464db702·...·]-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="1812214025-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="1812214025-42">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·315,·SHA:·9675282060542b9f76c9d91b48f3af0391228fb9d1ee7604dd8cc9915bf57973·...·]-41">}</span><span·class="p">;</span><span·class="w">341 ····</span><span·class="p"·data-group-id="8312685433-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="8312685433-42">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·315,·SHA:·80f34a893e1c24f035c1bb99ee0ea2a34c01fbdd8ae0890e8e47d5d6c8ba776c·...·]-41">}</span><span·class="p">;</span><span·class="w">
342 </span><span·class="nf">on</span><span·class="p"·data-group-id="1812214025-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="1812214025-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="8312685433-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="8312685433-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="1812214025-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="1812214025-45">)</span><span·class="p">.</span><span·class="w">343 ····</span><span·class="nf">handle_event</span><span·class="p"·data-group-id="8312685433-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="8312685433-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="1812214025-46">(</span><span·class="p"·data-group-id="1812214025-47">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="1812214025-47">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·efd3dc75a76704dfc230fc8b50dab1acedac4fe258a6bd596a584d4b4565d513·...·]-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="8312685433-46">(</span><span·class="p"·data-group-id="8312685433-47">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="8312685433-47">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·a021aac735f172442c18f4e045fb867bd6fa49f28c80cdb6ad4f3873ab117d9e·...·]-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="1812214025-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="1812214025-49">[</span><span·class="p"·data-group-id="1812214025-50">{</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·264,·SHA:·d037d4eda2f3c150f54df7792fe22736f16a8e0551c36164121dc88615f6895c·...·]-48">}</span><span·class="p">;</span><span·class="w">347 ····</span><span·class="p"·data-group-id="8312685433-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="8312685433-49">[</span><span·class="p"·data-group-id="8312685433-50">{</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·264,·SHA:·d181dce8a71a037352552c88eec8ce2ec0cda3be117b5a43dfa5578af9df496a·...·]-48">}</span><span·class="p">;</span><span·class="w">
348 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="1812214025-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="1812214025-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="8312685433-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="8312685433-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="1812214025-52">{</span><span·class="ss">keep_state</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="1812214025-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:·47d9b8d133991641d05f58f71906197a6516461c6eb5a278763803b0b7a4098c·...·]-1">)</span><span·class="p">.</span><span·class="w">350 ····</span><span·class="p"·data-group-id="8312685433-52">{</span><span·class="ss">keep_state</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="8312685433-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:·a7d00b11456efb9d71fb1a2505ccedfb1f002f061700ab48005a37e39d931bc5·...·]-1">)</span><span·class="p">.</span><span·class="w">
351 </span><span·class="p"·data-group-id="2726601251-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="2726601251-2">}</span><span·class="gp·unselectable">351 </span><span·class="p"·data-group-id="3633261845-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="3633261845-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="2726601251-3">(</span><span·class="p"·data-group-id="2726601251-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="3633261845-3">(</span><span·class="p"·data-group-id="3633261845-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="2726601251-4">(</span><span·class="p"·data-group-id="2726601251-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="3633261845-4">(</span><span·class="p"·data-group-id="3633261845-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="2726601251-5">(</span><span·class="p"·data-group-id="2726601251-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="3633261845-5">(</span><span·class="p"·data-group-id="3633261845-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="2726601251-6">(</span><span·class="p"·data-group-id="2726601251-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="3633261845-6">(</span><span·class="p"·data-group-id="3633261845-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="2726601251-7">(</span><span·class="p"·data-group-id="2726601251-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="3633261845-7">(</span><span·class="p"·data-group-id="3633261845-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="2726601251-8">(</span><span·class="p"·data-group-id="2726601251-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="3633261845-8">(</span><span·class="p"·data-group-id="3633261845-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="2726601251-9">(</span><span·class="p"·data-group-id="2726601251-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="3633261845-9">(</span><span·class="p"·data-group-id="3633261845-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="9349185176-1">(</span><span·class="p"·data-group-id="9349185176-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="8502580921-1">(</span><span·class="p"·data-group-id="8502580921-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="9349185176-2">(</span><span·class="p"·data-group-id="9349185176-3">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="9349185176-3">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·218,·SHA:·7fcc7074cfdc82e8792ee8c653ef2240ba725edc5ba9de4fed997fa6bcd9b5e2·...·]-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="8502580921-2">(</span><span·class="p"·data-group-id="8502580921-3">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="8502580921-3">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·218,·SHA:·dd5ddae52f9320d66f31a560b3bb70eecffa10326512ab84f2026050b29665a0·...·]-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="9349185176-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:·d81efbdff4dfb93937effdf21cb283b0b636ef61c1b084013569dcd5a865fdc1·...·]-4">}</span><span·class="p">;</span><span·class="w">375 ····</span><span·class="p"·data-group-id="8502580921-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:·4a1ca6b3fc395c470cd822cb31788c047f3819b7c55f959e46dd21ff43a36432·...·]-4">}</span><span·class="p">;</span><span·class="w">
376 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="9349185176-7">(</span><span·class="p"·data-group-id="9349185176-8">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="9349185176-8">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·217,·SHA:·3418efaa372a98105e7051d7c15db5e81652f6ab1af6142556c5f8a19a740a94·...·]-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="8502580921-7">(</span><span·class="p"·data-group-id="8502580921-8">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="8502580921-8">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·217,·SHA:·a8e7eec2f04ef0fdf278d9473d753dd375eac8e69283b07771feb8509124f0a3·...·]-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="9349185176-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="9349185176-10">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·314,·SHA:·70e82f19130b1075ef0f2d51ae4f817155162179c4682ef3927a064e3afa0442·...·]-9">}</span><span·class="p">;</span><span·class="w">378 ····</span><span·class="p"·data-group-id="8502580921-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="8502580921-10">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·314,·SHA:·f449c63661e5bb4d20ffd1118d10912be05abc703ee5454bf4f8dcf756d4662f·...·]-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="9349185176-12">(</span><span·class="p"·data-group-id="9349185176-13">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="9349185176-13">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·227,·SHA:·94591d45473c1cfe6a8903a8df17d2d580ddcfb6215fdd4cb510a81c10e781fc·...·]-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="8502580921-12">(</span><span·class="p"·data-group-id="8502580921-13">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="8502580921-13">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·227,·SHA:·f9c2c6f62ea1f736f754babcdc6956c8f5096c6a43aa592d850996ca9e01bce5·...·]-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="9349185176-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="9349185176-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·316,·SHA:·eeca503648d7f6b82ec613458045cabe3cc84ee0eb34965c64e00aa051da9f8f·...·]-14">}</span><span·class="p">;</span><span·class="w">383 ····</span><span·class="p"·data-group-id="8502580921-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="8502580921-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·316,·SHA:·6782d00c586f1fdba4ca7f77e8e0908fbb80fc75c79cd3d9ff80aaa8f726fe72·...·]-14">}</span><span·class="p">;</span><span·class="w">
384 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="9349185176-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:·3dfa4dbae566f5cd08565c95c2361c75dfb37545a4adc6e6abe0e2172ff800ac·...·]-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="8502580921-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:·8a74ecea455489b4131e81426f37c5ebb4e3e6948e732ed3f067b1b33991b13e·...·]-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="9349185176-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="9349185176-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="8502580921-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="8502580921-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-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2025·<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
191 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/io.html
Max HTML report size reached
14.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/io_lib.html
    
Offset 998, 16 lines modifiedOffset 998, 16 lines modified
998 <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>.998 <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>.
999 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·the999 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
1000 list·of·successfully·matched·and·read·items,·and·<code·class="inline">LeftOverChars</code>·are·the·input1000 list·of·successfully·matched·and·read·items,·and·<code·class="inline">LeftOverChars</code>·are·the·input
1001 characters·not·used.</p></li><li><p><strong><code·class="inline">{more,·RestFormat,·Nchars,·InputStack}</code></strong>·-·The·string·was·read,·but·more1001 characters·not·used.</p></li><li><p><strong><code·class="inline">{more,·RestFormat,·Nchars,·InputStack}</code></strong>·-·The·string·was·read,·but·more
1002 input·is·needed·to·complete·the·original·format·string.·<code·class="inline">RestFormat</code>·is·the1002 input·is·needed·to·complete·the·original·format·string.·<code·class="inline">RestFormat</code>·is·the
1003 remaining·format·string,·<code·class="inline">Nchars</code>·is·the·number·of·characters·scanned,·and1003 remaining·format·string,·<code·class="inline">Nchars</code>·is·the·number·of·characters·scanned,·and
1004 <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·a1004 <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
1005 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="5445268067-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="5445268067-1">)</span><span·class="p">.</span><span·class="w">1005 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="8329703070-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="8329703070-1">)</span><span·class="p">.</span><span·class="w">
1006 </span><span·class="p"·data-group-id="5445268067-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5445268067-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</s[·...·truncated·by·diffoscope;·len:·228,·SHA:·91ba116f07057a0d55588b458aa56a9ed20d94612f21d6f117f6ee982df56830·...·]-2">}</span></code></pre>1006 </span><span·class="p"·data-group-id="8329703070-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8329703070-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</s[·...·truncated·by·diffoscope;·len:·228,·SHA:·ed36d4b84634ad415e230c6615d375a8faa45fd2b80b2a4f1e22b25f962b6d1d·...·]-2">}</span></code></pre>
1007 ··</section>1007 ··</section>
1008 </section>1008 </section>
1009 <section·class="detail"·id="fread/3">1009 <section·class="detail"·id="fread/3">
  
1010 ··<div·class="detail-header">1010 ··<div·class="detail-header">
1011 ····<a·href="#fread/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1011 ····<a·href="#fread/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1012 ······<i·class="ri-link-m"·aria-hidden="true"></i>1012 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1474, 19 lines modifiedOffset 1474, 19 lines modified
1474 ······</div>1474 ······</div>
  
1475 <p>Returns·a·character·list·that·represents·<code·class="inline">Term</code>.·Option·<code·class="inline">Depth</code>·controls·the1475 <p>Returns·a·character·list·that·represents·<code·class="inline">Term</code>.·Option·<code·class="inline">Depth</code>·controls·the
1476 depth·of·the·structures·written.</p><p>When·the·specified·depth·is·reached,·everything·below·this·level·is·replaced·by1476 depth·of·the·structures·written.</p><p>When·the·specified·depth·is·reached,·everything·below·this·level·is·replaced·by
1477 &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·a1477 &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
1478 soft·limit·on·the·number·of·characters·returned.·When·the·number·of·characters·is1478 soft·limit·on·the·number·of·characters·returned.·When·the·number·of·characters·is
1479 reached,·remaining·structures·are·replaced·by·&quot;<code·class="inline">...</code>&quot;.·<code·class="inline">CharsLimit</code>·defaults·to·-1,1479 reached,·remaining·structures·are·replaced·by·&quot;<code·class="inline">...</code>&quot;.·<code·class="inline">CharsLimit</code>·defaults·to·-1,
1480 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="3636526429-1">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3636526429-2">(</span><span·class="p"·data-group-id="3636526429-3">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·837,·SHA:·7d6f63740272e528b5fa3195296c29398e8e6f9c83111980144a06e236f48308·...·]-1">)</span><span·class="p">.</span><span·class="w">1480 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="9260562142-1">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="9260562142-2">(</span><span·class="p"·data-group-id="9260562142-3">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·837,·SHA:·694f9f8906c3277a84eef6c07868d3ce8664da6b477bab467a4f5796dcbcb405·...·]-1">)</span><span·class="p">.</span><span·class="w">
1481 </span><span·class="s">&quot;{1,[2],[3],[4,5],6,7,8,9}&quot;</span><span·class="gp·unselectable">1481 </span><span·class="s">&quot;{1,[2],[3],[4,5],6,7,8,9}&quot;</span><span·class="gp·unselectable">
1482 2&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="3636526429-7">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3636526429-8">(</span><span·class="p"·data-group-id="3636526429-9">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·916,·SHA:·7a47d003631c49c0274503e442e2b70a7d429162ad2cae289b8c1e62e4671f86·...·]-7">)</span><span·class="p">.</span><span·class="w">1482 2&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="9260562142-7">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="9260562142-8">(</span><span·class="p"·data-group-id="9260562142-9">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·916,·SHA:·7d8fa1efb20e3eab6b466d7c8f94c317ff926adb8471b1f0457ac7086f6a1acd·...·]-7">)</span><span·class="p">.</span><span·class="w">
1483 </span><span·class="s">&quot;{1,[2],[3],[...],...}&quot;</span><span·class="gp·unselectable">1483 </span><span·class="s">&quot;{1,[2],[3],[...],...}&quot;</span><span·class="gp·unselectable">
1484 3&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="3636526429-13">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3636526429-14">(</span><span·class="p"·data-group-id="3636526429-15">{</span><span·class="p"·data-group-id="3636526429-[·...·truncated·by·diffoscope;·len:·1089,·SHA:·5d069b01a4e7b43c68a74671777ee50646fb3e2e886ab90d763e50647e8470f2·...·]-13">)</span><span·class="p">.</span><span·class="w">1484 3&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="9260562142-13">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="9260562142-14">(</span><span·class="p"·data-group-id="9260562142-15">{</span><span·class="p"·data-group-id="9260562142-[·...·truncated·by·diffoscope;·len:·1089,·SHA:·a60f558a83908e2720bcf119c7ee65fae93d6122e1b0d91d936274ec8cf9bf1d·...·]-13">)</span><span·class="p">.</span><span·class="w">
1485 </span><span·class="s">&quot;{[1,2|...],[4|...],...}&quot;</span></code></pre>1485 </span><span·class="s">&quot;{[1,2|...],[4|...],...}&quot;</span></code></pre>
1486 ··</section>1486 ··</section>
1487 </section>1487 </section>
1488 <section·class="detail"·id="write_atom/1">1488 <section·class="detail"·id="write_atom/1">
  
1489 ··<div·class="detail-header">1489 ··<div·class="detail-header">
1490 ····<a·href="#write_atom/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1490 ····<a·href="#write_atom/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1731, 15 lines modifiedOffset 1731, 15 lines modified
1731 ······<p·class="built-using">1731 ······<p·class="built-using">
1732 ········Built·using1732 ········Built·using
1733 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1733 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1734 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1734 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1735 ······</p>1735 ······</p>
1736 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1736 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1737 ····</footer>1737 ····</footer>
1738 ··</div>1738 ··</div>
1739 </main>1739 </main>
1740 </div>1740 </div>
1741 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1741 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1742 ··<script>1742 ··<script>
1743 ··let·initialized·=·false;1743 ··let·initialized·=·false;
613 B
html2text {}
Max HTML report size reached
186 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/io_protocol.html
Max HTML report size reached
49.2 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="8760270353-1">(</span><span·class="p"·data-group-id="8760270353-2">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:·1}&quot;</span><span·class="p"·data-group-id="8760270353-2">&gt;&gt;</span><span·class="p"·data-group-id="8760270353-1">)</span><span·class="p">.</span><span·class="w">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="0869548876-1">(</span><span·class="p"·data-group-id="0869548876-2">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:·1}&quot;</span><span·class="p"·data-group-id="0869548876-2">&gt;&gt;</span><span·class="p"·data-group-id="0869548876-1">)</span><span·class="p">.</span><span·class="w">
985 </span><span·class="p"·data-group-id="8760270353-3">#{</span><span·class="p"·data-group-id="8760270353-4">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="8760270353-4">&gt;&gt;</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·67,·SHA:·3579590ab5110b43cc8d11f3afa903374a682da14cf4129b768d27b0b06917fc·...·]-3">}</span></code></pre>985 </span><span·class="p"·data-group-id="0869548876-3">#{</span><span·class="p"·data-group-id="0869548876-4">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="0869548876-4">&gt;&gt;</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·67,·SHA:·c24ad5fad052967f6449aa0ea05c2d37616d820327331acd3e0b3d82b276aef6·...·]-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="2349527723-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="2349527723-1">)</span><span[·...·truncated·by·diffoscope;·len:·624,·SHA:·61ad8ebe0a6182c41ac299a4f715668b33439c37bf32201fbf5bfdb35be4f06a·...·]-2">]</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">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="1406507767-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="1406507767-1">)</span><span[·...·truncated·by·diffoscope;·len:·624,·SHA:·c39bb6f914977c11e29cbc2abdb9c934274835f69902945f4e5532bf3601714d·...·]-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="2349527723-5">(</span><span·class="p"·data-group-id="2349527723-6">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:·1}&quot;</span><span·class="p"·data-group-id="2349527723-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·351,·SHA:·658c01afefc6ad4625a75af33661a1fa46787bc156c7493c627387845db54671·...·]-5">)</span><span·class="p">.</span><span·class="w">1036 &gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="1406507767-5">(</span><span·class="p"·data-group-id="1406507767-6">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:·1}&quot;</span><span·class="p"·data-group-id="1406507767-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·351,·SHA:·d58783e8c247654dcc3e66c8562aabd5821da32cb0815ad5135da465276d38a5·...·]-5">)</span><span·class="p">.</span><span·class="w">
1037 </span><span·class="p"·data-group-id="2349527723-8">{</span><span·class="p"·data-group-id="2349527723-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="2349527723-9">}</span[·...·truncated·by·diffoscope;·len:·238,·SHA:·1f262ed2386b53183d6e520eb4c915a3d5b940e7c6b4bceb671aad92120cb137·...·]-8">}</span></code></pre>1037 </span><span·class="p"·data-group-id="1406507767-8">{</span><span·class="p"·data-group-id="1406507767-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="1406507767-9">}</span[·...·truncated·by·diffoscope;·len:·238,·SHA:·02b8b0b26197963166eb0375ab852f45f90414b3249219bc14407a4d770af8e5·...·]-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-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>()·|·end_of_input,·Opaque·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>())·->1061 ··········<pre·translate="no"><span·class="attribute">-spec</span>·decode_continue(<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>()·|·end_of_input,·Opaque·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>())·->
1062 ·························{Result·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Acc·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>()}·|1062 ·························{Result·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Acc·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·<a·href="../../../../erts-15.2.7/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="7943490463-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="7943490463-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·582,·SHA:·ce46ef8ddd6ce61aca0a9033ab5b57d132161633a036003e005c280d8ee8eb6a·...·]63-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="0589460663-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="0589460663-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·582,·SHA:·a05ef73f12b94612ffa095545e98a7df505022c394eee3038ce2186b2d55e322·...·]63-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="7943490463-5">(</span><span·class="p"·data-group-id="7943490463-6">&lt;&lt;</span><span·class="s">&quot;1}&quot;</span><span·class="p"·data-group-id="7943490463-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><[·...·truncated·by·diffoscope;·len:·38,·SHA:·343735162fd6c45c9bb7b20103285137657342d2b8a5ce862ec9acbc464cf4b2·...·]63-5">)</span><span·class="p">.</span><span·class="w">1067 &gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode_continue</span><span·class="p"·data-group-id="0589460663-5">(</span><span·class="p"·data-group-id="0589460663-6">&lt;&lt;</span><span·class="s">&quot;1}&quot;</span><span·class="p"·data-group-id="0589460663-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><[·...·truncated·by·diffoscope;·len:·38,·SHA:·4e67521977cb0d45f4e8d93032adfe80d1db7975186d5a652f28cd2ef4e08130·...·]63-5">)</span><span·class="p">.</span><span·class="w">
1068 </span><span·class="p"·data-group-id="7943490463-7">{</span><span·class="p"·data-group-id="7943490463-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="7943490463-8">}</span[·...·truncated·by·diffoscope;·len:·1206,·SHA:·59d9f9e41164fda473f15b7ca4bc45dd302f156829ccd319c66481e6448e3391·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">1068 </span><span·class="p"·data-group-id="0589460663-7">{</span><span·class="p"·data-group-id="0589460663-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="0589460663-8">}</span[·...·truncated·by·diffoscope;·len:·1206,·SHA:·f1ffd99298ecb53d634c39539861410f1c3913f9fa6d40d8553b6053542f93b4·...·]-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="6641055340-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="6641055340-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="1363688662-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="1363688662-5">)</span><span·class="p">.</span><span·class="w">
1070 </span><span·class="p"·data-group-id="6641055340-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="6641055340-7">&lt;&lt;</span><span·class="p"·data-group-id="6641055340-7">&gt;&gt;</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·a4ffbf571fc41a7cd63851f27165a4e5a004c11b53be2549481b8ec77ace4da7·...·]-6">}</span></code></pre>1070 </span><span·class="p"·data-group-id="1363688662-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="1363688662-7">&lt;&lt;</span><span·class="p"·data-group-id="1363688662-7">&gt;&gt;</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·b83e660691b3a276a6abf1df4f2eb226640a73787b483dad280f00d6d9cfb344·...·]-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="5950161655-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">encode</span><span·class="p"·data-group-id="5950161655-2">(</span><span·class="p"·data-group-id="5950161655-3">#{</span><span·class="ss">foo</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·363,·SHA:·93624beae8eac96ae3cc7dd25abcd345d0937d8f550ac84947715dbe92bbd70e·...·]-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="9005527791-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">encode</span><span·class="p"·data-group-id="9005527791-2">(</span><span·class="p"·data-group-id="9005527791-3">#{</span><span·class="ss">foo</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·363,·SHA:·d14940a66dc42529acf8ffa9ed98c6dc22cfcca6da438f5840e91436ab5e5d02·...·]-1">)</span><span·class="p">.</span><span·class="w">
1138 </span><span·class="p"·data-group-id="5950161655-5">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:\&quot;bar\&quot;}&quot;</span><span·class="p"·data-group-id="5950161655-5">&gt;&gt;</span></code></pre>1138 </span><span·class="p"·data-group-id="9005527791-5">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:\&quot;bar\&quot;}&quot;</span><span·class="p"·data-group-id="9005527791-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="5212987666-1">(</span><span·class="p"·data-group-id="5212987666-2">[</span><span·class="p"·data-group-id="5212987666-3">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="52[·...·truncated·by·diffoscope;·len:·771,·SHA:·eebfbc2dd0f99128c824a445fec9d5eaa3caeae716e3959e54744062931c898e·...·]-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="5667636910-1">(</span><span·class="p"·data-group-id="5667636910-2">[</span><span·class="p"·data-group-id="5667636910-3">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="56[·...·truncated·by·diffoscope;·len:·771,·SHA:·f1c78f568f043da6c5539e284bd78d647936d5dd7582bbd3b1f88902d8335085·...·]-4">)</span><span·class="p">;</span><span·class="gp·unselectable">
1179 &gt;·</span><span·class="nf">encoder</span><span·class="p"·data-group-id="5212987666-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="5212987666-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·286,·SHA:·e337a4b45e436c8ec3ab8590af5a5f070c60910d1b85f6a918360ba43f7a7cbc·...·]-6">)</span><span·class="p">.</span><span·class="gp·unselectable">1179 &gt;·</span><span·class="nf">encoder</span><span·class="p"·data-group-id="5667636910-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="5667636910-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·286,·SHA:·3b73b5a6de7aa6718d6b6f9d0b5407e84816fec5bb477fcc14163a331e8aa68f·...·]-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="5212987666-7">(</span><span·class="n">Value</span><span·class="p"·data-group-id="5212987666-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</s[·...·truncated·by·diffoscope;·len:·782,·SHA:·5d9378bd4d2607ec6218442d32478d38ade1a9bd36501101dbdc93a87ff9a59e·...·]-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="5667636910-7">(</span><span·class="n">Value</span><span·class="p"·data-group-id="5667636910-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</s[·...·truncated·by·diffoscope;·len:·782,·SHA:·bdd0ae0dd8d6d9ca341b7768c8a607403c06ac97d62b7b7a3833f95fcdd5da03·...·]-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="5212987666-11">(</span><span·class="nf">custom_encode</span><span·class="p"·data-group-id="5212987666-12">(</span><span·class="p"·data-group-id="5212987666-13">[</span><span·class="p"·data-group-id="5212987666-14">{</span><span·class="ss">a</span><span·clas[·...·truncated·by·diffoscope;·len:·603,·SHA:·94dcdbbff3ed307832a1bc111a8243b1f57faaa955c437307ad18f6fcdf803f7·...·]-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="5667636910-11">(</span><span·class="nf">custom_encode</span><span·class="p"·data-group-id="5667636910-12">(</span><span·class="p"·data-group-id="5667636910-13">[</span><span·class="p"·data-group-id="5667636910-14">{</span><span·class="ss">a</span><span·clas[·...·truncated·by·diffoscope;·len:·603,·SHA:·d9c50fa4223e0a026c962173403f5275a82b42e9bce6cee1cc126bd0e3ce8fa7·...·]-11">)</span><span·class="p">.</span><span·class="w">
1182 </span><span·class="p"·data-group-id="5212987666-17">&lt;&lt;</span><span·class="s">&quot;{\&quot;a\&quot;:[],\&quot;b\&quot;:1}&quot;</span><span·class="p"·data-group-id="5212987666-17">&gt;&gt;</span></code></pre>1182 </span><span·class="p"·data-group-id="5667636910-17">&lt;&lt;</span><span·class="s">&quot;{\&quot;a\&quot;:[],\&quot;b\&quot;:1}&quot;</span><span·class="p"·data-group-id="5667636910-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-15.2.7/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-15.2.7/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="4704487424-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4704487424-2">(</span><span·class="p"·data-group-id="4704487424-3">#{</span><span·class="ss">foo</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·539,·SHA:·830fd3c6f92ddfaa4885db0bff654b3a4df5ff40d2090f69c02a94b19fb02b0e·...·]-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="4977843102-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4977843102-2">(</span><span·class="p"·data-group-id="4977843102-3">#{</span><span·class="ss">foo</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·539,·SHA:·6ec55f63064ed3aa671d3cbcc90a37bbd53cf143744b3783955296de3a92fb2e·...·]-1">)</span><span·class="p">.</span><span·class="w">
1546 </span><span·class="p"·data-group-id="4704487424-5">{</span><span·class="w">1546 </span><span·class="p"·data-group-id="4977843102-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="4704487424-5">}</span><span·class="w">1549 </span><span·class="p"·data-group-id="4977843102-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-15.2.7/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Encoder·::·<a·href="#t:formatter/0">formatter</a>(),·Options·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:map/0">map</a>())·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>1607 ··········<pre·translate="no"><span·class="attribute">-spec</span>·format(Term·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Encoder·::·<a·href="#t:formatter/0">formatter</a>(),·Options·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:map/0">map</a>())·->·<a·href="../../../../erts-15.2.7/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="1822989885-1">(</span><span·class="p"·data-group-id="1822989885-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="1822989885-2">}</span><span·class=[·...·truncated·by·diffoscope;·len:·182,·SHA:·03298353bb9bcaead1603fcd88cf46cdd01473afe2ef380dd3c245545452c4bf·...·]-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="4936874302-1">(</span><span·class="p"·data-group-id="4936874302-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="4936874302-2">}</span><span·class=[·...·truncated·by·diffoscope;·len:·182,·SHA:·b983ad3f9324c774e95305dd94142c7e4efe8891f14204bde33fd99c9b943fc8·...·]-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="1822989885-3">(</span><span·class="n">SysTimeSecs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1822989885-4">[</span><span·class="p"·data-group-id="1822989885-5">{</span><span·class="ss">offset</span><span·class="p">[·...·truncated·by·diffoscope;·len:·215,·SHA:·0dabc7957e48367ce4a13132f9da02071f5c93dd4d3695644bb1aa244a239098·...·]-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="4936874302-3">(</span><span·class="n">SysTimeSecs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4936874302-4">[</span><span·class="p"·data-group-id="4936874302-5">{</span><span·class="ss">offset</span><span·class="p">[·...·truncated·by·diffoscope;·len:·215,·SHA:·892591da764f035f0b8fc610c952b4fc6e35053dd95c841042a330b77ba70606·...·]-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="1822989885-6">(</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_binary</span><span·class="p"·data-group-id="1822989885-7">(</span><span·class="n">TimeStr</span><span·class="p"·data-group-id="1822989885-7">)</span[·...·truncated·by·diffoscope;·len:·195,·SHA:·2966e5a43ba4e50733724dab39f48400a4b8098251b08c74acfb85d647f0d887·...·]-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="4936874302-6">(</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_binary</span><span·class="p"·data-group-id="4936874302-7">(</span><span·class="n">TimeStr</span><span·class="p"·data-group-id="4936874302-7">)</span[·...·truncated·by·diffoscope;·len:·195,·SHA:·af8a2e62b45d157074ef0836822c87cd3e04e50b7f513da9cac46d02b11f71af·...·]-6">)</span><span·class="p">;</span><span·class="gp·unselectable">
1615 &gt;·</span><span·class="nf">formatter</span><span·class="p"·data-group-id="1822989885-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="1822989885-8">)</span>[·...·truncated·by·diffoscope;·len:·439,·SHA:·4b999a59f20f892c60f39913f15d4890be28dc2c79d794005ed269fdc713b35e·...·]-9">)</span><span·class="p">.</span><span·class="w">1615 &gt;·</span><span·class="nf">formatter</span><span·class="p"·data-group-id="4936874302-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="4936874302-8">)</span>[·...·truncated·by·diffoscope;·len:·439,·SHA:·3d8c0bf9e2ea7c75a66b1146aedf87ba46fb099dbd30856ef67fc3c93d980178·...·]-9">)</span><span·class="p">.</span><span·class="w">
1616 </span><span·class="o">&gt;</span><span·class="gp·unselectable">1616 </span><span·class="o">&gt;</span><span·class="gp·unselectable">
1617 &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="1822989885-10">(</span><span·class="n">Value</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="1822989885-10">)</spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·c1cea3d1ca492263f10d87489567958ffa68dc9bbb7ed5980110209d84ca3ad3·...·]-11">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">1617 &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="4936874302-10">(</span><span·class="n">Value</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="4936874302-10">)</spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·b8fb0a3ea2d55787ca441c3ed8a5dd6ddbea116367c314f1fc66d96f894c23ab·...·]-11">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">
1618 &gt;·</span><span·class="n">Options</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1822989885-12">#{</span><span·class="ss">indent</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="1822989885-12">}</span><span·class="p">.</span><span·class="gp·unselectable">1618 &gt;·</span><span·class="n">Options</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4936874302-12">#{</span><span·class="ss">indent</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="4936874302-12">}</span><span·class="p">.</span><span·class="gp·unselectable">
1619 &gt;·</span><span·class="n">Term</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1822989885-13">#{</span><span·class="ss">id</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">·</span><span·class="ss">time</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·506,·SHA:·b081dced1902cd8c66f8804087b035e5190d851976a9c577a22feb1f45456d46·...·]-13">}</span><span·class="p">.</span><span·class="w">1619 &gt;·</span><span·class="n">Term</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4936874302-13">#{</span><span·class="ss">id</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">·</span><span·class="ss">time</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·506,·SHA:·eae3eb59ec3b0ea86c3d4445dcdb43623d2b46c0d046f28514019481e5a12faf·...·]-13">}</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 2853/49620 bytes (5.75%) of diff not shown.
671 B
html2text {}
Max HTML report size reached
166 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/lists.html
    
Offset 1157, 16 lines modifiedOffset 1157, 16 lines modified
  
1157 ······<div·class="specs">1157 ······<div·class="specs">
  
1158 ··········<pre·translate="no"><span·class="attribute">-spec</span>·append(ListOfLists)·->·List1·when·ListOfLists·::·[List],·List·::·[T],·List1·::·[T],·T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>1158 ··········<pre·translate="no"><span·class="attribute">-spec</span>·append(ListOfLists)·->·List1·when·ListOfLists·::·[List],·List·::·[T],·List1·::·[T],·T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1159 ······</div>1159 ······</div>
  
1160 <p>Returns·a·list·in·which·all·the·sublists·of·<code·class="inline">ListOfLists</code>·have·been·appended.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="8070689605-1">(</span><span·class="p"·data-group-id="8070689605-2">[</span><span·class="p"·data-group-id="8070689605-3">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·765,·SHA:·d79934236a5ff4cde79fdcdae6c1facf5928669afc73bd1652b0d4a40bb689f6·...·]5-1">)</span><span·class="p">.</span><span·class="w">1160 <p>Returns·a·list·in·which·all·the·sublists·of·<code·class="inline">ListOfLists</code>·have·been·appended.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="8393645395-1">(</span><span·class="p"·data-group-id="8393645395-2">[</span><span·class="p"·data-group-id="8393645395-3">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·765,·SHA:·8ad063195d336dbeba76b7f5c831efe8ae15ed5ab2115e5dbd305ece6571d157·...·]5-1">)</span><span·class="p">.</span><span·class="w">
1161 </span><span·class="p"·data-group-id="8070689605-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="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p[·...·truncated·by·diffoscope;·len:·173,·SHA:·a8f4e9d90724dff17505aaa1a84f5d70b2a249da82f0194e009e4e59da50003a·...·]5-6">]</span></code></pre>1161 </span><span·class="p"·data-group-id="8393645395-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="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p[·...·truncated·by·diffoscope;·len:·173,·SHA:·bb476afc81c877af00236726904b8547dc0778f5541050619a2f25d550ac137c·...·]5-6">]</span></code></pre>
1162 ··</section>1162 ··</section>
1163 </section>1163 </section>
1164 <section·class="detail"·id="append/2">1164 <section·class="detail"·id="append/2">
  
1165 ··<div·class="detail-header">1165 ··<div·class="detail-header">
1166 ····<a·href="#append/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1166 ····<a·href="#append/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1167 ······<i·class="ri-link-m"·aria-hidden="true"></i>1167 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1185, 15 lines modifiedOffset 1185, 15 lines modified
1185 ······<div·class="specs">1185 ······<div·class="specs">
  
1186 ··········<pre·translate="no"><span·class="attribute">-spec</span>·append(List1,·List2)·->·List3·when·List1·::·[T],·List2·::·[T],·List3·::·[T],·T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>1186 ··········<pre·translate="no"><span·class="attribute">-spec</span>·append(List1,·List2)·->·List3·when·List1·::·[T],·List2·::·[T],·List3·::·[T],·T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1187 ······</div>1187 ······</div>
  
1188 <p>Returns·a·new·list·<code·class="inline">List3</code>,·which·is·made·from·the·elements·of·<code·class="inline">List1</code>·followed1188 <p>Returns·a·new·list·<code·class="inline">List3</code>,·which·is·made·from·the·elements·of·<code·class="inline">List1</code>·followed
1189 by·the·elements·of·<code·class="inline">List2</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="8880517759-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;def&quot;</span><span·class="p"·data-group-id="8880517759-1">)</span><span·class="p">.</span><span·class="w">1189 by·the·elements·of·<code·class="inline">List2</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="9433070500-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;def&quot;</span><span·class="p"·data-group-id="9433070500-1">)</span><span·class="p">.</span><span·class="w">
1190 </span><span·class="s">&quot;abcdef&quot;</span></code></pre><p><code·class="inline">lists:append(A,·B)</code>·is·equivalent·to·<code·class="inline">A·++·B</code>.</p>1190 </span><span·class="s">&quot;abcdef&quot;</span></code></pre><p><code·class="inline">lists:append(A,·B)</code>·is·equivalent·to·<code·class="inline">A·++·B</code>.</p>
1191 ··</section>1191 ··</section>
1192 </section>1192 </section>
1193 <section·class="detail"·id="concat/1">1193 <section·class="detail"·id="concat/1">
  
1194 ··<div·class="detail-header">1194 ··<div·class="detail-header">
1195 ····<a·href="#concat/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1195 ····<a·href="#concat/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1214, 15 lines modifiedOffset 1214, 15 lines modified
  
1214 ··········<pre·translate="no"><span·class="attribute">-spec</span>·concat(Things)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()1214 ··········<pre·translate="no"><span·class="attribute">-spec</span>·concat(Things)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>()
1215 ················when·Things·::·[Thing],·Thing·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>()·|·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>()·|·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:float/0">float</a>()·|·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>().</pre>1215 ················when·Things·::·[Thing],·Thing·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:atom/0">atom</a>()·|·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>()·|·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:float/0">float</a>()·|·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:string/0">string</a>().</pre>
  
1216 ······</div>1216 ······</div>
  
1217 <p>Concatenates·the·text·representation·of·the·elements·of·<code·class="inline">Things</code>.·The·elements1217 <p>Concatenates·the·text·representation·of·the·elements·of·<code·class="inline">Things</code>.·The·elements
1218 of·<code·class="inline">Things</code>·can·be·atoms,·integers,·floats,·or·strings.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">concat</span><span·class="p"·data-group-id="5481812085-1">(</span><span·class="p"·data-group-id="5481812085-2">[</span><span·class="ss">doc</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">file</[·...·truncated·by·diffoscope;·len:·255,·SHA:·1640aa4e20f6da5a2f8144d905404d405935be81faced41b40fa55514abdd11f·...·]-1">)</span><span·class="p">.</span><span·class="w">1218 of·<code·class="inline">Things</code>·can·be·atoms,·integers,·floats,·or·strings.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">concat</span><span·class="p"·data-group-id="3433911427-1">(</span><span·class="p"·data-group-id="3433911427-2">[</span><span·class="ss">doc</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">file</[·...·truncated·by·diffoscope;·len:·255,·SHA:·edd7968977d2622832d6e3be77f2f09ac5cc792c4688819382f5351e1c70d35b·...·]-1">)</span><span·class="p">.</span><span·class="w">
1219 </span><span·class="s">&quot;doc/file.3&quot;</span></code></pre>1219 </span><span·class="s">&quot;doc/file.3&quot;</span></code></pre>
1220 ··</section>1220 ··</section>
1221 </section>1221 </section>
1222 <section·class="detail"·id="delete/2">1222 <section·class="detail"·id="delete/2">
  
1223 ··<div·class="detail-header">1223 ··<div·class="detail-header">
1224 ····<a·href="#delete/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1224 ····<a·href="#delete/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1325, 16 lines modifiedOffset 1325, 16 lines modified
  
1325 ······<div·class="specs">1325 ······<div·class="specs">
  
1326 ··········<pre·translate="no"><span·class="attribute">-spec</span>·duplicate(N,·Elem)·->·List·when·N·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·Elem·::·T,·List·::·[T],·T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>1326 ··········<pre·translate="no"><span·class="attribute">-spec</span>·duplicate(N,·Elem)·->·List·when·N·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·Elem·::·T,·List·::·[T],·T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1327 ······</div>1327 ······</div>
  
1328 <p>Returns·a·list·containing·<code·class="inline">N</code>·copies·of·term·<code·class="inline">Elem</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">duplicate</span><span·class="p"·data-group-id="4193998435-1">(</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">xx</span><span·class="p"·data-group-id="4193998435-1">)</span><span·class="p">.</span><span·class="w">1328 <p>Returns·a·list·containing·<code·class="inline">N</code>·copies·of·term·<code·class="inline">Elem</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">duplicate</span><span·class="p"·data-group-id="5192063823-1">(</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">xx</span><span·class="p"·data-group-id="5192063823-1">)</span><span·class="p">.</span><span·class="w">
1329 </span><span·class="p"·data-group-id="4193998435-2">[</span><span·class="ss">xx</span><span·class="p">,</span><span·class="ss">xx</span><span·class="p">,</span><span·class="ss">xx</span><span·class="p">,</span><span·class="ss">xx</span><span·class="p">,</span><span·class="ss">xx</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·30053778d0a79d2f5d77060c841c8322432a1cabc5be4f756c5ffc05ff03ee9c·...·]-2">]</span></code></pre>1329 </span><span·class="p"·data-group-id="5192063823-2">[</span><span·class="ss">xx</span><span·class="p">,</span><span·class="ss">xx</span><span·class="p">,</span><span·class="ss">xx</span><span·class="p">,</span><span·class="ss">xx</span><span·class="p">,</span><span·class="ss">xx</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·de7632d72621cca8d93347096bcadd80206a24441d60a6f9f0d8fe5abbad7d8b·...·]-2">]</span></code></pre>
1330 ··</section>1330 ··</section>
1331 </section>1331 </section>
1332 <section·class="detail"·id="enumerate/1">1332 <section·class="detail"·id="enumerate/1">
  
1333 ··<div·class="detail-header">1333 ··<div·class="detail-header">
1334 ····<a·href="#enumerate/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1334 ····<a·href="#enumerate/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1335 ······<i·class="ri-link-m"·aria-hidden="true"></i>1335 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1421, 20 lines modifiedOffset 1421, 20 lines modified
1421 ·······················T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>1421 ·······················T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1422 ······</div>1422 ······</div>
  
1423 <p>Returns·<code·class="inline">List1</code>·with·each·element·<code·class="inline">H</code>·replaced·by·a·tuple·of·form·<code·class="inline">{I,·H}</code>·where1423 <p>Returns·<code·class="inline">List1</code>·with·each·element·<code·class="inline">H</code>·replaced·by·a·tuple·of·form·<code·class="inline">{I,·H}</code>·where
1424 <code·class="inline">I</code>·is·the·position·of·<code·class="inline">H</code>·in·<code·class="inline">List1</code>.·The·enumeration·starts·with·<code·class="inline">Index</code>·and1424 <code·class="inline">I</code>·is·the·position·of·<code·class="inline">H</code>·in·<code·class="inline">List1</code>.·The·enumeration·starts·with·<code·class="inline">Index</code>·and
1425 increases·by·<code·class="inline">Step</code>·in·each·step.</p><p>That·is,·<a·href="#enumerate/3"><code·class="inline">enumerate/3</code></a>·behaves·as·if·it·had·been·defined·as1425 increases·by·<code·class="inline">Step</code>·in·each·step.</p><p>That·is,·<a·href="#enumerate/3"><code·class="inline">enumerate/3</code></a>·behaves·as·if·it·had·been·defined·as
1426 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">enumerate</span><span·class="p"·data-group-id="9919073975-1">(</span><span·class="n">I</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List</span><span·class="p"·data-group-id="9919073975-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1426 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">enumerate</span><span·class="p"·data-group-id="6629003961-1">(</span><span·class="n">I</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List</span><span·class="p"·data-group-id="6629003961-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1427 ··</span><span·class="p"·data-group-id="9919073975-2">{</span><span·class="n">List1</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="w">·</span><span·class="p"·data-group-id="9919073975-2">}</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·1130,·SHA:·fe76994dd82ca1d2fc407eff443ec69d12e24ce3c2cbebdd7dfa72a3b95c4f15·...·]-3">)</span><span·class="p">,</span><span·class="w">1427 ··</span><span·class="p"·data-group-id="6629003961-2">{</span><span·class="n">List1</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="w">·</span><span·class="p"·data-group-id="6629003961-2">}</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·1130,·SHA:·644678ddab0c248ccfe1b6806464aeca18bfcc0658174c15fe32e572a7cde88a·...·]-3">)</span><span·class="p">,</span><span·class="w">
1428 ··</span><span·class="n">List1</span><span·class="p">.</span></code></pre><p>The·default·values·for·<code·class="inline">Index</code>·and·<code·class="inline">Step</code>·are·both·<code·class="inline">1</code>.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">enumerate</span><span·class="p"·data-group-id="9482358737-1">(</span><span·class="p"·data-group-id="9482358737-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="9482358737-2">]</span><span·class="p"·data-group-id="9482358737-1">)</span><span·class="p">.</span><span·class="w"> 
1429 </span><span·class="p"·data-group-id="9482358737-3">[</span><span·class="p"·data-group-id="9482358737-4">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="9482358737-4">}</span><span·class="p">,</span><span·class="p"·data-group-id="9482358737-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9482358737-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="9482358737-6">{</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="9482358737-6">}</span><span·class="p"·data-group-id="9482358737-3">]</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">enumerate</span><span·class="p"·data-group-id="1809472786-1">(</span><span·class="mi">10</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1809472786-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="1809472786-2">]</span><span·class="p"·data-group-id="1809472786-1">)</span><span·class="p">.</span><span·class="w"> 
1430 </span><span·class="p"·data-group-id="1809472786-3">[</span><span·class="p"·data-group-id="1809472786-4">{</span><span·class="mi">10</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="1809472786-4">}</span><span·class="p">,</span><span·class="p"·data-group-id="1809472786-5">{</span><span·class="mi">11</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="1809472786-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="1809472786-6">{</span><span·class="mi">12</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="1809472786-6">}</span><span·class="p"·data-group-id="1809472786-3">]</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">enumerate</span><span·class="p"·data-group-id="0697616069-1">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="o">-</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0697616069-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="0697616069-2">]</span><span·class="p"·data-group-id="0697616069-1">)</span><span·class="p">.</span><span·class="w"> 
1431 </span><span·class="p"·data-group-id="0697616069-3">[</span><span·class="p"·data-group-id="0697616069-4">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="0697616069-4">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·505,·SHA:·5db5dd60585388316b98dd88d030318b4a0e22f97f50a6014dcde92d075b0b55·...·]>1428 ··</span><span·class="n">List1</span><span·class="p">.</span></code></pre><p>The·default·values·for·<code·class="inline">Index</code>·and·<code·class="inline">Step</code>·are·both·<code·class="inline">1</code>.</p><p><em>Examples:</em></p><pre><code·class=[·...·truncated·by·diffoscope;·len:·533,·SHA:·353b4aadce9acfbe7b4ffee9767e806670d99fbe4bbdc14aaeb032f108373a3e·...·]>
 1429 </span><span·class="p"·data-group-id="3409519243-3">[</span><span·class="p"·data-group-id="3409519243-4">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="3409519243-4">}</span><span·class="p">,</span><span·class="p"·data-group-id="3409519243-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="3409519243-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="3409519243-6">{</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="3409519243-6">}</span><span·class="p"·data-group-id="3409519243-3">]</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">enumerate</span><span·class="p"·data-group-id="8106375518-1">(</span><span·class="mi">10</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8106375518-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="8106375518-2">]</span><span·class="p"·data-group-id="8106375518-1">)</span><span·class="p">.</span><span·class="w">
 1430 </span><span·class="p"·data-group-id="8106375518-3">[</span><span·class="p"·data-group-id="8106375518-4">{</span><span·class="mi">10</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="8106375518-4">}</span><span·class="p">,</span><span·class="p"·data-group-id="8106375518-5">{</span><span·class="mi">11</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="8106375518-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="8106375518-6">{</span><span·class="mi">12</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="8106375518-6">}</span><span·class="p"·data-group-id="8106375518-3">]</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">enumerate</span><span·class="p"·data-group-id="4657134533-1">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="o">-</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4657134533-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="4657134533-2">]</span><span·class="p"·data-group-id="4657134533-1">)</span><span·class="p">.</span><span·class="w">
 1431 </span><span·class="p"·data-group-id="4657134533-3">[</span><span·class="p"·data-group-id="4657134533-4">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="4657134533-4">}</span><span·class="p">,</span><span·class="p"·data-group-id="4657134533-5">{</span><span·class="o">-</span><span·class="mi">2</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="4657134533-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="4657134533-6">{</span><span·class="o">-</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="4657134533-6">}</span><span·class="p"·data-group-id="4657134533-3">]</span></code></pre>
1432 ··</section>1432 ··</section>
1433 </section>1433 </section>
1434 <section·class="detail"·id="filter/2">1434 <section·class="detail"·id="filter/2">
  
1435 ··<div·class="detail-header">1435 ··<div·class="detail-header">
1436 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1436 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1437 ······<i·class="ri-link-m"·aria-hidden="true"></i>1437 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1491, 23 lines modifiedOffset 1491, 23 lines modified
1491 ·······················Value·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>1491 ·······················Value·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1492 ······</div>1492 ······</div>
  
1493 <p>Calls·<code·class="inline">Fun(Elem)</code>·on·successive·elements·<code·class="inline">Elem</code>·of·<code·class="inline">List1</code>·in·order·to·update·or1493 <p>Calls·<code·class="inline">Fun(Elem)</code>·on·successive·elements·<code·class="inline">Elem</code>·of·<code·class="inline">List1</code>·in·order·to·update·or
1494 remove·elements·from·<code·class="inline">List1</code>.</p><p><code·class="inline">Fun/1</code>·must·return·either·a·Boolean·or·a·tuple·<code·class="inline">{true,·Value}</code>.·The·function1494 remove·elements·from·<code·class="inline">List1</code>.</p><p><code·class="inline">Fun/1</code>·must·return·either·a·Boolean·or·a·tuple·<code·class="inline">{true,·Value}</code>.·The·function
1495 returns·the·list·of·elements·for·which·<code·class="inline">Fun</code>·returns·a·new·value,·where·a·value1495 returns·the·list·of·elements·for·which·<code·class="inline">Fun</code>·returns·a·new·value,·where·a·value
1496 of·<code·class="inline">true</code>·is·synonymous·with·<code·class="inline">{true,·Elem}</code>.</p><p>That·is,·<code·class="inline">filtermap</code>·behaves·as·if·it·had·been·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filtermap</span><span·class="p"·data-group-id="1335446792-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List1</span><span·class="p"·data-group-id="1335446792-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1496 of·<code·class="inline">true</code>·is·synonymous·with·<code·class="inline">{true,·Elem}</code>.</p><p>That·is,·<code·class="inline">filtermap</code>·behaves·as·if·it·had·been·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filtermap</span><span·class="p"·data-group-id="5505536074-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List1</span><span·class="p"·data-group-id="5505536074-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1497 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldr</span><span·class="p"·data-group-id="1335446792-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1335446792-3">(</span><span·class="n">Elem</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="1335446792-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1497 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldr</span><span·class="p"·data-group-id="5505536074-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5505536074-3">(</span><span·class="n">Elem</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="5505536074-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1498 ·······················</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p"·data-group-id="1335446792-4">(</span><span·class="n">Elem</span><span·class="p"·data-group-id="1335446792-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">1498 ·······················</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p"·data-group-id="5505536074-4">(</span><span·class="n">Elem</span><span·class="p"·data-group-id="5505536074-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1499 ···························</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p">;</span><span·class="w">1499 ···························</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p">;</span><span·class="w">
1500 ···························</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="1335446792-5">[</span><span·class="n">Elem</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="1335446792-5">]</span><span·class="p">;</span><span·class="w">1500 ···························</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="5505536074-5">[</span><span·class="n">Elem</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="5505536074-5">]</span><span·class="p">;</span><span·class="w">
1501 ···························</span><span·class="p"·data-group-id="1335446792-6">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="1335446792-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·147,·SHA:·68ab1ec0dced416ffd93df787139deebaf78edd00de2b7c8293ba3c239ff67c1·...·]-7">]</span><span·class="w">1501 ···························</span><span·class="p"·data-group-id="5505536074-6">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="5505536074-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·147,·SHA:·79f73509263155c2ed0a1f5ae109eff3fd582306be8582b077ab65731e6ad11a·...·]-7">]</span><span·class="w">
1502 ·······················</span><span·class="k">end</span><span·class="w">1502 ·······················</span><span·class="k">end</span><span·class="w">
1503 ················</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1335446792-8">[</span><span·class="p"·data-group-id="1335446792-8">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List1</span><span·class="p"·data-group-id="1335446792-2">)</span><span·class="p">.</span></code></pre><p><em>Example:[·...·truncated·by·diffoscope;·len:·1819,·SHA:·66959a4418aafefdd0cbb146820ffe422cc1498d81d212aa21a112fbe22d49bd·...·]-1">)</span><span·class="p">.</span><span·class="w">1503 ················</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5505536074-8">[</span><span·class="p"·data-group-id="5505536074-8">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List1</span><span·class="p"·data-group-id="5505536074-2">)</span><span·class="p">.</span></code></pre><p><em>Example:[·...·truncated·by·diffoscope;·len:·1819,·SHA:·dbf1920431f544e5107c9643b425acff7c07aea8137d346ead574612e2b5a995·...·]-1">)</span><span·class="p">.</span><span·class="w">
1504 </span><span·class="p"·data-group-id="3713938275-5">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3713938275-5">]</span></code></pre>1504 </span><span·class="p"·data-group-id="6292353578-5">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6292353578-5">]</span></code></pre>
1505 ··</section>1505 ··</section>
1506 </section>1506 </section>
1507 <section·class="detail"·id="flatlength/1">1507 <section·class="detail"·id="flatlength/1">
  
1508 ··<div·class="detail-header">1508 ··<div·class="detail-header">
1509 ····<a·href="#flatlength/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1509 ····<a·href="#flatlength/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1510 ······<i·class="ri-link-m"·aria-hidden="true"></i>1510 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1554, 17 lines modifiedOffset 1554, 17 lines modified
1554 ··········<pre·translate="no"><span·class="attribute">-spec</span>·flatmap(Fun,·List1)·->·List21554 ··········<pre·translate="no"><span·class="attribute">-spec</span>·flatmap(Fun,·List1)·->·List2
1555 ·················when·Fun·::·fun((A)·->·[B]),·List1·::·[A],·List2·::·[B],·A·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),·B·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>1555 ·················when·Fun·::·fun((A)·->·[B]),·List1·::·[A],·List2·::·[B],·A·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),·B·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1556 ······</div>1556 ······</div>
  
1557 <p>Takes·a·function·from·<code·class="inline">A</code>s·to·lists·of·<code·class="inline">B</code>s,·and·a·list·of·<code·class="inline">A</code>s·(<code·class="inline">List1</code>)·and1557 <p>Takes·a·function·from·<code·class="inline">A</code>s·to·lists·of·<code·class="inline">B</code>s,·and·a·list·of·<code·class="inline">A</code>s·(<code·class="inline">List1</code>)·and
1558 produces·a·list·of·<code·class="inline">B</code>s·by·applying·the·function·to·every·element·in·<code·class="inline">List1</code>·and1558 produces·a·list·of·<code·class="inline">B</code>s·by·applying·the·function·to·every·element·in·<code·class="inline">List1</code>·and
1559 appending·the·resulting·lists.</p><p>That·is,·<code·class="inline">flatmap</code>·behaves·as·if·it·had·been·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">flatmap</span><span·class="p"·data-group-id="3848053181-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List1</span><span·class="p"·data-group-id="3848053181-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1559 appending·the·resulting·lists.</p><p>That·is,·<code·class="inline">flatmap</code>·behaves·as·if·it·had·been·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">flatmap</span><span·class="p"·data-group-id="8352029812-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List1</span><span·class="p"·data-group-id="8352029812-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1560 ····</span><span·class="nf">append</span><span·class="p"·data-group-id="3848053181-2">(</span><span·class="nf">map</span><span·class="p"·data-group-id="3848053181-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List1</span><span·class="p"·data-group-id="3848053181-3">)</span[·...·truncated·by·diffoscope;·len:·1073,·SHA:·b914c22bd78ddd7db312054835fddf4ccddc13083b76c45f1a74602fed56b406·...·]-1">)</span><span·class="p">.</span><span·class="w">1560 ····</span><span·class="nf">append</span><span·class="p"·data-group-id="8352029812-2">(</span><span·class="nf">map</span><span·class="p"·data-group-id="8352029812-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List1</span><span·class="p"·data-group-id="8352029812-3">)</span[·...·truncated·by·diffoscope;·len:·1073,·SHA:·f67a1ce5d51b28084e713105d3c988b8783f985ddad57229d174624605ca6c17·...·]-1">)</span><span·class="p">.</span><span·class="w">
1561 </span><span·class="p"·data-group-id="3017272777-5">[</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">,</span><span·class="ss">c</span><span·class="[·...·truncated·by·diffoscope;·len:·77,·SHA:·2248f70ee8c947f09a9600e533036b3c0ddabd092e406bd63595f38cbd8c787e·...·]-5">]</span></code></pre>1561 </span><span·class="p"·data-group-id="2735309385-5">[</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">,</span><span·class="ss">c</span><span·class="[·...·truncated·by·diffoscope;·len:·77,·SHA:·0183d4337b9640b649470bc6e96d50146c80ce066767646201a8596e8a606ec6·...·]-5">]</span></code></pre>
1562 ··</section>1562 ··</section>
1563 </section>1563 </section>
1564 <section·class="detail"·id="flatten/1">1564 <section·class="detail"·id="flatten/1">
Max diff block lines reached; 128029/168766 bytes (75.86%) of diff not shown.
668 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>448 <p>Copyright·©·1996-2025·<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
206 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/maps.html
Max HTML report size reached
1.37 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/math.html
    
Offset 1138, 15 lines modifiedOffset 1138, 15 lines modified
1138 ······<p·class="built-using">1138 ······<p·class="built-using">
1139 ········Built·using1139 ········Built·using
1140 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1140 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1141 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1141 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1142 ······</p>1142 ······</p>
1143 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1143 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1144 ····</footer>1144 ····</footer>
1145 ··</div>1145 ··</div>
1146 </main>1146 </main>
1147 </div>1147 </div>
1148 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1148 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1149 ··<script>1149 ··<script>
1150 ··let·initialized·=·false;1150 ··let·initialized·=·false;
569 B
html2text {}
Max HTML report size reached
141 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="0137516402-1">(</span><span·class="ss">emp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0137516402-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="9226026982-1">(</span><span·class="ss">emp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9226026982-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="0137516402-2">}</span><span·class="p"·data-group-id="0137516402-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:·5ada88f071fdc32fff8174ba0ca4fe8fa36442c5b85c75a99653a12b2ac3de0b·...·]-2">}</span><span·class="p">,</span><span·class="w">161 ··············</span><span·class="ss">empyear</span><span·class="p"·data-group-id="9226026982-2">}</span><span·class="p"·data-group-id="9226026982-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:·47f0d355fab1fc686bdd70cd40daabf0f0f3c47542d3a6efd03dec36cfe5a702·...·]-2">}</span><span·class="p">,</span><span·class="w">
162 ·</span><span·class="p"·data-group-id="5458738074-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:·d8b45c67962ab95fe1474e72249a175d998478e1a204bbcccace1788fe106fc5·...·]-3">}</span><span·class="p">,</span><span·class="w">162 ·</span><span·class="p"·data-group-id="1837176501-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:·14ac7c6beada2ace341e1a67287efbe9a6cf71ab1f887e918d283fc3a40db65c·...·]-3">}</span><span·class="p">,</span><span·class="w">
163 ·</span><span·class="p"·data-group-id="5458738074-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:·4e348599da6b147b4384579b89597a7f9f608aabf6c6c66c2e8380861dc2b530·...·]-4">}</span><span·class="p">,</span><span·class="w">163 ·</span><span·class="p"·data-group-id="1837176501-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:·5187c91bafb7fd4bf75040b257feee0725ba8704cf885a55cc2fb334a00cec93·...·]-4">}</span><span·class="p">,</span><span·class="w">
164 ·</span><span·class="p"·data-group-id="5458738074-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:·4c366bd3652d2787033ca1ae317a996f16bea20cbe18c03a8373677fd8267592·...·]-5">}</span><span·class="p">,</span><span·class="w">164 ·</span><span·class="p"·data-group-id="1837176501-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:·b3900cc7c3c6bc7057009508f5c9efda05c220583ac4fe606e045c7d4507f265·...·]-5">}</span><span·class="p">,</span><span·class="w">
165 ·</span><span·class="p"·data-group-id="5458738074-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:·f861219702c4a6d27b6eaa88d52d5283b996139dbf53e7ac2b946556e05b717d·...·]-6">}</span><span·class="p">,</span><span·class="w">165 ·</span><span·class="p"·data-group-id="1837176501-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:·7165669bbe65afadb38680f3fea70115a905c0cc61bbd9e854205c7441ff1f2f·...·]-6">}</span><span·class="p">,</span><span·class="w">
166 ·</span><span·class="p"·data-group-id="5458738074-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:·a683b8309bda627a744c25758213af791de6f7f63a83000142348f43dfdd5f7c·...·]-7">}</span><span·class="p">,</span><span·class="w">166 ·</span><span·class="p"·data-group-id="1837176501-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:·c7e2fe8ad74d2e6e393b046b0a4e4007f8c8797bcfefd9a47a94429b4cb318e9·...·]-7">}</span><span·class="p">,</span><span·class="w">
167 ·</span><span·class="p"·data-group-id="5458738074-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:·2da6b0939fc0eb51b25c352c42230b97844b79d95d5b4ce7e774499b8474f263·...·]-8">}</span><span·class="p">,</span><span·class="w">167 ·</span><span·class="p"·data-group-id="1837176501-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:·54487eaba87d00a15c700b35e6916a7f2d6b188a45dd1853a53407ddf1ca6df8·...·]-8">}</span><span·class="p">,</span><span·class="w">
168 ·</span><span·class="p"·data-group-id="5458738074-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:·8e1e158122fd9145c11ee18937d7ae92943519739e67bbfe74698682b349525c·...·]-9">}</span><span·class="p">,</span><span·class="w">168 ·</span><span·class="p"·data-group-id="1837176501-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:·a850f9cff0fb6484a438f9e346f6ea962a5b6af732508e4acad37ed2bb6a2974·...·]-9">}</span><span·class="p">,</span><span·class="w">
169 ·</span><span·class="p"·data-group-id="5458738074-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:·a7470956c6d957ccfd87a49704053ba428dfa78f38d57cf64c4459fea2cc05f6·...·]-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="1837176501-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:·02c37b8950c825277a6ef8c2b287e6964308d295a21c666b584af360f23d0359·...·]-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="1172532412-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1172532412-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#[·...·truncated·by·diffoscope;·len:·437,·SHA:·91fa2809b729784c1bbc9eae4a2ad3a6af60172f0653bee90edf631b4ae802af·...·]-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="2216922085-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2216922085-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#[·...·truncated·by·diffoscope;·len:·437,·SHA:·d9f2034675ec23ea05c4b6be80666a792c953eb8aaaa0498f17ef422c120e840·...·]-1">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="p"·data-group-id="1172532412-3">[</span><span·class="p"·data-group-id="1172532412-4">[</span><span·class="s">&quot;011103&quot;</span><span·class="p"·data-group-id="1172532412-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="1172532412-5">[</span><span·clas[·...·truncated·by·diffoscope;·len:·125,·SHA:·7d39b3bf6cb5ea5464c60bc04cc3ec2779987a84a0ee6ce706e6342e9d0b9b57·...·]-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="2216922085-3">[</span><span·class="p"·data-group-id="2216922085-4">[</span><span·class="s">&quot;011103&quot;</span><span·class="p"·data-group-id="2216922085-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="2216922085-5">[</span><span·clas[·...·truncated·by·diffoscope;·len:·125,·SHA:·3533c853e39f8f7b4354da61a5a719b2f261144b10ee19a8a74653f0c4a638ce·...·]-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="6116905452-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6116905452-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="6116905452-3">{</span><span·class="ss">empno</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·700,·SHA:·3b284ca39cb76762b6fac24f224c01a4f49d4c2b4724b5f1e21d41278e50689b·...·]-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="0668301716-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0668301716-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="0668301716-3">{</span><span·class="ss">empno</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·700,·SHA:·23886fc2ea72fe7ce60be59fe4f447b02dba1ad63b5d40ef8d7833edcd249d89·...·]-4">]</span><span·class="p">;</span><span·class="w">
174 ·············</span><span·class="p"·data-group-id="6116905452-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="6116905452-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="0668301716-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="0668301716-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="6116905452-6">[</span><span·class="p"·data-group-id="6116905452-6">]</span><span·class="p">,</span><span·class="w">176 ··········</span><span·class="p"·data-group-id="0668301716-6">[</span><span·class="p"·data-group-id="0668301716-6">]</span><span·class="p">,</span><span·class="w">
177 ··········</span><span·class="ss">emp_tab</span><span·class="p"·data-group-id="6116905452-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="0668301716-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="9733157263-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9733157263-2">[</span><span·class="p"·data-group-id="9733157263-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·996,·SHA:·61cf7e71a749ed470e471d1692556a1a0fdaa2f1f3e2e7275753a963ab82652e·...·]-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="6259542339-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6259542339-2">[</span><span·class="p"·data-group-id="6259542339-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·996,·SHA:·4f5a93b91ad4ef7fde5be1ad9150102ecc9af1c65da84728b89e20f5392dd20f·...·]-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="1074035796-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="1074035796-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="2783334729-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="2783334729-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="1074035796-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="1074035796-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="2783334729-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="2783334729-3">(</span><span·class="w">
194 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="1074035796-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="1074035796-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:·d948c6a3a7db79aaa7c5794b17b376113dfc6bd3dbcf21c0c9d447feb5ca533c·...·]-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="2783334729-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="2783334729-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:·551a29a0b9d55e37b40940874a92a7f6686e332fe34b2110c9a4c732979bb617·...·]-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="1074035796-3">)</span><span·class="p"·data-group-id="1074035796-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="2783334729-3">)</span><span·class="p"·data-group-id="2783334729-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="0641364016-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0641364016-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="0641364016-3">{</span><span·class="ss">empno</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·900,·SHA:·bfe5aa24cf55c6f09b519bd8771ea6e542e14fa647a8d5143bc791831fb237d7·...·]-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="1734358637-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1734358637-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="1734358637-3">{</span><span·class="ss">empno</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·900,·SHA:·6845cb4677c95ec40c7a7b888764ecca9013474d70278e08d0be0a621effa0d5·...·]-4">]</span><span·class="p">;</span><span·class="w">
220 ··················</span><span·class="p"·data-group-id="0641364016-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="0641364016-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="1734358637-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="1734358637-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="0641364016-6">[</span><span·class="p"·data-group-id="0641364016-6">]</span><span·class="p">,</span><span·class="w">222 ··········</span><span·class="p"·data-group-id="1734358637-6">[</span><span·class="p"·data-group-id="1734358637-6">]</span><span·class="p">,</span><span·class="w">
223 ··········</span><span·class="ss">emp_tab</span><span·class="p"·data-group-id="0641364016-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="1734358637-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="8778820560-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8778820560-2">[</span><span·class="p"·data-group-id="8778820560-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·551,·SHA:·924bf6e49d35dece0faed7a7af4c6749ffc9bb1585b5f4efc4b4b57a2c357133·...·]-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="1150564981-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1150564981-2">[</span><span·class="p"·data-group-id="1150564981-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·551,·SHA:·8aed02b9fdfd78b451fa8e6794f803bd04a57d9cf25f0ee69ba661a494bb0231·...·]-4">}</span><span·class="p">,</span><span·class="w">
226 ·····················</span><span·class="p"·data-group-id="8778820560-5">[</span><span·class="p"·data-group-id="8778820560-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:·46ac000971e848b427031fc6da061480f769b7e0ec2c700ff2d3e2234eaae394·...·]-5">]</span><span·class="p">,</span><span·class="w">226 ·····················</span><span·class="p"·data-group-id="1150564981-5">[</span><span·class="p"·data-group-id="1150564981-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:·b648fa5a35e08927eb36f30ded6888229291f3975f3a92a6a32d30aa78f0e94d·...·]-5">]</span><span·class="p">,</span><span·class="w">
227 ·····················</span><span·class="p"·data-group-id="8778820560-7">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="8778820560-7">]</span><span·class="p"·data-group-id="8778820560-3">}</span><span·class="p"·data-group-id="8778820560-2">]</span><span·class="p"·data-group-id="87788205[·...·truncated·by·diffoscope;·len:·2,·SHA:·39fa9ec190eee7b6f4dff1100d6343e10918d044c75eac8f9e9a2596173f80c9·...·]-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="1150564981-7">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="1150564981-7">]</span><span·class="p"·data-group-id="1150564981-3">}</span><span·class="p"·data-group-id="1150564981-2">]</span><span·class="p"·data-group-id="11505649[·...·truncated·by·diffoscope;·len:·2,·SHA:·5316ca1c5ddca8e6ceccfce58f3b8540e540ee22f6180fb89492904051b3d531·...·]-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="9268262692-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="9268262692-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="5685110090-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="5685110090-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="9268262692-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="9268262692-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="5685110090-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="5685110090-3">(</span><span·class="w">
231 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="9268262692-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="9268262692-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:·13a2c67167c57b71778b8a19ab77cd89cb8882bd961b6eb3c077ea78989ad1c8·...·]-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="5685110090-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="5685110090-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:·34c30b02b72bd37834beda560d18aac719eca88e97588fd4602a85a6f7c3e701·...·]-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="9268262692-3">)</span><span·class="p"·data-group-id="9268262692-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="5685110090-3">)</span><span·class="p"·data-group-id="5685110090-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="0911392884-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="0911392884-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="7555982246-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="7555982246-2">(</span><span·class="w">
242 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="0911392884-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="0911392884-4">{</span><span·class="ss">empno</span><sp[·...·truncated·by·diffoscope;·len:·362,·SHA:·300c9d7d96eb8c20c7eada62bafba1574dd9277805487f36f350f567d7c649c4·...·]-3">)</span><span·class="w">242 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="7555982246-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="7555982246-4">{</span><span·class="ss">empno</span><sp[·...·truncated·by·diffoscope;·len:·362,·SHA:·7691de6407a954149c77585bf0067cbb29def7181f22fb1797b4989f816a8074·...·]-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="0911392884-2">)</span><span·class="p"·data-group-id="0911392884-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="7555982246-2">)</span><span·class="p"·data-group-id="7555982246-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="6056873905-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="6056873905-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="6197870925-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="6197870925-2">(</span><span·class="w">
261 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="6056873905-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="6056873905-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:·318,·SHA:·026976b1f0d6e31ff6e633ee06de8488d45ab4f16b5c1d85163fa20e50c93ac0·...·]5-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="6197870925-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="6197870925-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:·318,·SHA:·5410328a3466f89ee619d29a8b8df78094e6eb55daf5e6ab0c12e538e15cd8e1·...·]5-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
262 ······························</span><span·class="p"·data-group-id="6056873905-6">{</span><span·class="p"·data-group-id="6056873905-7">[</span><span·class="sc">$0</span><span·class="p">|</span><span·class="n">Rest</span><span·class="p"·data-group-id="6056873905-7">]</span><span·class="p">,</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·195,·SHA:·f715dd98e10810b4978ad79bd1ff728ecf2fc95f995453749a3bd8ceae3696b1·...·]5-6">}</span><span·class="w">262 ······························</span><span·class="p"·data-group-id="6197870925-6">{</span><span·class="p"·data-group-id="6197870925-7">[</span><span·class="sc">$0</span><span·class="p">|</span><span·class="n">Rest</span><span·class="p"·data-group-id="6197870925-7">]</span><span·class="p">,</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·195,·SHA:·1d2ea88b2416bea2189c9f7be3fd63dd424b6fdf21c43d90d3d3a7156d4f214d·...·]5-6">}</span><span·class="w">
263 ······················</span><span·class="k">end</span><span·class="p"·data-group-id="6056873905-2">)</span><span·class="p"·data-group-id="6056873905-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="6197870925-2">)</span><span·class="p"·data-group-id="6197870925-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="3960352444-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="3960352444-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="3588064042-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="3588064042-2">(</span><span·class="w">
277 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="3960352444-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="3960352444-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:·303,·SHA:·037dcecbdf4933de3c3a442b558b3c4302e5aad53554570d072ee410702630da·...·]-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="3588064042-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="3588064042-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:·303,·SHA:·8dfc309ac35bd1b96cf97b551014fb8d6499bb52e3204d4e2ccc2a9d489b54f4·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
278 ······························</span><span·class="p"·data-group-id="3960352444-5">{</span><span·class="ss">guru</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="3960352444-5">}</span><span·class="p">;</span><span·class="w">278 ······························</span><span·class="p"·data-group-id="3588064042-5">{</span><span·class="ss">guru</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="3588064042-5">}</span><span·class="p">;</span><span·class="w">
279 ·························</span><span·class="p"·data-group-id="3960352444-6">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="3960352444-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:·263,·SHA:·eae316d3c7cb26604d280d9bc75bdcf16870987ffca57c0f7395bc89ca83efc7·...·]-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="3588064042-6">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="3588064042-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:·263,·SHA:·6228a0365f1b59345e37ac53ee5cc543533dbf2ffe6658ee885c19db2abde8b4·...·]-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="3960352444-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="3960352444-8">}</span><span·class="p">;</span><span·class="w">280 ······························</span><span·class="p"·data-group-id="3588064042-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="3588064042-8">}</span><span·class="p">;</span><span·class="w">
281 ·························</span><span·class="p"·data-group-id="3960352444-9">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="3960352444-10">{</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:·265,·SHA:·b6abbc541d565a040878cfa563500cf19bda4a1986f432856958ce0492871a65·...·]-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="3588064042-9">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="3588064042-10">{</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:·265,·SHA:·860bd319d0c0b88b4fe261ea2f63946807c92b38db0657bab0767f277b8a307a·...·]-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; 76003/143594 bytes (52.93%) of diff not shown.
691 B
html2text {}
Max HTML report size reached
41.7 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/notes.html
    
Offset 159, 33 lines modifiedOffset 159, 33 lines modified
159 ··<a·href="#fixed-bugs-and-malfunctions-2"·class="hover-link">159 ··<a·href="#fixed-bugs-and-malfunctions-2"·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">Fixed·Bugs·and·Malfunctions</span>162 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
163 </h3>163 </h3>
164 <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">164 <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">
165 </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">165 </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 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="7003157895-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="7003157895-1">)</span><span·class="p">.</span><span·class="w">166 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="5038529085-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="5038529085-1">)</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="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">168 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 </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">169 </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 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="7003157895-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="7003157895-2">)</span><span·class="p">.</span><span·class="w">170 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="5038529085-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="5038529085-2">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">171 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">
172 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="7003157895-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="7003157895-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">172 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="5038529085-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="5038529085-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 </span><span·class="ss">ok</span><span·class="gp·unselectable">173 </span><span·class="ss">ok</span><span·class="gp·unselectable">
174 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="7003157895-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="7003157895-4">)</span><span·class="p">.</span><span·class="w">174 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="5038529085-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="5038529085-4">)</span><span·class="p">.</span><span·class="w">
175 </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"·class="section-heading">175 </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"·class="section-heading">
176 ··<a·href="#improvements-and-new-features"·class="hover-link">176 ··<a·href="#improvements-and-new-features"·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">Improvements·and·New·Features</span>179 ··<span·class="text">Improvements·and·New·Features</span>
180 </h3>180 </h3>
181 <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="0766626846-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="0766626846-1">)</span><span·class="p">.</span><span·class="w">181 <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="1836612154-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="1836612154-1">)</span><span·class="p">.</span><span·class="w">
182 </span><span·class="w">182 </span><span·class="w">
183 ··</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="0766626846-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="0766626846-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Minimum</span><span·class="w">183 ··</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="1836612154-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="1836612154-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Minimum</span><span·class="w">
184 ···············</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="0766626846-3">(</span><span·class="p"·data-group-id="0766626846-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:·cad18e14aad3dac83b3a84bbac01204ef02eb1adb53136f986761f2cc8b27f8b·...·]-5">)</span><span·class="p">.</span><span·class="w">184 ···············</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="1836612154-3">(</span><span·class="p"·data-group-id="1836612154-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:·9432246590e42a4b6157c1d1de3399fbdb696abdcb5a14c6ee6869171c6c78c6·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
185 ··</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.2.7/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>·and185 ··</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.2.7/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
186 <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-15.2.7/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">186 <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-15.2.7/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">
187 ··<a·href="#stdlib-6-1-2"·class="hover-link">187 ··<a·href="#stdlib-6-1-2"·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">STDLIB·6.1.2</span>190 ··<span·class="text">STDLIB·6.1.2</span>
Offset 257, 16 lines modifiedOffset 257, 16 lines modified
257 <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-2"·class="section-heading">257 <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-2"·class="section-heading">
258 ··<a·href="#improvements-and-new-features-2"·class="hover-link">258 ··<a·href="#improvements-and-new-features-2"·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">Improvements·and·New·Features</span>261 ··<span·class="text">Improvements·and·New·Features</span>
262 </h3>262 </h3>
263 <ul><li><p>The·functions·<a·href="sets.html#is_equal/2"><code·class="inline">is_equal/2</code></a>,·<a·href="sets.html#map/2"><code·class="inline">map/2</code></a>,·and·<a·href="sets.html#filtermap/2"><code·class="inline">filtermap/2</code></a>·have·been·added·to·the·modules·<a·href="sets.html"><code·class="inline">sets</code></a>,·<a·href="ordsets.html"><code·class="inline">ordsets</code></a>,·and·<a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>.</p><p>Own·Id:·OTP-18622·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7183"·title="">PR-7183</a>,·<a·href="https://github.com/erlang/otp/pull/7232"·title="">PR-7232</a></p></li><li><p>The·compiler·now·emits·nicer·error·message·for·function·head·mismatches.263 <ul><li><p>The·functions·<a·href="sets.html#is_equal/2"><code·class="inline">is_equal/2</code></a>,·<a·href="sets.html#map/2"><code·class="inline">map/2</code></a>,·and·<a·href="sets.html#filtermap/2"><code·class="inline">filtermap/2</code></a>·have·been·added·to·the·modules·<a·href="sets.html"><code·class="inline">sets</code></a>,·<a·href="ordsets.html"><code·class="inline">ordsets</code></a>,·and·<a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>.</p><p>Own·Id:·OTP-18622·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7183"·title="">PR-7183</a>,·<a·href="https://github.com/erlang/otp/pull/7232"·title="">PR-7232</a></p></li><li><p>The·compiler·now·emits·nicer·error·message·for·function·head·mismatches.
264 For·example,·given:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">a</span><span·class="p"·data-group-id="5885564361-1">(</span><span·class="p"·data-group-id="5885564361-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">264 For·example,·given:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">a</span><span·class="p"·data-group-id="6400116519-1">(</span><span·class="p"·data-group-id="6400116519-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">
265 </span><span·class="nf">a</span><span·class="p"·data-group-id="5885564361-2">(</span><span·class="p">_</span><span·class="p"·data-group-id="5885564361-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·mismatch265 </span><span·class="nf">a</span><span·class="p"·data-group-id="6400116519-2">(</span><span·class="p">_</span><span·class="p"·data-group-id="6400116519-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
266 %····6|·a(_)·-&gt;·error.266 %····6|·a(_)·-&gt;·error.
267 %·····|·^</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?267 %·····|·^</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?
268 %····6|·a(_)·-&gt;·error.268 %····6|·a(_)·-&gt;·error.
269 %·····|·^</code></pre><p>Own·Id:·OTP-18648·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7383"·title="">PR-7383</a></p></li><li><p><a·href="zip.html#create/2"><code·class="inline">zip:create/2,3</code></a>·will·now·tolerate·POSIX·timestamps·in·the·provided·<code·class="inline">file_info</code>·records.</p><p>Own·Id:·OTP-18668</p></li><li><p>The·callback·function·<a·href="gen_statem.html#c:handle_event/4"><code·class="inline">gen_statem:handle_event/4</code></a>·has·been·cached·in·the·<code·class="inline">gen_statem</code>·engine·to·optimize·callback·call·speed.</p><p>Own·Id:·OTP-18671·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7419"·title="">PR-7419</a></p></li><li><p>The·type·<code·class="inline">beam_lib:beam/0</code>·is·now·exported.</p><p>Own·Id:·OTP-18716·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7534"·title="">PR-7534</a></p></li><li><p>The·documentation·for·the·<a·href="binary.html"><code·class="inline">binary</code></a>·module·has·been·improved.</p><p>Own·Id:·OTP-18741·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7585"·title="">PR-7585</a></p></li><li><p><a·href="binary.html#replace/3"><code·class="inline">binary:replace/3,4</code></a>·now·supports·using·a·fun·for·supplying·the·replacement·binary.</p><p>Own·Id:·OTP-18742·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7590"·title="">PR-7590</a></p></li><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;269 %·····|·^</code></pre><p>Own·Id:·OTP-18648·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7383"·title="">PR-7383</a></p></li><li><p><a·href="zip.html#create/2"><code·class="inline">zip:create/2,3</code></a>·will·now·tolerate·POSIX·timestamps·in·the·provided·<code·class="inline">file_info</code>·records.</p><p>Own·Id:·OTP-18668</p></li><li><p>The·callback·function·<a·href="gen_statem.html#c:handle_event/4"><code·class="inline">gen_statem:handle_event/4</code></a>·has·been·cached·in·the·<code·class="inline">gen_statem</code>·engine·to·optimize·callback·call·speed.</p><p>Own·Id:·OTP-18671·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7419"·title="">PR-7419</a></p></li><li><p>The·type·<code·class="inline">beam_lib:beam/0</code>·is·now·exported.</p><p>Own·Id:·OTP-18716·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7534"·title="">PR-7534</a></p></li><li><p>The·documentation·for·the·<a·href="binary.html"><code·class="inline">binary</code></a>·module·has·been·improved.</p><p>Own·Id:·OTP-18741·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7585"·title="">PR-7585</a></p></li><li><p><a·href="binary.html#replace/3"><code·class="inline">binary:replace/3,4</code></a>·now·supports·using·a·fun·for·supplying·the·replacement·binary.</p><p>Own·Id:·OTP-18742·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7590"·title="">PR-7590</a></p></li><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;
270 ···a270 ···a
271 ···b271 ···b
272 ···c272 ···c
Offset 281, 30 lines modifiedOffset 281, 30 lines modified
281 ····.281 ····.
282 ····.282 ····.
283 ····.283 ····.
284 &lt;0.90.0&gt;··············erlang:apply/2························2586····75011····0284 &lt;0.90.0&gt;··············erlang:apply/2························2586····75011····0
285 my_label··············c:pinfo/2·······························51285 my_label··············c:pinfo/2·······························51
286 4&gt;·proc_lib:get_label(self()).286 4&gt;·proc_lib:get_label(self()).
287 my_label</code></pre><p>Own·Id:·OTP-18789·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7720"·title="">PR-7720</a>,·<a·href="https://github.com/erlang/otp/pull/8003"·title="">PR-8003</a></p></li><li><p><code·class="inline">-callback</code>·attributes·has·been·added·to·modules·<a·href="sys.html"><code·class="inline">sys</code></a>·and·<a·href="erl_error.html"><code·class="inline">erl_error</code></a>.</p><p>Own·Id:·OTP-18793·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7703"·title="">PR-7703</a></p></li><li><p>Several·new·functions·that·accept·funs·have·been·added·to·module·<a·href="timer.html"><code·class="inline">timer</code></a>.</p><p>Functions·<a·href="timer.html#apply_after/2"><code·class="inline">apply_after/2</code></a>,·<a·href="timer.html#apply_interval/2"><code·class="inline">apply_interval/2</code></a>,·and·<code·class="inline">apply_repeatedly/2</code>·accept·a·nullary·fun·as·the·second·argument,·while··functions·<a·href="timer.html#apply_after/3"><code·class="inline">apply_after/3</code></a>,·<a·href="timer.html#apply_interval/3"><code·class="inline">apply_interval/3</code></a>,·and·<code·class="inline">apply_repeatedly/3</code>·accept·an·n-ary·fun·as·the·second·and·a·list·of·n·arguments·for·the·fun·as·the·third·argument.</p><p>Own·Id:·OTP-18808·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7649"·title="">PR-7649</a></p></li><li><p>Sigils·on·string·literals·have·been·implemented·as·per·<a·href="https://www.erlang.org/eeps/eep-0066">EEP·66</a>,·that·is:·binary·and·string·sigils·in·verbatim·and·escape·characters·variants,·as·well·as·a·default·(vanilla)·Sigil.··All·for·ordinary·strings·and·for·triple-quoted·strings·(EEP·64).·See·<a·href="../../../../doc/system/data_types.html#sigil">Sigils·in·the·Reference·Manual</a>.</p><p>Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="s">~&quot;Björn&quot;</span><span·class="p">.</span><span·class="w">287 my_label</code></pre><p>Own·Id:·OTP-18789·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7720"·title="">PR-7720</a>,·<a·href="https://github.com/erlang/otp/pull/8003"·title="">PR-8003</a></p></li><li><p><code·class="inline">-callback</code>·attributes·has·been·added·to·modules·<a·href="sys.html"><code·class="inline">sys</code></a>·and·<a·href="erl_error.html"><code·class="inline">erl_error</code></a>.</p><p>Own·Id:·OTP-18793·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7703"·title="">PR-7703</a></p></li><li><p>Several·new·functions·that·accept·funs·have·been·added·to·module·<a·href="timer.html"><code·class="inline">timer</code></a>.</p><p>Functions·<a·href="timer.html#apply_after/2"><code·class="inline">apply_after/2</code></a>,·<a·href="timer.html#apply_interval/2"><code·class="inline">apply_interval/2</code></a>,·and·<code·class="inline">apply_repeatedly/2</code>·accept·a·nullary·fun·as·the·second·argument,·while··functions·<a·href="timer.html#apply_after/3"><code·class="inline">apply_after/3</code></a>,·<a·href="timer.html#apply_interval/3"><code·class="inline">apply_interval/3</code></a>,·and·<code·class="inline">apply_repeatedly/3</code>·accept·an·n-ary·fun·as·the·second·and·a·list·of·n·arguments·for·the·fun·as·the·third·argument.</p><p>Own·Id:·OTP-18808·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7649"·title="">PR-7649</a></p></li><li><p>Sigils·on·string·literals·have·been·implemented·as·per·<a·href="https://www.erlang.org/eeps/eep-0066">EEP·66</a>,·that·is:·binary·and·string·sigils·in·verbatim·and·escape·characters·variants,·as·well·as·a·default·(vanilla)·Sigil.··All·for·ordinary·strings·and·for·triple-quoted·strings·(EEP·64).·See·<a·href="../../../../doc/system/data_types.html#sigil">Sigils·in·the·Reference·Manual</a>.</p><p>Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="s">~&quot;Björn&quot;</span><span·class="p">.</span><span·class="w">
288 </span><span·class="p"·data-group-id="5696473393-1">&lt;&lt;</span><span·class="s">&quot;Björn&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="5696473393-1">&gt;&gt;</span><span·class="gp·unselectable">288 </span><span·class="p"·data-group-id="4553955219-1">&lt;&lt;</span><span·class="s">&quot;Björn&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="4553955219-1">&gt;&gt;</span><span·class="gp·unselectable">
289 2&gt;·</span><span·class="s">~b&quot;Björn&quot;</span><span·class="p">.</span><span·class="w">289 2&gt;·</span><span·class="s">~b&quot;Björn&quot;</span><span·class="p">.</span><span·class="w">
290 </span><span·class="p"·data-group-id="5696473393-2">&lt;&lt;</span><span·class="s">&quot;Björn&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="5696473393-2">&gt;&gt;</span><span·class="gp·unselectable">290 </span><span·class="p"·data-group-id="4553955219-2">&lt;&lt;</span><span·class="s">&quot;Björn&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="4553955219-2">&gt;&gt;</span><span·class="gp·unselectable">
291 3&gt;·</span><span·class="s">~S&quot;\s*(\w+)&quot;</span><span·class="p">.</span><span·class="w">291 3&gt;·</span><span·class="s">~S&quot;\s*(\w+)&quot;</span><span·class="p">.</span><span·class="w">
292 </span><span·class="s">&quot;\\s*(\\w+)&quot;</span><span·class="gp·unselectable">292 </span><span·class="s">&quot;\\s*(\\w+)&quot;</span><span·class="gp·unselectable">
293 4&gt;·</span><span·class="s">~B&quot;\s*(\w+)&quot;</span><span·class="p">.</span><span·class="w">293 4&gt;·</span><span·class="s">~B&quot;\s*(\w+)&quot;</span><span·class="p">.</span><span·class="w">
294 </span><span·class="p"·data-group-id="5696473393-3">&lt;&lt;</span><span·class="s">&quot;\\s*(\\w+)&quot;</span><span·class="p"·data-group-id="5696473393-3">&gt;&gt;</span></code></pre><p>Own·Id:·OTP-18825·Aux·Id:·OTP-18750,·<a·href="https://github.com/erlang/otp/pull/7684"·title="">PR-7684</a></p></li><li><p>Functions·<a·href="shell.html#default_multiline_prompt/1"><code·class="inline">shell:default_multiline_prompt/1</code></a>,·<a·href="shell.html#inverted_space_prompt/1"><code·class="inline">shell:inverted_space_prompt/1</code></a>,·and·294 </span><span·class="p"·data-group-id="4553955219-3">&lt;&lt;</span><span·class="s">&quot;\\s*(\\w+)&quot;</span><span·class="p"·data-group-id="4553955219-3">&gt;&gt;</span></code></pre><p>Own·Id:·OTP-18825·Aux·Id:·OTP-18750,·<a·href="https://github.com/erlang/otp/pull/7684"·title="">PR-7684</a></p></li><li><p>Functions·<a·href="shell.html#default_multiline_prompt/1"><code·class="inline">shell:default_multiline_prompt/1</code></a>,·<a·href="shell.html#inverted_space_prompt/1"><code·class="inline">shell:inverted_space_prompt/1</code></a>,·and·
295 <a·href="shell.html#prompt_width/1"><code·class="inline">shell:prompt_width/1</code></a>·have·been·exported·to·help·with·custom·prompt·implementations.</p><p>Own·Id:·OTP-18834·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7675"·title="">PR-7675</a>,·<a·href="https://github.com/erlang/otp/pull/7816"·title="">PR-7816</a></p></li><li><p>The·shell·now·pages·long·output·from·the·documentation·help·command·(<code·class="inline">h(Module)</code>),·auto·completions·and·the·search·command.</p><p>Own·Id:·OTP-18846·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7845"·title="">PR-7845</a></p></li><li><p>The·<code·class="inline">M-h</code>·hotkey·(Alt/Option-h)·now·outputs·help·for·the·module·or·function·directly·before·the·cursor.</p><p>Own·Id:·OTP-18847·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7846"·title="">PR-7846</a></p></li><li><p>Added·support·for·adding·a·custom·code·formatter·that·formats·your·multi-line·shell·commands·in·your·preferred·formatting·on·submission.·See·<code·class="inline">shell:format_shell_func/</code>·and·<a·href="shell.html#erl_pp_format_func/1"><code·class="inline">shell:erl_pp_format_func/1</code></a>.</p><p>Own·Id:·OTP-18848·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7847"·title="">PR-7847</a></p></li><li><p>Added·shell·functions·for·viewing,·forgetting·and·saving·locally·defined·functions,·types·and·records.</p><p>Own·Id:·OTP-18852·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7844"·title="">PR-7844</a></p></li><li><p>Added·<a·href="string.html#jaro_similarity/2"><code·class="inline">string:jaro_similarity/2</code></a>,·which·can·be·used·to·calculate·the·similarity·between·two·strings.</p><p>Own·Id:·OTP-18865·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7879"·title="">PR-7879</a></p></li><li><p>The·new·function·<a·href="ets.html#update_element/4"><code·class="inline">ets:update_element/4</code></a>·is·similar·to·<a·href="ets.html#update_element/3"><code·class="inline">ets:update_element/3</code></a>,·but·takes·a·default·tuple·as·the·fourth·argument,·which·will·be·inserted·if·no·previous·record·with·that·key·exists.</p><p>Own·Id:·OTP-18870·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7857"·title="">PR-7857</a></p></li><li><p>Added·functions·to·retrieve·the·next·higher·or·lower·key/element·from·<a·href="gb_trees.html"><code·class="inline">gb_trees</code></a>·and·<a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>,·as·well·as·returning·iterators·that·start·at·given·keys/elements.</p><p>Own·Id:·OTP-18874·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7745"·title="">PR-7745</a></p></li><li><p>When·the·shell·built-in·function·<a·href="c.html#c/1"·title=""><code·class="inline">c/1,2</code></a>·is·used·to·re-compile·a·module,·the·current·working·directory·of·the·original·compilation·is·now·added·to·the·include·path.</p><p>Own·Id:·OTP-18908·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7957"·title="">PR-7957</a></p></li><li><p>The·<code·class="inline">timer</code>·module·now·uses·a·private·table·for·its·internal·state,·slightly·improving·its·performance.</p><p>Own·Id:·OTP-18914·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7973"·title="">PR-7973</a></p></li><li><p><a·href="https://www.erlang.org/eeps/eep-0059">EEP-59·-·Documentation·Attributes</a>·has·been·implemented.</p><p>Documentation·attributes·can·be·used·to·document·functions,·types,·callbacks,·and·modules.295 <a·href="shell.html#prompt_width/1"><code·class="inline">shell:prompt_width/1</code></a>·have·been·exported·to·help·with·custom·prompt·implementations.</p><p>Own·Id:·OTP-18834·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7675"·title="">PR-7675</a>,·<a·href="https://github.com/erlang/otp/pull/7816"·title="">PR-7816</a></p></li><li><p>The·shell·now·pages·long·output·from·the·documentation·help·command·(<code·class="inline">h(Module)</code>),·auto·completions·and·the·search·command.</p><p>Own·Id:·OTP-18846·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7845"·title="">PR-7845</a></p></li><li><p>The·<code·class="inline">M-h</code>·hotkey·(Alt/Option-h)·now·outputs·help·for·the·module·or·function·directly·before·the·cursor.</p><p>Own·Id:·OTP-18847·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7846"·title="">PR-7846</a></p></li><li><p>Added·support·for·adding·a·custom·code·formatter·that·formats·your·multi-line·shell·commands·in·your·preferred·formatting·on·submission.·See·<code·class="inline">shell:format_shell_func/</code>·and·<a·href="shell.html#erl_pp_format_func/1"><code·class="inline">shell:erl_pp_format_func/1</code></a>.</p><p>Own·Id:·OTP-18848·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7847"·title="">PR-7847</a></p></li><li><p>Added·shell·functions·for·viewing,·forgetting·and·saving·locally·defined·functions,·types·and·records.</p><p>Own·Id:·OTP-18852·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7844"·title="">PR-7844</a></p></li><li><p>Added·<a·href="string.html#jaro_similarity/2"><code·class="inline">string:jaro_similarity/2</code></a>,·which·can·be·used·to·calculate·the·similarity·between·two·strings.</p><p>Own·Id:·OTP-18865·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7879"·title="">PR-7879</a></p></li><li><p>The·new·function·<a·href="ets.html#update_element/4"><code·class="inline">ets:update_element/4</code></a>·is·similar·to·<a·href="ets.html#update_element/3"><code·class="inline">ets:update_element/3</code></a>,·but·takes·a·default·tuple·as·the·fourth·argument,·which·will·be·inserted·if·no·previous·record·with·that·key·exists.</p><p>Own·Id:·OTP-18870·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7857"·title="">PR-7857</a></p></li><li><p>Added·functions·to·retrieve·the·next·higher·or·lower·key/element·from·<a·href="gb_trees.html"><code·class="inline">gb_trees</code></a>·and·<a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>,·as·well·as·returning·iterators·that·start·at·given·keys/elements.</p><p>Own·Id:·OTP-18874·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7745"·title="">PR-7745</a></p></li><li><p>When·the·shell·built-in·function·<a·href="c.html#c/1"·title=""><code·class="inline">c/1,2</code></a>·is·used·to·re-compile·a·module,·the·current·working·directory·of·the·original·compilation·is·now·added·to·the·include·path.</p><p>Own·Id:·OTP-18908·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7957"·title="">PR-7957</a></p></li><li><p>The·<code·class="inline">timer</code>·module·now·uses·a·private·table·for·its·internal·state,·slightly·improving·its·performance.</p><p>Own·Id:·OTP-18914·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7973"·title="">PR-7973</a></p></li><li><p><a·href="https://www.erlang.org/eeps/eep-0059">EEP-59·-·Documentation·Attributes</a>·has·been·implemented.</p><p>Documentation·attributes·can·be·used·to·document·functions,·types,·callbacks,·and·modules.
296 The·keyword·<code·class="inline">-moduledoc·&quot;Documentation·here&quot;.</code>·is·used·to·document·modules,·while·<code·class="inline">-doc·&quot;Documentation·here&quot;.</code>·can·be·used·on·top·of·functions,·types,·and·callbacks·to·document·them,·respectively.</p><ul><li><p>Types,·callbacks,·and·function·documentation·can·be·set·to·<code·class="inline">hidden</code>·either·via·<code·class="inline">-doc·false</code>·or·<code·class="inline">-doc·hidden</code>.·When·documentation·attributes·mark·a·type·as·hidden,·they·will·not·be·part·of·the·documentation.</p></li><li><p>The·documentation·from·<code·class="inline">moduledoc</code>·and·<code·class="inline">doc</code>·gets·added·by·default·to·the·binary·beam·file,·following·the·format·of·<a·href="https://www.erlang.org/eeps/eep-0048">EEP-48</a>.</p></li><li><p>Using·the·compiler·flag·<code·class="inline">warn_missing_doc</code>·will·raise·a·warning·when296 The·keyword·<code·class="inline">-moduledoc·&quot;Documentation·here&quot;.</code>·is·used·to·document·modules,·while·<code·class="inline">-doc·&quot;Documentation·here&quot;.</code>·can·be·used·on·top·of·functions,·types,·and·callbacks·to·document·them,·respectively.</p><ul><li><p>Types,·callbacks,·and·function·documentation·can·be·set·to·<code·class="inline">hidden</code>·either·via·<code·class="inline">-doc·false</code>·or·<code·class="inline">-doc·hidden</code>.·When·documentation·attributes·mark·a·type·as·hidden,·they·will·not·be·part·of·the·documentation.</p></li><li><p>The·documentation·from·<code·class="inline">moduledoc</code>·and·<code·class="inline">doc</code>·gets·added·by·default·to·the·binary·beam·file,·following·the·format·of·<a·href="https://www.erlang.org/eeps/eep-0048">EEP-48</a>.</p></li><li><p>Using·the·compiler·flag·<code·class="inline">warn_missing_doc</code>·will·raise·a·warning·when
297 <code·class="inline">-doc</code>·attributes·are·missing·in·exported·functions,·types,·and·callbacks.</p></li><li><p>Using·the·compiler·flag·<code·class="inline">warn_missing_spec_documented</code>·will·raise·a·warning·when297 <code·class="inline">-doc</code>·attributes·are·missing·in·exported·functions,·types,·and·callbacks.</p></li><li><p>Using·the·compiler·flag·<code·class="inline">warn_missing_spec_documented</code>·will·raise·a·warning·when
298 spec·attributes·are·missing·in·documented·functions,·types,·and·callbacks.</p></li><li><p><code·class="inline">moduledoc</code>s·and·<code·class="inline">doc</code>s·may·refer·to·external·files·to·be·embedded,·such·as·<code·class="inline">-doc·{file,·&quot;README.md&quot;}.</code>,·which·refers·to·the·file·<code·class="inline">README.md</code>·found·in·the·current·working·directory.</p></li><li><p>The·compiler·warns·about·exported·functions·whose·specs·refer·to·hidden·types.·Thus,·there·will·be·warnings·when·a·hidden·type·(meaning,·the·type·is·not·part·of·the·documentation)·gets·used·in·an·exported·function.</p></li></ul><p>Own·Id:·OTP-18916·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7936"·title="">PR-7936</a></p></li><li><p>New·<a·href="ets.html"><code·class="inline">ets</code></a>·functions·<a·href="ets.html#first_lookup/1"><code·class="inline">ets:first_lookup/1</code></a>,·<a·href="ets.html#next_lookup/2"><code·class="inline">ets:next_lookup/2</code></a>,·<a·href="ets.html#prev_lookup/2"><code·class="inline">ets:prev_lookup/2</code></a>·and·<a·href="ets.html#last_lookup/1"><code·class="inline">ets:last_lookup/1</code></a>.·Example:·<code·class="inline">ets:next_lookup/1</code>·is·equivalent·to·<a·href="ets.html#next/2"><code·class="inline">ets:next/2</code></a>·followed·by·<a·href="ets.html#lookup/2"><code·class="inline">ets:lookup/2</code></a>·with·the·next·key.·The·new·combined·functions·are·more·efficient·and·with·guaranteed·atomicity.</p><p>Own·Id:·OTP-18923·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/6791"·title="">PR-6791</a></p></li><li><p>The·<code·class="inline">maybe</code>·expression·is·now·enabled·by·default.</p><p>To·use·<code·class="inline">maybe</code>·as·an·atom,·it·needs·to·be·single-quoted.·Alternatively,·the·<code·class="inline">maybe</code>·expression·can·be·disabled·by·disabling·the·<code·class="inline">maybe_expr</code>·feature.·That·can·be·done·by·placing·the·following·the·line·at·the·beginning·of·an·Erlang·source·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">feature</span><span·class="p"·data-group-id="6510588550-1">(</span><span·class="ss">maybe_expr</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disable</span><span·class="p"·data-group-id="6510588550-1">)</span><span·class="p">.</span></code></pre><p>Another·way·to·disable·the·<[·...·truncated·by·diffoscope;·len:·688,·SHA:·f8a68462ab077b5f634ff39beb1723b13c0a6e5aa5b1190f6b5b67ef6aeba4c1·...·]-1">)</span><span·class="p">.</span><span·class="w">298 spec·attributes·are·missing·in·documented·functions,·types,·and·callbacks.</p></li><li><p><code·class="inline">moduledoc</code>s·and·<code·class="inline">doc</code>s·may·refer·to·external·files·to·be·embedded,·such·as·<code·class="inline">-doc·{file,·&quot;README.md&quot;}.</code>,·which·refers·to·the·file·<code·class="inline">README.md</code>·found·in·the·current·working·directory.</p></li><li><p>The·compiler·warns·about·exported·functions·whose·specs·refer·to·hidden·types.·Thus,·there·will·be·warnings·when·a·hidden·type·(meaning,·the·type·is·not·part·of·the·documentation)·gets·used·in·an·exported·function.</p></li></ul><p>Own·Id:·OTP-18916·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7936"·title="">PR-7936</a></p></li><li><p>New·<a·href="ets.html"><code·class="inline">ets</code></a>·functions·<a·href="ets.html#first_lookup/1"><code·class="inline">ets:first_lookup/1</code></a>,·<a·href="ets.html#next_lookup/2"><code·class="inline">ets:next_lookup/2</code></a>,·<a·href="ets.html#prev_lookup/2"><code·class="inline">ets:prev_lookup/2</code></a>·and·<a·href="ets.html#last_lookup/1"><code·class="inline">ets:last_lookup/1</code></a>.·Example:·<code·class="inline">ets:next_lookup/1</code>·is·equivalent·to·<a·href="ets.html#next/2"><code·class="inline">ets:next/2</code></a>·followed·by·<a·href="ets.html#lookup/2"><code·class="inline">ets:lookup/2</code></a>·with·the·next·key.·The·new·combined·functions·are·more·efficient·and·with·guaranteed·atomicity.</p><p>Own·Id:·OTP-18923·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/6791"·title="">PR-6791</a></p></li><li><p>The·<code·class="inline">maybe</code>·expression·is·now·enabled·by·default.</p><p>To·use·<code·class="inline">maybe</code>·as·an·atom,·it·needs·to·be·single-quoted.·Alternatively,·the·<code·class="inline">maybe</code>·expression·can·be·disabled·by·disabling·the·<code·class="inline">maybe_expr</code>·feature.·That·can·be·done·by·placing·the·following·the·line·at·the·beginning·of·an·Erlang·source·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">feature</span><span·class="p"·data-group-id="1007599972-1">(</span><span·class="ss">maybe_expr</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disable</span><span·class="p"·data-group-id="1007599972-1">)</span><span·class="p">.</span></code></pre><p>Another·way·to·disable·the·<[·...·truncated·by·diffoscope;·len:·688,·SHA:·3249bcba41441c1efb00d0f3b6e2acacde095b9857454e4512f16bfed8328d6b·...·]-1">)</span><span·class="p">.</span><span·class="w">
299 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2216461528-2">(</span><span·class="p"·data-group-id="2216461528-3">[</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2216461528-3">]</span><span·class="p"·data-group-id="2216461528-2">)</span><span·class="p">.</span><span·class="w">299 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1432992502-2">(</span><span·class="p"·data-group-id="1432992502-3">[</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1432992502-3">]</span><span·class="p"·data-group-id="1432992502-2">)</span><span·class="p">.</span><span·class="w">
300 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="2216461528-4">(</span><span·class="ss">r</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2216461528-5">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·109,·SHA:·1f3e7fcde21c4616613bcbd28082c1c06c670c9168ed0d979f08878cc5aa0d4e·...·]-4">)</span><span·class="p">.</span><span·class="w">300 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="1432992502-4">(</span><span·class="ss">r</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1432992502-5">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·109,·SHA:·a389a28588b30732c24c14bfacc3b2177c9d090207d8bb0407a09b195ea4df2f·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
301 </span><span·class="nf">f</span><span·class="p"·data-group-id="2216461528-6">(</span><span·class="p"·data-group-id="2216461528-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">301 </span><span·class="nf">f</span><span·class="p"·data-group-id="1432992502-6">(</span><span·class="p"·data-group-id="1432992502-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
302 ····</span><span·class="o">#</span><span·class="ss">r</span><span·class="p"·data-group-id="2216461528-7">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="mi">1</span><span·class="p"·data-group-id="2216461528-7">}</span><span·class="o">#</span><span·class="ss">r</span><span·class="p"·data-group-id="2216461528-8">{</span><span[·...·truncated·by·diffoscope;·len:·110,·SHA:·73db69fb3bfba902f34876b879cc137bfbf73d36009be9dcc533cdb29af6e848·...·]-8">}</span><span·class="p">.</span></code></pre><p>The·compiler·raises·the·following·warning:</p><pre><code·class="text">1&gt;·c(t).302 ····</span><span·class="o">#</span><span·class="ss">r</span><span·class="p"·data-group-id="1432992502-7">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="mi">1</span><span·class="p"·data-group-id="1432992502-7">}</span><span·class="o">#</span><span·class="ss">r</span><span·class="p"·data-group-id="1432992502-8">{</span><span[·...·truncated·by·diffoscope;·len:·110,·SHA:·d8b84947ec084748952f59701a986c293b16c935922e1bcce469785710932b16·...·]-8">}</span><span·class="p">.</span></code></pre><p>The·compiler·raises·the·following·warning:</p><pre><code·class="text">1&gt;·c(t).
303 t.erl:6:12:·Warning:·expression·updates·a·literal303 t.erl:6:12:·Warning:·expression·updates·a·literal
304 %····6|·····#r{a=1}#r{b=2}.304 %····6|·····#r{a=1}#r{b=2}.
305 %·····|············^</code></pre><p>Own·Id:·OTP-18951·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8069"·title="">PR-8069</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>Optimized·<code·class="inline">ets:foldl</code>·and·<code·class="inline">ets:foldr</code>·to·use·new·<code·class="inline">ets:next_lookup</code>.·Also·made·them·immune·against·table·renaming.</p><p>Own·Id:·OTP-18993·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8048"·title="">PR-8048</a></p></li><li><p>Windows·now·supports·all·functions·in·<a·href="math.html"><code·class="inline">math</code></a>.</p><p>Own·Id:·OTP-19001·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8164"·title="">PR-8164</a></p></li><li><p><a·href="erl_lint.html"><code·class="inline">erl_lint</code></a>·(and·by·extension·the·<a·href="../../../../lib/compiler-8.6.1/doc/html/compile.html"><code·class="inline">compiler</code></a>)·will·now·warn·for·code·using·deprecated·callbacks.</p><p>The·only·callback·currenly·deprecated·is·<code·class="inline">format_status/2</code>·in·<a·href="gen_server.html#c:format_status/2"><code·class="inline">gen_server</code></a>,·<a·href="gen_event.html#c:format_status/2"><code·class="inline">gen_event</code></a>·and·<a·href="gen_server.html#c:format_status/2"><code·class="inline">gen_statem</code></a>.</p><p>You·can·use·<code·class="inline">nowarn_deprecated_callback</code>·to·silence·the·warning.</p><p>Own·Id:·OTP-19010·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8205"·title="">PR-8205</a></p></li><li><p>There·is·a·new·module·<a·href="json.html"><code·class="inline">json</code></a>·for·encoding·and·decoding·<a·href="https://en.wikipedia.org/wiki/JSON">JSON</a>.</p><p>Both·encoding·and·decoding·can·be·customized.·Decoding·can·be·done·in·a·SAX-like·fashion·and·handle·multiple·documents·and·streams·of·data.</p><p>Own·Id:·OTP-19020·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8111"·title="">PR-8111</a></p></li></ul><h2·id="stdlib-5-2-3-3"·class="section-heading">305 %·····|············^</code></pre><p>Own·Id:·OTP-18951·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8069"·title="">PR-8069</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>Optimized·<code·class="inline">ets:foldl</code>·and·<code·class="inline">ets:foldr</code>·to·use·new·<code·class="inline">ets:next_lookup</code>.·Also·made·them·immune·against·table·renaming.</p><p>Own·Id:·OTP-18993·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8048"·title="">PR-8048</a></p></li><li><p>Windows·now·supports·all·functions·in·<a·href="math.html"><code·class="inline">math</code></a>.</p><p>Own·Id:·OTP-19001·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8164"·title="">PR-8164</a></p></li><li><p><a·href="erl_lint.html"><code·class="inline">erl_lint</code></a>·(and·by·extension·the·<a·href="../../../../lib/compiler-8.6.1/doc/html/compile.html"><code·class="inline">compiler</code></a>)·will·now·warn·for·code·using·deprecated·callbacks.</p><p>The·only·callback·currenly·deprecated·is·<code·class="inline">format_status/2</code>·in·<a·href="gen_server.html#c:format_status/2"><code·class="inline">gen_server</code></a>,·<a·href="gen_event.html#c:format_status/2"><code·class="inline">gen_event</code></a>·and·<a·href="gen_server.html#c:format_status/2"><code·class="inline">gen_statem</code></a>.</p><p>You·can·use·<code·class="inline">nowarn_deprecated_callback</code>·to·silence·the·warning.</p><p>Own·Id:·OTP-19010·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8205"·title="">PR-8205</a></p></li><li><p>There·is·a·new·module·<a·href="json.html"><code·class="inline">json</code></a>·for·encoding·and·decoding·<a·href="https://en.wikipedia.org/wiki/JSON">JSON</a>.</p><p>Both·encoding·and·decoding·can·be·customized.·Decoding·can·be·done·in·a·SAX-like·fashion·and·handle·multiple·documents·and·streams·of·data.</p><p>Own·Id:·OTP-19020·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8111"·title="">PR-8111</a></p></li></ul><h2·id="stdlib-5-2-3-3"·class="section-heading">
306 ··<a·href="#stdlib-5-2-3-3"·class="hover-link">306 ··<a·href="#stdlib-5-2-3-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">STDLIB·5.2.3.3</span>309 ··<span·class="text">STDLIB·5.2.3.3</span>
Offset 4635, 15 lines modifiedOffset 4635, 15 lines modified
4635 ······<p·class="built-using">4635 ······<p·class="built-using">
4636 ········Built·using4636 ········Built·using
4637 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the4637 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
4638 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>4638 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
4639 ······</p>4639 ······</p>
4640 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>4640 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
4641 ····</footer>4641 ····</footer>
4642 ··</div>4642 ··</div>
4643 </main>4643 </main>
4644 </div>4644 </div>
4645 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>4645 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
4646 ··<script>4646 ··<script>
4647 ··let·initialized·=·false;4647 ··let·initialized·=·false;
684 B
html2text {}
Max HTML report size reached
125 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="6086382114-1">(</span><span·class="p"·data-group-id="6086382114-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="7265164851-1">(</span><span·class="p"·data-group-id="7265164851-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="6086382114-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6086382114-3">[</span><span·class="p"·data-group-id="6086382114-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·63,·SHA:·1855eb74bc5bbf76269939a43c75d296b82ad056d1e0b4fd196ae036e0f4c20e·...·]-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="7265164851-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7265164851-3">[</span><span·class="p"·data-group-id="7265164851-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·63,·SHA:·b697cef08bdc26c1def032815e427947cf7c688ab3ea44f84cd771e048470e8b·...·]-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="6086382114-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="6086382114-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="7265164851-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="7265164851-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="6086382114-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="6086382114-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="7265164851-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="7265164851-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="6086382114-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="6086382114-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="7265164851-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="7265164851-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="6086382114-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="6086382114-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="7265164851-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="7265164851-7">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="p"·data-group-id="6086382114-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="6086382114-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="7265164851-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="7265164851-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="4998289084-1">(</span><span·class="p"·data-group-id="4998289084-2">[</span><span·class="p"·data-group-id="4998289084-3">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4998289084-4">[</span><s[·...·truncated·by·diffoscope;·len:·198,·SHA:·4c4937f7bf10ba006fd09fb757cb94efe8859ac5c211304eef355b91021846ac·...·]-1">)</span><span·class="p">.</span><span·class="w">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="7236859376-1">(</span><span·class="p"·data-group-id="7236859376-2">[</span><span·class="p"·data-group-id="7236859376-3">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7236859376-4">[</span><s[·...·truncated·by·diffoscope;·len:·198,·SHA:·353ab0a273bb0ffc99a202e1bb6d2d676f6c788b5cbed6bcd8fb0ac2cfe04aa0·...·]-1">)</span><span·class="p">.</span><span·class="w">
533 </span><span·class="p"·data-group-id="4998289084-5">[</span><span·class="p"·data-group-id="4998289084-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="4998289084-7">[</span><span·class="p"·data-group-id="4998289084-7">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·eb7642a92890aa44bd7f9d0191232193039d0658783f623de4f9e7782da83d06·...·]-5">]</span><span·class="gp·unselectable">533 </span><span·class="p"·data-group-id="7236859376-5">[</span><span·class="p"·data-group-id="7236859376-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="7236859376-7">[</span><span·class="p"·data-group-id="7236859376-7">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·14470ddbeb3b18030a908500a3f6b38913cd392559403ee4e590ce24c4b20ddb·...·]-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="4998289084-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="4998289084-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="7236859376-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="7236859376-8">)</span><span·class="p">.</span><span·class="w">
535 </span><span·class="p"·data-group-id="4998289084-9">[</span><span·class="p"·data-group-id="4998289084-10">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="4998289084-11">[</span><span·class="mi">1</span><span·class="p"·data-group-id="4998289084-11">]</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·c8cdefc3c06cb260df4e9b7a50c56c5b092eb9f5f22cdaf7052b0fe41704d1ec·...·]-9">]</span><span·class="gp·unselectable">535 </span><span·class="p"·data-group-id="7236859376-9">[</span><span·class="p"·data-group-id="7236859376-10">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="7236859376-11">[</span><span·class="mi">1</span><span·class="p"·data-group-id="7236859376-11">]</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·9c728075cc1233c6490dab012e36ebb0a070b6fb8432b63449a8a6fc45d1eb76·...·]-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="4998289084-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="4998289084-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="7236859376-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="7236859376-12">)</span><span·class="p">.</span><span·class="w">
537 </span><span·class="p"·data-group-id="4998289084-13">[</span><span·class="p"·data-group-id="4998289084-14">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="4998289084-15">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·85716f161d3ad5a2bca34db2fac49b8a52c14714bcdf78193f51af8d6158e8a3·...·]-13">]</span><span·class="gp·unselectable">537 </span><span·class="p"·data-group-id="7236859376-13">[</span><span·class="p"·data-group-id="7236859376-14">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="7236859376-15">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·0b9cf7e49792899ce64afb1db0b7c02f1506a0be444b7c9908035c02782fc544·...·]-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="4998289084-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="4998289084-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="7236859376-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="7236859376-16">)</span><span·class="p">.</span><span·class="w">
539 </span><span·class="p"·data-group-id="4998289084-17">[</span><span·class="p"·data-group-id="4998289084-18">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="4998289084-19">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4998289084-19">]</span><span·class="p"·data-group-id="4998289084-18">}</span><span·class="p">,</span><span·class="p"·data-group-id="4998289084-20">{</span><span·class="ss">y</span><span·class="p">,</span><span·class="p"·data-group-id="4998289084-21">[</span><span·class="mi">3</span><span·class="p"·data-group-id="4998289084-21">]</span><span·class="p"·data-group-id="4998289084-20">}</span><span·class="p"·data-group-id="4998289084-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="7132135801-1">(</span><span·class="p"·data-group-id="7132135801-2">[</span><span·class="p"·data-group-id="7132135801-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="7132135801-3">}</span><span·class="p"·data-group-id="7132135801-2">]</span><span·class="p"·data-group-id="7132135801-1">)</span><span·class="p">.</span><span·class="w"> 
540 </span><span·class="p"·data-group-id="7132135801-4">[</span><span·class="p"·data-group-id="7132135801-5">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">no_list</span><span·class="p"·data-group-id="7132135801-5">}</span><span·class="p"·data-group-id="7132135801-4">]</s[·...·truncated·by·diffoscope;·len:·32,·SHA:·a00c42fde79afb6935a3cb78669f3d990ea1fd2cdcb7fd4a3c7c4ae7b048484d·...·]">539 </span><span·class="p"·data-group-id="7236859376-17">[</span><span·class="p"·data-group-id="7236859376-18">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="7236859376-19">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><sp[·...·truncated·by·diffoscope;·len:·1254,·SHA:·552dcac056265b0e0d0967ccf6f31b030c7ab4b29af5fff5972923c28b1930e3·...·]">
 540 </span><span·class="p"·data-group-id="6089378766-4">[</span><span·class="p"·data-group-id="6089378766-5">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">no_list</span><span·class="p"·data-group-id="6089378766-5">}</span><span·class="p"·data-group-id="6089378766-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="7132135801-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="7132135801-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="6089378766-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="6089378766-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="3091070278-1">(</span><span·class="p"·data-group-id="3091070278-2">[</span><span·class="p"·data-group-id="3091070278-3">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3091070278-4">[</span><s[·...·truncated·by·diffoscope;·len:·198,·SHA:·af7eb12e1eaddc389ebc80ef1a6059d71c5c6ff11bf35183e57d1e3462905713·...·]-1">)</span><span·class="p">.</span><span·class="w">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="6797376224-1">(</span><span·class="p"·data-group-id="6797376224-2">[</span><span·class="p"·data-group-id="6797376224-3">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6797376224-4">[</span><s[·...·truncated·by·diffoscope;·len:·198,·SHA:·5c89c930213ae8890445d2742e9965a6444de5ada3b90ea9184b1da867689a66·...·]-1">)</span><span·class="p">.</span><span·class="w">
577 </span><span·class="p"·data-group-id="3091070278-5">[</span><span·class="p"·data-group-id="3091070278-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="3091070278-7">[</span><span·class="p"·data-group-id="3091070278-7">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·4071866407564ff4db5925d716ae99558027766fb5877b905383ad4036fa3a34·...·]-5">]</span><span·class="gp·unselectable">577 </span><span·class="p"·data-group-id="6797376224-5">[</span><span·class="p"·data-group-id="6797376224-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="6797376224-7">[</span><span·class="p"·data-group-id="6797376224-7">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·3b34e7eb6da5bf89b9980bc9005898884276a1099a76c2ff68dae7715d13b151·...·]-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="3091070278-8">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3091070278-9">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="309[·...·truncated·by·diffoscope;·len:·139,·SHA:·88db6d6de89d1f8d490fe09aa8d7d9a7e7c657f2b298d2ac2923df7deda5e5f6·...·]-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="6797376224-8">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6797376224-9">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="679[·...·truncated·by·diffoscope;·len:·139,·SHA:·cb66a128d5876473ea0e740d99df73f79091f095e9e7367ba0f32e6b98da7b85·...·]-8">)</span><span·class="p">.</span><span·class="w">
579 </span><span·class="p"·data-group-id="3091070278-10">[</span><span·class="p"·data-group-id="3091070278-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="3091070278-12">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·e55e2d5f58d44fad924f1682021c7f35faa368b060d12c359341d200fd83093c·...·]-10">]</span><span·class="gp·unselectable">579 </span><span·class="p"·data-group-id="6797376224-10">[</span><span·class="p"·data-group-id="6797376224-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="6797376224-12">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·4ad8077b3d0359b0dba59bb921ddd67961b2dbb416216502da851c835f3007cb·...·]-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="3091070278-13">(</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3091070278-14">[</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="3[·...·truncated·by·diffoscope;·len:·142,·SHA:·f70af982c25e73360233c280d8cc17f132ae51088f7d17a55c7038121e25c394·...·]-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="6797376224-13">(</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6797376224-14">[</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="6[·...·truncated·by·diffoscope;·len:·142,·SHA:·7cc25cf2bbbdd4b74a1ebb03ebc4ed7a011dd4687a776b69b10c9746abf185c2·...·]-13">)</span><span·class="p">.</span><span·class="w">
581 </span><span·class="p"·data-group-id="3091070278-15">[</span><span·class="p"·data-group-id="3091070278-16">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="3091070278-17">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·510,·SHA:·7ece3e8026450db9344653bb7a7de5221fbee467b9d81aefe755e44009d5d2de·...·]-15">]</span></code></pre>581 </span><span·class="p"·data-group-id="6797376224-15">[</span><span·class="p"·data-group-id="6797376224-16">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="6797376224-17">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·510,·SHA:·c5f9b3fb3057bf41673c8bb081b744f2a333adb94113b94663d31da4306b157d·...·]-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="3398484387-1">(</span><span·class="p"·data-group-id="3398484387-2">[</span><span·class="p"·data-group-id="3398484387-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:·3f4a5bd2f3fdf436503b0b4055ac05005c0286e58810b9f0fcd15c8e15966c21·...·]-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="3226890109-1">(</span><span·class="p"·data-group-id="3226890109-2">[</span><span·class="p"·data-group-id="3226890109-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:·ce391281824cd4033397d8533c32b4238520fc19f969f2333779fa7a6f10dd56·...·]-1">)</span><span·class="p">.</span><span·class="w">
608 </span><span·class="p"·data-group-id="3398484387-5">[</span><span·class="p"·data-group-id="3398484387-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="3398484387-6">}</span><span·class="p">,</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·190,·SHA:·fb0b634fa28cec57749a44569446353678c4c4964402b9ac14133d6906aa787e·...·]-5">]</span><span·class="gp·unselectable">608 </span><span·class="p"·data-group-id="3226890109-5">[</span><span·class="p"·data-group-id="3226890109-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="3226890109-6">}</span><span·class="p">,</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·190,·SHA:·ae91b37b42d6e92796fe1f1b1b1c9b778836b530b12a869211eb08bfd7f27e69·...·]-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="3398484387-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="3398484387-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="3226890109-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="3226890109-8">)</span><span·class="p">.</span><span·class="w">
610 </span><span·class="p"·data-group-id="3398484387-9">[</span><span·class="p"·data-group-id="3398484387-10">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3398484387-10">}</span><span·class="p"·data-group-id="3398484387-9">]</span></code></pre>610 </span><span·class="p"·data-group-id="3226890109-9">[</span><span·class="p"·data-group-id="3226890109-10">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3226890109-10">}</span><span·class="p"·data-group-id="3226890109-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="7894135547-1">(</span><span·class="p"·data-group-id="7894135547-2">[</span><span·class="p"·data-group-id="7894135547-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:·4ed76e1261b9c26d92efc9f9436fa224a299858b67cdb8ae2f36c08b5ac14e41·...·]-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="9863166754-1">(</span><span·class="p"·data-group-id="9863166754-2">[</span><span·class="p"·data-group-id="9863166754-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:·39e7c9144d8d0289171197b95d1ce578372d336214d39d280607bc8f5b079d0b·...·]-1">)</span><span·class="p">.</span><span·class="w">
639 </span><span·class="p"·data-group-id="7894135547-5">[</span><span·class="p"·data-group-id="7894135547-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7894135547-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·279747ca907c474935a42de0a6f66da2b24dcde29da3f3aad006b83038caaf72·...·]-5">]</span><span·class="gp·unselectable">639 </span><span·class="p"·data-group-id="9863166754-5">[</span><span·class="p"·data-group-id="9863166754-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="9863166754-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·7e9d9e61c71ccfd431d073374d38d9fd0bbe6466c8ff117feeffaa0b971df5f0·...·]-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="7894135547-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="7894135547-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="9863166754-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="9863166754-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="7894135547-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="7894135547-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="9863166754-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="9863166754-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-15.2.7/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-15.2.7/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="8666813023-1">(</span><span·class="p"·data-group-id="8666813023-2">[</span><span·class="p"·data-group-id="8666813023-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:·eef15dad329535a68eb7e506d23055028b1bcad9cb62bd0266634e46efd163d2·...·]-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="1902154800-1">(</span><span·class="p"·data-group-id="1902154800-2">[</span><span·class="p"·data-group-id="1902154800-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:·8dedae069fa5c370b210403a9ea6fc54f218d1e7051651d2a5d08488f9a771e1·...·]-1">)</span><span·class="p">.</span><span·class="w">
669 </span><span·class="p"·data-group-id="8666813023-5">[</span><span·class="p"·data-group-id="8666813023-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8666813023-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·0a36265c79f3618ba50f63c41cbf526a39ba119eef07bd2781856939ef29742b·...·]-5">]</span><span·class="gp·unselectable">669 </span><span·class="p"·data-group-id="1902154800-5">[</span><span·class="p"·data-group-id="1902154800-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1902154800-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·393d29ad90a6604a3b4d106e8e2cbdd71d98fcd065206af8e28f3dd036a55383·...·]-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="8666813023-8">(</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="8666813023-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="1902154800-8">(</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="1902154800-8">)</span><span·class="p">.</span><span·class="w">
671 </span><span·class="p"·data-group-id="8666813023-9">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="8666813023-9">]</span></code></pre>671 </span><span·class="p"·data-group-id="1902154800-9">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="1902154800-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">
677 ······<i·class="ri-link-m"·aria-hidden="true"></i>677 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 699, 18 lines modifiedOffset 699, 18 lines modified
Max diff block lines reached; 82511/126991 bytes (64.97%) of diff not shown.
657 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/ordsets.html
    
Offset 1044, 15 lines modifiedOffset 1044, 15 lines modified
1044 ······<p·class="built-using">1044 ······<p·class="built-using">
1045 ········Built·using1045 ········Built·using
1046 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1046 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1047 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1047 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1048 ······</p>1048 ······</p>
1049 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1049 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1050 ····</footer>1050 ····</footer>
1051 ··</div>1051 ··</div>
1052 </main>1052 </main>
1053 </div>1053 </div>
1054 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1054 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1055 ··<script>1055 ··<script>
1056 ··let·initialized·=·false;1056 ··let·initialized·=·false;
704 B
html2text {}
Max HTML report size reached
91.7 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="4121878035-1">(</span><span·class="ss">my_SUITE</span><span·class="p"·data-group-id="4121878035-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="1896867066-1">(</span><span·class="ss">my_SUITE</span><span·class="p"·data-group-id="1896867066-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="4121878035-2">(</span><span·class="ss">ct_suite</span><span·class="p"·data-group-id="4121878035-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="1896867066-2">(</span><span·class="ss">ct_suite</span><span·class="p"·data-group-id="1896867066-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="4121878035-3">(</span><span·class="p"·data-group-id="4121878035-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:·eecf98fd75348bd080e0f95ac762b6b7a916c89e432abe688952c6f4776f1a20·...·]-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="1896867066-3">(</span><span·class="p"·data-group-id="1896867066-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:·316bf7abda7f43bba6f2794fc96d4dbc901fec8311dccc0d8fa0f665e1da1102·...·]-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="4121878035-5">(</span><span·class="p"·data-group-id="4121878035-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:·257c6cfe281e20eca9843e0d04afbe7a6a1c48b278c9512826e534e1ff18012b·...·]-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="1896867066-5">(</span><span·class="p"·data-group-id="1896867066-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:·e935a5b022b57aae173523ebef6121d737b7ce087e5f8151fb9bfb5fb1f1260c·...·]-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="4121878035-7">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="4121878035-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="1896867066-7">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="1896867066-7">)</span><span·class="p">.</span><span·class="w">
  
170 </span><span·class="nf">groups</span><span·class="p"·data-group-id="4121878035-8">(</span><span·class="p"·data-group-id="4121878035-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="1896867066-8">(</span><span·class="p"·data-group-id="1896867066-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
171 ····</span><span·class="p"·data-group-id="4121878035-9">[</span><span·class="p"·data-group-id="4121878035-10">{</span><span·class="ss">quick</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4121878035-11">[</span><span·class="ss">parallel</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·f917b30303dfb159a6a3a257160ba0c1b997c7cb30d17815b7a982ce72a2b548·...·]-11">]</span><span·class="p">,</span><span·class="w">171 ····</span><span·class="p"·data-group-id="1896867066-9">[</span><span·class="p"·data-group-id="1896867066-10">{</span><span·class="ss">quick</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1896867066-11">[</span><span·class="ss">parallel</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·c8d92aac482f8fe37dbca8c4e283db9981796fdd54a81fda0dc346e0f044f6d0·...·]-11">]</span><span·class="p">,</span><span·class="w">
172 ········</span><span·class="p"·data-group-id="4121878035-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:·3346bd462f9d0e70f744114f71c50c911c4135de5d02809902927499dc9c845c·...·]-9">]</span><span·class="p">.</span><span·class="w">172 ········</span><span·class="p"·data-group-id="1896867066-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:·4993932504d559eb7df823d1239b6eec989c6b544a34cd6ebc8465222ffc5fcf·...·]-9">]</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">all</span><span·class="p"·data-group-id="4121878035-13">(</span><span·class="p"·data-group-id="4121878035-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="1896867066-13">(</span><span·class="p"·data-group-id="1896867066-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="p"·data-group-id="4121878035-14">[</span><span·class="p"·data-group-id="4121878035-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="4121878035-15">}</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·c9b2c06518aff4bc5e255f84e3cf4e903401d8343722753f3cd1e0e42fed1877·...·]-14">]</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="p"·data-group-id="1896867066-14">[</span><span·class="p"·data-group-id="1896867066-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="1896867066-15">}</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·29f25c4c10bfe359d43b95d2467908002b5da7ceca543f74a1459bc995aedcf8·...·]-14">]</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">basic</span><span·class="p"·data-group-id="4121878035-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="4121878035-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="4121878035-17[·...·truncated·by·diffoscope;·len:·80,·SHA:·216f93e70065d82b8e157f2d4bf697e217a115a8a22ac1a2e846d0472ebebe1a·...·]-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="1896867066-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1896867066-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="1896867066-17[·...·truncated·by·diffoscope;·len:·80,·SHA:·c6f8bc285ead9d94f3728707332a029709343e848cdfef820e0927006e3aa100·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
176 ····</span><span·class="p"·data-group-id="4121878035-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="41[·...·truncated·by·diffoscope;·len:·242,·SHA:·50632cabf78974eec4451b07f36049566d91f04bee30421c661710d7b63d6dfe·...·]-19">)</span><span·class="p">,</span><span·class="w">176 ····</span><span·class="p"·data-group-id="1896867066-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="18[·...·truncated·by·diffoscope;·len:·242,·SHA:·a82b9208921eb4fbbe558e1ad18beaf94fdfdd8ec1a8221aac6b7cc5b4dd3f85·...·]-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="4121878035-20">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="4121878035-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="1896867066-20">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="1896867066-20">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">args</span><span·class="p"·data-group-id="4121878035-21">(</span><span·class="n">Config</span><span·class="p"·data-group-id="4121878035-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="4121878035-22[·...·truncated·by·diffoscope;·len:·80,·SHA:·216f93e70065d82b8e157f2d4bf697e217a115a8a22ac1a2e846d0472ebebe1a·...·]-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="1896867066-21">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1896867066-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="1896867066-22[·...·truncated·by·diffoscope;·len:·80,·SHA:·c6f8bc285ead9d94f3728707332a029709343e848cdfef820e0927006e3aa100·...·]-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="4121878035-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="41[·...·truncated·by·diffoscope;·len:·482,·SHA:·3c4f22a0c2d3d7e0d27f7d8dd1217449fd23cf9808e045b59bd3351f37e8d4e0·...·]-24">)</span><span·class="p">,</span><span·class="w">180 ····</span><span·class="p"·data-group-id="1896867066-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="18[·...·truncated·by·diffoscope;·len:·482,·SHA:·58dff6e35153e405d974f8d7c0dfedcaf6cf6e394941871c6f71701ae13dedd4·...·]-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="4121878035-26">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="4121878035-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="1896867066-26">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="1896867066-26">)</span><span·class="p">.</span><span·class="w">
  
182 </span><span·class="nf">named</span><span·class="p"·data-group-id="4121878035-27">(</span><span·class="n">Config</span><span·class="p"·data-group-id="4121878035-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="4121878035-28[·...·truncated·by·diffoscope;·len:·80,·SHA:·216f93e70065d82b8e157f2d4bf697e217a115a8a22ac1a2e846d0472ebebe1a·...·]-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="1896867066-27">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1896867066-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="1896867066-28[·...·truncated·by·diffoscope;·len:·80,·SHA:·c6f8bc285ead9d94f3728707332a029709343e848cdfef820e0927006e3aa100·...·]-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="4121878035-29">(</span><span·class="ss">named_test</span><span·class="p"·data-group-id="4121878035-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="1896867066-29">(</span><span·class="ss">named_test</span><span·class="p"·data-group-id="1896867066-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="4121878035-30">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="4121878035-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="1896867066-30">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="1896867066-30">)</span><span·class="p">.</span><span·class="w">
  
186 </span><span·class="nf">start_node_impl</span><span·class="p"·data-group-id="4121878035-31">(</span><span·class="n">ActualTestCase</span><span·class="p"·data-group-id="4121878035-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="1896867066-31">(</span><span·class="n">ActualTestCase</span><span·class="p"·data-group-id="1896867066-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
187 ····</span><span·class="p"·data-group-id="4121878035-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="4121878035-32">}</span><sp[·...·truncated·by·diffoscope;·len:·635,·SHA:·87f74ce4e4919b5f89fd588aed818a0990906a45b34f0076f51c784e44791f8a·...·]-33">)</span><span·class="p">,</span><span·class="w">187 ····</span><span·class="p"·data-group-id="1896867066-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="1896867066-32">}</span><sp[·...·truncated·by·diffoscope;·len:·635,·SHA:·029b85c993382c338b31da11f7a12ae174570821b35032681ff17fa2acbcbdf0·...·]-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="4121878035-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:·122f9f9015dbf9c9ee68aad6fc15d829f05ee05db8a61f6645bfda0ff2274b9f·...·]-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="1896867066-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:·a6c3a30438a564478b45621f7cf1cc19ec1cc6ee3f238c6b8153b0444acb429a·...·]-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="4121878035-38">(</span><span·class="n">Config</span><span·class="p"·data-group-id="4121878035-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="4121878035-39[·...·truncated·by·diffoscope;·len:·80,·SHA:·216f93e70065d82b8e157f2d4bf697e217a115a8a22ac1a2e846d0472ebebe1a·...·]-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="1896867066-38">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1896867066-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="1896867066-39[·...·truncated·by·diffoscope;·len:·80,·SHA:·c6f8bc285ead9d94f3728707332a029709343e848cdfef820e0927006e3aa100·...·]-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="4121878035-40">(</span><span·class="p"·data-group-id="4121878035-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="1896867066-40">(</span><span·class="p"·data-group-id="1896867066-40">)</span><span·class="p">,</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="4121878035-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="4121878035-41">}</span><sp[·...·truncated·by·diffoscope;·len:·458,·SHA:·e9a436c6fa5b1871594668a5d5e1d6e3af4f22043586498c59f392c58a9c0cfd·...·]-42">)</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="p"·data-group-id="1896867066-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="1896867066-41">}</span><sp[·...·truncated·by·diffoscope;·len:·458,·SHA:·bc1db2d1afbb5d67901469b0c3092d32941e18f25bc1251df44520d710c8f97a·...·]-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="4121878035-44">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="4121878035-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="1896867066-44">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="1896867066-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="4121878035-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="4121878035-45">}</span><s[·...·truncated·by·diffoscope;·len:·758,·SHA:·f4f384b2e6a04b652880d78b30dc71fd82da52faeec42bc2fcdb6f23c0edfac8·...·]-46">)</span><span·class="p">,</span><span·class="w">196 ····</span><span·class="p"·data-group-id="1896867066-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="1896867066-45">}</span><s[·...·truncated·by·diffoscope;·len:·758,·SHA:·6543313a9afbcd416ee2f3a068055d4f197befe6b9cb636120e2b8ba0bbb2823·...·]-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="4121878035-49">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="4121878035-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"·tra[·...·truncated·by·diffoscope;·len:·409,·SHA:·6291c6b18a87b2a9aa27f19d0297362129ea3dff384b7f655b2dffb0c4fd04be·...·]9-2">)</span><span·class="w">·</span><span·class="p">-&gt;</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="1896867066-49">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="1896867066-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"·tra[·...·truncated·by·diffoscope;·len:·409,·SHA:·b8db6b03c05719e9fa16d250728916c9c32a5f630f6d13e582fd4ff6816630fa·...·]9-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="4533427409-3">[</span><span·class="o">?</span><span·class="n">CT_PEER</span><span·class="p"·data-group-id="4533427409-4">(</span><span·class="p"·data-group-id="4533427409-5">#{</span><span·class="ss">wait_boot</span><span·class="w">·</span><span·class="p">[·...·truncated·by·diffoscope;·len:·444,·SHA:·c928d5929a21a1177616946d4d77664c593468fb3c568fdbea0196763f6c5b38·...·]9-4">)</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="7498195169-3">[</span><span·class="o">?</span><span·class="n">CT_PEER</span><span·class="p"·data-group-id="7498195169-4">(</span><span·class="p"·data-group-id="7498195169-5">#{</span><span·class="ss">wait_boot</span><span·class="w">·</span><span·class="p">[·...·truncated·by·diffoscope;·len:·444,·SHA:·dde74a221a0761d33289569c7ffd95be534bbfcc3b837465777e5cb120c619f0·...·]9-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="4533427409-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="4533427409-8">)</span><span·class="p"·data-group-id="4533427409-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="7498195169-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="7498195169-8">)</span><span·class="p"·data-group-id="7498195169-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="4533427409-9">[</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="4533427409-10">{</span><span·class="ss">tag</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4533427409-11">{</sp[·...·truncated·by·diffoscope;·len:·278,·SHA:·6f403a1b8f898ecb5e399d60ccca0c988a06009a03c1224865da0431df6aa961·...·]9-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="7498195169-9">[</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="7498195169-10">{</span><span·class="ss">tag</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7498195169-11">{</sp[·...·truncated·by·diffoscope;·len:·278,·SHA:·305d1eb4e1348eeda5a7727f2bdeabc40b81e534b7e3f2480a27ca0d1098b647·...·]9-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="4533427409-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="4533427409-12">}</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·66,·SHA:·83d3803fc19225dd3d5e8cb28995e2ca149d25ea8ab3ac9bbc32b1bd68029c67·...·]9-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="7498195169-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="7498195169-12">}</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·66,·SHA:·08c054e1321cee94795732eaecdcb0a4cb7c2331e12ac6d695c7379e033efe68·...·]9-9">]</span><span·class="p">,</span><span·class="w">
203 ····</span><span·class="p"·data-group-id="4533427409-13">[</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="4533427409-14">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="4533427409-14">)</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·408,·SHA:·8a1b29e51454469261dcfce80f8b0162be699d5552c4f2423950feb69edd5640·...·]9-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="7498195169-13">[</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="7498195169-14">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="7498195169-14">)</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·408,·SHA:·6782a9a1d3919a97fcbe662d6fce4c517d084fd47ff92844499de26b6689afd1·...·]9-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="9246193982-1">(</span><span·class="s">&quot;ssh&quot;</span><span·class="p"·data-group-id="9246193982-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="5166546591-1">(</span><span·class="s">&quot;ssh&quot;</span><span·class="p"·data-group-id="5166546591-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="9246193982-2">(</span><span·class="p"·data-group-id="9246193982-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="9246193982-4">{</span><span·class="n">Ssh</sp[·...·truncated·by·diffoscope;·len:·331,·SHA:·919ab592dd3c20ea9272f31600c1d8849de979c770a5b91924b7c3bc3a767b96·...·]-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="5166546591-2">(</span><span·class="p"·data-group-id="5166546591-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="5166546591-4">{</span><span·class="n">Ssh</sp[·...·truncated·by·diffoscope;·len:·331,·SHA:·ac8a2028aa16763b8c73401d416b0591316ea3fec2a21b620e7c8f6e280805c1·...·]-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="9246193982-3">}</span><span·class="p"·data-group-id="9246193982-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="5166546591-3">}</span><span·class="p"·data-group-id="5166546591-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="2467092163-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2467092163-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="2467092163-2">([·...·truncated·by·diffoscope;·len:·77,·SHA:·a9fa09c39ae0720831f49b7a575a52ef8ad8f5588943041c2ae6cf44f14f9f0e·...·]-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="5315335735-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="5315335735-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="5315335735-2">([·...·truncated·by·diffoscope;·len:·77,·SHA:·b631bdd98c7de5121bacb7f8d77d4f732bc440b02e4ab916cc90738f1abe59ae·...·]-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="2467092163-3">(</span><span·class="s">&quot;docker&quot;</span><span·class="p"·data-group-id="2467092163-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="5315335735-3">(</span><span·class="s">&quot;docker&quot;</span><span·class="p"·data-group-id="5315335735-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="2467092163-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="2467092163-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="5315335735-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="5315335735-4">)</span><span·class="p">,</span><span·class="w">
211 ····</span><span·class="nf">build_release</span><span·class="p"·data-group-id="2467092163-5">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="2467092163-5">)</span><span·class="p">,</span><span·class="w">211 ····</span><span·class="nf">build_release</span><span·class="p"·data-group-id="5315335735-5">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="5315335735-5">)</span><span·class="p">,</span><span·class="w">
212 ····</span><span·class="nf">build_image</span><span·class="p"·data-group-id="2467092163-6">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="2467092163-6">)</span><span·class="p">,</span><span·class="w">212 ····</span><span·class="nf">build_image</span><span·class="p"·data-group-id="5315335735-6">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="5315335735-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="2467092163-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="2467092163-7">}</span><span[·...·truncated·by·diffoscope;·len:·247,·SHA:·f58a1822b1d93979f9be61f4d4aef2787041d280008562204f9ef562b2e2e94e·...·]-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="5315335735-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="5315335735-7">}</span><span[·...·truncated·by·diffoscope;·len:·247,·SHA:·c2a6f2d8957866ee0039d1dd7c07b740bd004ac70390c1e35255d5b066594a92·...·]-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="2467092163-10">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2467092163-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:·4a99532c063fd378e8388ef22d0a9c3e0e059b861e7c76a79d0c3248b2a77f1b·...·]-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="5315335735-10">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315335735-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:·510fb741480483de111b18f22a52141e108c8c0049238bceeb337ea06ffffffb·...·]-8">)</span><span·class="p">,</span><span·class="w">
217 ····</span><span·class="p"·data-group-id="2467092163-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="2467092163-12">}</span><[·...·truncated·by·diffoscope;·len:·252,·SHA:·0d3c2069958d7665a304e6c08b28b527549017f7cdf6ebfffb487c20b6c6bff2·...·]-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="5315335735-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="5315335735-12">}</span><[·...·truncated·by·diffoscope;·len:·252,·SHA:·7b11a0f1280007f504fc67f5a9ae87dbc36fd18cdc9c42d63d1e7baf95a09c4a·...·]-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="2467092163-15">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2467092163-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:·9ad9401e2c731f1d0d56f3566c79fd198d0f11fb281de4fc018c6969a9b17adc·...·]-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="5315335735-15">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315335735-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:·32df6c5b170116d35e7e0b378373b3b33c779c4e71df319c9d0ce17831cb5de4·...·]-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="2467092163-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="2467092163-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·510,·SHA:·1a7b2d157c1e5dfa95fe43ef0ca3a1c815a556476e62fd6747dda5c047cd9917·...·]-18">)</span><span·class="p">,</span><span·class="w">221 ····</span><span·class="p"·data-group-id="5315335735-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="5315335735-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·510,·SHA:·4e4266148b49eb44d17a7a9a277fb91c76723c558c8435d9f1de333a0d07684d·...·]-18">)</span><span·class="p">,</span><span·class="w">
222 ····</span><span·class="p"·data-group-id="2467092163-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="2467092163-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·372,·SHA:·f7d11992954849b15c6da5ebc4c8c123d5501b5d2cbd378a62080b2c55c5db10·...·]-21">)</span><span·class="p">,</span><span·class="w">222 ····</span><span·class="p"·data-group-id="5315335735-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="5315335735-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·372,·SHA:·223e9bbc445eede4b573aceeaadce53d725fd40139203e45ee69537f8e411378·...·]-21">)</span><span·class="p">,</span><span·class="w">
223 ····</span><span·class="p"·data-group-id="2467092163-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="2467092163-22">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·349,·SHA:·754caa2b70820dfa78a48d0637811bd984a7b3dec92a5ef44747341dce9991c0·...·]-23">)</span><span·class="p">,</span><span·class="w">223 ····</span><span·class="p"·data-group-id="5315335735-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="5315335735-22">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·349,·SHA:·f954e8fdcda92a4cf3ca91d7a238f5567aeab8a55f20dd9f4e8577ebd0c7e526·...·]-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="2467092163-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:·183e5e9ac49b393a81f02e839d1398652db222c6ac22c8baeadebff3b0341539·...·]-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="5315335735-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:·9996c7d041dcab54b8a23ca78104ee4bf8b65a3bed2e97a1cd8846cc44ae294b·...·]-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="2467092163-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:·fcbc8a6c0a6c31c718ae82682177730506954c35f2815b29798c27db3b0206b4·...·]-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="5315335735-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:·55e5d8a13c8d03038c0a149d624e390eab5d9936bb8e37801ba12e99adf3f605·...·]-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="2467092163-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:·e7a0b95b8a08017a2a94dcdc351018dc7beba2e0bd3539a239ef4c1659647f78·...·]-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="5315335735-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:·29ab93ab60161b01407a15ba6d618d479aa6fc5122a7838b5480aa5eb3822d29·...·]-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="2467092163-32">[</span><span·class="n">Node</span><span·class="p"·data-group-id="2467092163-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:·4714f4fd5ffa737778d91cf07a0ca107eb11a5bf195ad1d2bd766e3e113af46b·...·]-33">)</span><span·class="p">,</span><span·class="w">230 ····</span><span·class="p"·data-group-id="5315335735-32">[</span><span·class="n">Node</span><span·class="p"·data-group-id="5315335735-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:·65406e85058082a736e5ae6d9614ec8d08f60204ff891be2a8a9d1578067c952·...·]-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="2467092163-35">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="2467092163-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="5315335735-35">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="5315335735-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="2467092163-36">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="2467092163-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="5315335735-36">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="5315335735-36">)</span><span·class="p">.</span><span·class="w">
  
234 </span><span·class="nf">build_release</span><span·class="p"·data-group-id="2467092163-37">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="2467092163-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="5315335735-37">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="5315335735-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="2467092163-38">(</span><span·class="ss">sasl</span><span·class="p"·data-group-id="2467092163-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="5315335735-38">(</span><span·class="ss">sasl</span><span·class="p"·data-group-id="5315335735-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="2467092163-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="2467092163-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="5315335735-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="5315335735-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="2467092163-40">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2467092163-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:·aa62697d79c0365a71d68a2c3daa503676b1de861e0a2dfa92e9f9d85f110efc·...·]-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="5315335735-40">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315335735-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:·854146a4fac4f2aa2ca1e5750010ab2906fcc26d75d6d9fd5b757f619978f861·...·]-41">}</span><span·class="p">,</span><span·class="w">
240 ········</span><span·class="p"·data-group-id="2467092163-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="2467092163-43">(</span><span·class="s[·...·truncated·by·diffoscope;·len:·112,·SHA:·2a5eea10e1d7aeb6880926aab173138d0fae5f4924a1a07b1cb99d774cabf8f9·...·]-42">}</span><span·class="p">,</span><span·class="w">240 ········</span><span·class="p"·data-group-id="5315335735-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="5315335735-43">(</span><span·class="s[·...·truncated·by·diffoscope;·len:·112,·SHA:·90dde478789e4bf914894c9cb1b2b0dfe1de8ebf0cc893522c32abcd6f92b9e0·...·]-42">}</span><span·class="p">,</span><span·class="w">
241 ········</span><span·class="p"·data-group-id="2467092163-44">[</span><span·class="p"·data-group-id="2467092163-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="2467092163-46">{</span[·...·truncated·by·diffoscope;·len:·691,·SHA:·ea97504c024bdc0d3f9ce4eee9d1cf0c4e02c815e7b6fee49f32574a4b21eb52·...·]-45">}</span><span·class="w">241 ········</span><span·class="p"·data-group-id="5315335735-44">[</span><span·class="p"·data-group-id="5315335735-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="5315335735-46">{</span[·...·truncated·by·diffoscope;·len:·691,·SHA:·6e13aeccb57280416319db6fb3b13393f6deb3592cd2ff563c103d2d2ec9dff3·...·]-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="2467092163-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="2467092163-48">]</[·...·truncated·by·diffoscope;·len:·100,·SHA:·da5aa9de4f4ae7246b0a7988038116298b56579f272bebe4ccfafdefd14df7d3·...·]-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="5315335735-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="5315335735-48">]</[·...·truncated·by·diffoscope;·len:·100,·SHA:·0f6a57aed0cc56f30a297150acc7a25c418b8ac5aeb2412fa72b97084dcfcf8e·...·]-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="2467092163-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="2467092163-50">(</span><span·class="nc">lists</span><span·class="p">:</span><span·clas[·...·truncated·by·diffoscope;·len:·62,·SHA:·ae57a05558ba6f58aef3e8c3391827a5a2c60936024295640e26f9f856b55d22·...·]-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="5315335735-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="5315335735-50">(</span><span·class="nc">lists</span><span·class="p">:</span><span·clas[·...·truncated·by·diffoscope;·len:·62,·SHA:·90bba615284bf328c18e6f38aa30f69345e57813434e71ee370524b9ee946680·...·]-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="2467092163-52">(</span><span·class="s">&quot;~tp.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2467092163-53">[</span><span·class="n">Release</span><span·class="p"·data-group-id="2467092163-53">]</span><span·cl[·...·truncated·by·diffoscope;·len:·195,·SHA:·5768161e4ba66e40a1a201ad1143771e143cfe6fd9046f9c8950cbb9c1c829e0·...·]-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="5315335735-52">(</span><span·class="s">&quot;~tp.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315335735-53">[</span><span·class="n">Release</span><span·class="p"·data-group-id="5315335735-53">]</span><span·cl[·...·truncated·by·diffoscope;·len:·195,·SHA:·91b6a1c5048ae1c7e6e392699a520390693f7c110857877967b36144f42ff2a0·...·]-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="2467092163-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="2467092163-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="5315335735-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="5315335735-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="2467092163-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="2467092163-56">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·292,·SHA:·251db5de2b285e2cb71f460007758bab866afb42b316ad0bda022e61e75ccf8d·...·]-57">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">247 ····</span><span·class="p"·data-group-id="5315335735-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="5315335735-56">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·292,·SHA:·5fb8bd6e7bf9f6f2ed2e2286050f91c9f8f570188c97b408f33dbba231433c84·...·]-57">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">
248 ········</span><span·class="p"·data-group-id="2467092163-58">[</span><span·class="ss">silent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2467092163-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:·d920c9e2ae737a47ba709441b2c688d9a23bee62272d4db8f526aabab31a4ce6·...·]-57">)</span><span·class="p">,</span><span·class="w">248 ········</span><span·class="p"·data-group-id="5315335735-58">[</span><span·class="ss">silent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315335735-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:·dc2ac274a069976f3e64e55602b873c2874e677a61c95d3bddecac8c63d367d1·...·]-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="2467092163-60">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2467092163-61">[</span><span·class="p"·data-group-id="2467092163-62">{</span><span·class="ss">erts</span><span·class="p[·...·truncated·by·diffoscope;·len:·375,·SHA:·17740ca95a89399909b0eed7af4bedf9115311077979d7ab039b8c9493645059·...·]-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="5315335735-60">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315335735-61">[</span><span·class="p"·data-group-id="5315335735-62">{</span><span·class="ss">erts</span><span·class="p[·...·truncated·by·diffoscope;·len:·375,·SHA:·aad2dd17a823bc1f3fdcd8abae92f3afaab4280adc02638019c1c6a53773b1ba·...·]-60">)</span><span·class="p">.</span><span·class="w">
  
251 </span><span·class="nf">build_image</span><span·class="p"·data-group-id="2467092163-64">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="2467092163-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="5315335735-64">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="5315335735-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="2467092163-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="2467092163-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="5315335735-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="5315335735-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="2467092163-66">(</span><span·class="ss">version</span><span·class="p"·data-group-id="2467092163-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="5315335735-66">(</span><span·class="ss">version</span><span·class="p"·data-group-id="5315335735-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">
268 ····</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="2467092163-67">(</span><span·class="n">BuildScript</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dockerfile</span><span·class="p"·data-group-id="2467092163-67">)</span><span·class="p">,</span><span·class="w">268 ····</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="5315335735-67">(</span><span·class="n">BuildScript</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dockerfile</span><span·class="p"·data-group-id="5315335735-67">)</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-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>500 <p>Copyright·©·1996-2025·<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-6.2.2/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="6079959230-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="6079959230-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="1851489732-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="1851489732-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="6079959230-2">(</span><span·class="p"·data-group-id="6079959230-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6079959230-3">]</span><span·class="p"·data-group-id="6079959230-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="6079959230-4">(</span><span·class="p"·data-group-id="6079959230-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="6079959230-5">]</span><span·class="p"·data-group-id="6079959230-4">)</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="1851489732-2">(</span><span·class="p"·data-group-id="1851489732-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1851489732-3">]</span><span·class="p"·data-group-id="1851489732-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="1851489732-4">(</span><span·class="p"·data-group-id="1851489732-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="1851489732-5">]</span><span·class="p"·data-group-id="1851489732-4">)</span><span·class="p">.</span><span·class="w">
  
979 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="6079959230-6">(</span><span·class="p"·data-group-id="6079959230-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="1851489732-6">(</span><span·class="p"·data-group-id="1851489732-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="6079959230-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="6079959230-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·76709e852cd8b8bd0f21e9f266238fd1927d7be7ac420071d379949af47ad88f·...·]-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="1851489732-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="1851489732-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·8ef4ca24c7fa19769e8707121d82118a51766f5b648785bb341a9b7153b2dd5e·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
981 </span><span·class="nf">init</span><span·class="p"·data-group-id="6079959230-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="6079959230-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="1851489732-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="1851489732-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="6079959230-11">(</span><span·class="p"·data-group-id="6079959230-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="1851489732-11">(</span><span·class="p"·data-group-id="1851489732-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="6079959230-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6079959230-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:·02abd095973c0becfb3a346db8087f0e5d22d973f095b16323b767bada4300b7·...·]-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="1851489732-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1851489732-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:·7f012fa01bf86442e60b09b4fbc009dd6c4ead697376b26f6d3547914d7f6351·...·]-12">)</span><span·class="p">;</span><span·class="w">
985 ········</span><span·class="p"·data-group-id="6079959230-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="6079959230-15">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">985 ········</span><span·class="p"·data-group-id="1851489732-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="1851489732-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="6079959230-16">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="6079959230-16">)</span><span·class="w">986 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="1851489732-16">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="1851489732-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="6079959230-17">(</span><span·class="p"·data-group-id="6079959230-17">)</span><span·class="p">.</span><span·class="w">988 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1851489732-17">(</span><span·class="p"·data-group-id="1851489732-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-15.2.7/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-15.2.7/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="2094977676-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="2094977676-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="5210790702-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="5210790702-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="2094977676-2">(</span><span·class="p"·data-group-id="2094977676-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2094977676-3">]</span><span·class="p"·data-group-id="2094977676-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="2094977676-4">(</span><span·class="p"·data-group-id="2094977676-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="2094977676-5">]</span><span·class="p"·data-group-id="2094977676-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="5210790702-2">(</span><span·class="p"·data-group-id="5210790702-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5210790702-3">]</span><span·class="p"·data-group-id="5210790702-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="5210790702-4">(</span><span·class="p"·data-group-id="5210790702-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="5210790702-5">]</span><span·class="p"·data-group-id="5210790702-4">)</span><span·class="p">.</span><span·class="w">
  
1062 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="2094977676-6">(</span><span·class="p"·data-group-id="2094977676-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="5210790702-6">(</span><span·class="p"·data-group-id="5210790702-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="2094977676-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="2094977676-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·69fb68918314dc11d1c73470f8741805dd357c6ee72980f275f4fce27e1e0847·...·]-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="5210790702-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="5210790702-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·f10c01a447dc7c754d38afad46a5e4a085ba0e5c99c2ddd3ff3e16b71e1619e9·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
1064 </span><span·class="nf">init</span><span·class="p"·data-group-id="2094977676-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="2094977676-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="5210790702-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="5210790702-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="2094977676-11">(</span><span·class="p"·data-group-id="2094977676-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="5210790702-11">(</span><span·class="p"·data-group-id="5210790702-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="2094977676-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2094977676-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:·ee42fd9026dbf2ed068e3627e7c36c7691975f4237ce5c9f24ef220319fd625e·...·]-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="5210790702-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5210790702-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:·d1e9e2ece78f0dc8c4a4cd7477246ef483f2288470e4982958d2624c6ef7b928·...·]-12">)</span><span·class="p">;</span><span·class="w">
1068 ········</span><span·class="p"·data-group-id="2094977676-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="2094977676-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="5210790702-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="5210790702-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="2094977676-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="2094977676-17">{</span><span·class="nb">exit</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·f216ffcb083c346fd73ee5ebcad5b2bcd057519e8f97e4c46c01c72060df6b2a·...·]-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="5210790702-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="5210790702-17">{</span><span·class="nb">exit</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·24456cbbed4fdc73a5c08bd05b64c8b6848a8d1afdb8ed320c2ee46e34149c00·...·]-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="2094977676-18">(</span><span·class="p"·data-group-id="2094977676-18">)</span><span·class="p">.</span><span·class="w">1071 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="5210790702-18">(</span><span·class="p"·data-group-id="5210790702-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1953 <p>Copyright·©·1996-2025·<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-6.2.2/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-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),·ListIn·::·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()],·ListOut·::·[<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:term/0">term</a>(),·ListIn·::·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()],·ListOut·::·[<a·href="../../../../erts-15.2.7/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="4255320808-1">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4255320808-2">[</span><span·class="p"·data-group-id="4255320808-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1837,·SHA:·c2346f347c4733650efc4936949b8978269af23ffacfad1a31f9031258288535·...·]-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="3540135255-1">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3540135255-2">[</span><span·class="p"·data-group-id="3540135255-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1837,·SHA:·84bd215887cf1b0a3740c2aeec3a5b5d2773ae0f6e14204f8aa9f5acc1276643·...·]-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="7776931378-1">(</span><span·class="p"·data-group-id="7776931378-2">[</span><span·class="p"·data-group-id="7776931378-3">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7776931378-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="7776931378-4">]</span><span·class="p"·data-group-id="7776931378-3">}</span><span·class="p"·data-group-id="7776931378-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7776931378-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="7776931378-5">]</span><span·class="p"·data-group-id="7776931378-1">)</span><span·class="w"> 
617 </span><span·class="nf">expand</span><span·class="p"·data-group-id="7776931378-6">(</span><span·class="p"·data-group-id="7776931378-7">[</span><span·class="p"·data-group-id="7776931378-8">{</span><span·class="p"·data-group-id="7776931378-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="7776931378-9">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7776931378-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="7776931378-10">]</span><span·class="p"·data-group-id="7776931378-8">}</span><span·class="p"·data-group-id="7776931378-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7776931378-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="7776931378-11">]</span><span·class="p"·data-group-id="7776931378-6">)</span><span·class="w"> 
618 </span><span·class="nf">expand</span><span·class="p"·data-group-id="7776931378-12">(</span><span·class="p"·data-group-id="7776931378-13">[</span><span·class="p"·data-group-id="7776931378-14">{</span><span·class="p"·data-group-id="7776931378-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="7776931378-15">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7776931378-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="7776931378-16">]</span><span·class="p"·data-group-id="7776931378-14">}</span><span·class="p"·data-group-id="7776931378-13">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7776931378-17">[</span><span·class="ss">fie</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7776931378-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="7776931378-18">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">fum</span><span·class="p"·data-group-id="7776931378-17">]</span><span·class="p"·data-group-id="7776931378-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="0696060516-1">(</span><span·class="p"·data-group-id="0696060516-2">[</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·1333,·SHA:·7c5647eba580479783fbbd09b80ff3cd9a533124b983d541c7258b86481dec80·...·]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="38[·...·truncated·by·diffoscope;·len:·915,·SHA:·af1a1c60da917c61423fc7997e5f03dbb1a94d0ebd27b62635d2766e2fb9e2de·...·]
 617 </span><span·class="nf">expand</span><span·class="p"·data-group-id="3838248219-6">(</span><span·class="p"·data-group-id="3838248219-7">[</span><span·class="p"·data-group-id="3838248219-8">{</span><span·class="p"·data-group-id="3838248219-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="3838248219-9">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3838248219-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="3838248219-10">]</span><span·class="p"·data-group-id="3838248219-8">}</span><span·class="p"·data-group-id="3838248219-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3838248219-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="3838248219-11">]</span><span·class="p"·data-group-id="3838248219-6">)</span><span·class="w">
 618 </span><span·class="nf">expand</span><span·class="p"·data-group-id="3838248219-12">(</span><span·class="p"·data-group-id="3838248219-13">[</span><span·class="p"·data-group-id="3838248219-14">{</span><span·class="p"·data-group-id="3838248219-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="3838248219-15">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3838248219-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="3838248219-16">]</span><span·class="p"·data-group-id="3838248219-14">}</span><span·class="p"·data-group-id="3838248219-13">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3838248219-17">[</span><span·class="ss">fie</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3838248219-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="3838248219-18">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">fum</span><span·class="p"·data-group-id="3838248219-17">]</span><span·class="p"·data-group-id="3838248219-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="8782399915-1">(</span><span·class="p"·data-group-id="8782399915-2">[</span><span·class="p"·data-group-id="8782399915-3">{</span><span·class="p"·data-group-id="8782399915-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="8782399915-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8782399915-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="8782399915-5">]</span><span·class="p"·data-group-id="8782399915-3">}</span><span·class="p"·data-group-id="8782399915-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8782399915-6">[</span><span·class="p"·data-group-id="8782399915-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="8782399915-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="8782399915-6">]</span><span·class="p"·data-group-id="8782399915-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-15.2.7/doc/html/erlang.html#t:term/0">term</a>()],·Keys·::·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()],·Lists·::·[[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()]],·Rest·::·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()].</pre>992 ···············when·List·::·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()],·Keys·::·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()],·Lists·::·[[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>()]],·Rest·::·[<a·href="../../../../erts-15.2.7/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="3387608612-1">(</span><span·class="p"·data-group-id="3387608612-2">[</span><span·class="p"·data-group-id="3387608612-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="[·...·truncated·by·diffoscope;·len:·3431,·SHA:·6b942d841ced7b8b45a5f19771280eb09dfc103613fbc1b6b45b1dcbb38be268·...·]-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="3034374078-1">(</span><span·class="p"·data-group-id="3034374078-2">[</span><span·class="p"·data-group-id="3034374078-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="[·...·truncated·by·diffoscope;·len:·3431,·SHA:·e0cbfcc0daa074c6d5ea12dcbd8ad02102353bafcfa5082f94470bea59b45d87·...·]-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="7036035838-1">(</span><span·class="p"·data-group-id="7036035838-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7036035838-3">{</span><span·class="ss">b</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1354,·SHA:·ba425c5b397afaf7a3095c44bcc741b01c7518d0b16fca4a1ccd184efc62799c·...·]-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="5890849005-1">(</span><span·class="p"·data-group-id="5890849005-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5890849005-3">{</span><span·class="ss">b</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1354,·SHA:·cc4651d26cf226125e0179968b98496a646104239cfb6746f87773ffebca1780·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1206 <p>Copyright·©·1996-2025·<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-6.2.2/doc/html/qlc.html
Max HTML report size reached
161 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/queue.html
    
Offset 713, 18 lines modifiedOffset 713, 18 lines modified
713 ······<div·class="specs">713 ······<div·class="specs">
  
714 ··········<pre·translate="no"><span·class="attribute">-spec</span>·all(Pred,·Q·::·<a·href="#t:queue/1">queue</a>(Item))·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()·when·Pred·::·fun((Item)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()).</pre>714 ··········<pre·translate="no"><span·class="attribute">-spec</span>·all(Pred,·Q·::·<a·href="#t:queue/1">queue</a>(Item))·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()·when·Pred·::·fun((Item)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()).</pre>
  
715 ······</div>715 ······</div>
  
716 <p>Returns·<code·class="inline">true</code>·if·<code·class="inline">Pred(Item)</code>·returns·<code·class="inline">true</code>·for·all·items·<code·class="inline">Item</code>·in·<code·class="inline">Q</code>,716 <p>Returns·<code·class="inline">true</code>·if·<code·class="inline">Pred(Item)</code>·returns·<code·class="inline">true</code>·for·all·items·<code·class="inline">Item</code>·in·<code·class="inline">Q</code>,
717 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="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="4861909826-1">(</span><span·class="p"·data-group-id="4861909826-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:·134,·SHA:·50d35fd8524e960260536f3ad06b7356e2c799f28a1a58b3245e8374ef03953e·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">717 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="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="2364473334-1">(</span><span·class="p"·data-group-id="2364473334-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:·134,·SHA:·2117a5d3495af1f1ea8e59ba22683787d93dcd9797f3ba0d3d27377eb1ffeeb5·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
718 2&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">all</span><span·class="p"·data-group-id="4861909826-3">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="4861909826-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="4861909826-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·314,·SHA:·389a86d8c93e536269564242c57bb602d9b7ec7370c8c7a41928eadd431ddd68·...·]-3">)</span><span·class="p">.</span><span·class="w">718 2&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">all</span><span·class="p"·data-group-id="2364473334-3">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="2364473334-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="2364473334-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·314,·SHA:·f5121be58ed5ffc7f3c6e54854945f54a401633296aed7054ae6780da1571703·...·]-3">)</span><span·class="p">.</span><span·class="w">
719 </span><span·class="ss">false</span><span·class="gp·unselectable">719 </span><span·class="ss">false</span><span·class="gp·unselectable">
720 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">all</span><span·class="p"·data-group-id="4861909826-5">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="4861909826-6">(</span><span·class="n">E</span><span·class="p"·data-group-id="4861909826-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·314,·SHA:·a2ede9820daa0cdcbc5610eafe72c9838d99b876a05d46b2944c6d48e81fb463·...·]-5">)</span><span·class="p">.</span><span·class="w">720 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">all</span><span·class="p"·data-group-id="2364473334-5">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="2364473334-6">(</span><span·class="n">E</span><span·class="p"·data-group-id="2364473334-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·314,·SHA:·785f24c992e008e1ec8868a52bff6bddea5e470f0a7dae69c50c004584f8c5f6·...·]-5">)</span><span·class="p">.</span><span·class="w">
721 </span><span·class="ss">true</span></code></pre>721 </span><span·class="ss">true</span></code></pre>
722 ··</section>722 ··</section>
723 </section>723 </section>
724 <section·class="detail"·id="any/2">724 <section·class="detail"·id="any/2">
  
725 ··<div·class="detail-header">725 ··<div·class="detail-header">
726 ····<a·href="#any/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">726 ····<a·href="#any/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 746, 18 lines modifiedOffset 746, 18 lines modified
746 ······<div·class="specs">746 ······<div·class="specs">
  
747 ··········<pre·translate="no"><span·class="attribute">-spec</span>·any(Pred,·Q·::·<a·href="#t:queue/1">queue</a>(Item))·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()·when·Pred·::·fun((Item)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()).</pre>747 ··········<pre·translate="no"><span·class="attribute">-spec</span>·any(Pred,·Q·::·<a·href="#t:queue/1">queue</a>(Item))·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()·when·Pred·::·fun((Item)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()).</pre>
  
748 ······</div>748 ······</div>
  
749 <p>Returns·<code·class="inline">true</code>·if·<code·class="inline">Pred(Item)</code>·returns·<code·class="inline">true</code>·for·at·least·one·item·<code·class="inline">Item</code>·in749 <p>Returns·<code·class="inline">true</code>·if·<code·class="inline">Pred(Item)</code>·returns·<code·class="inline">true</code>·for·at·least·one·item·<code·class="inline">Item</code>·in
750 <code·class="inline">Q</code>,·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="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="5472653545-1">(</span><span·class="p"·data-group-id="5472653545-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:·134,·SHA:·b40ffef7787fe56a99d90c8a793fc4d28e9ce7be16087443a1e5a5f4ad3f3243·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">750 <code·class="inline">Q</code>,·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="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="6257846277-1">(</span><span·class="p"·data-group-id="6257846277-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:·134,·SHA:·7ba0dbc9d9e1bce1114bb2f7e334fae2d90ef4693b34546a5c90777d161f7a84·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
751 2&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">any</span><span·class="p"·data-group-id="5472653545-3">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5472653545-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="5472653545-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·315,·SHA:·f439f8cff60f0e6629051ff9a23b29112b86066338c50632b693090f397c0cee·...·]-3">)</span><span·class="p">.</span><span·class="w">751 2&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">any</span><span·class="p"·data-group-id="6257846277-3">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6257846277-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="6257846277-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·315,·SHA:·2d12c38f077a5b898e518384c39a5df2c2b88340b3deac58401e4504cb4c9fa7·...·]-3">)</span><span·class="p">.</span><span·class="w">
752 </span><span·class="ss">false</span><span·class="gp·unselectable">752 </span><span·class="ss">false</span><span·class="gp·unselectable">
753 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">any</span><span·class="p"·data-group-id="5472653545-5">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5472653545-6">(</span><span·class="n">E</span><span·class="p"·data-group-id="5472653545-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·314,·SHA:·07b27670099ae8db3415b3a700e7c2969a339b14545bc50a48718a0f75b7b2b0·...·]-5">)</span><span·class="p">.</span><span·class="w">753 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">any</span><span·class="p"·data-group-id="6257846277-5">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6257846277-6">(</span><span·class="n">E</span><span·class="p"·data-group-id="6257846277-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·314,·SHA:·94a8a28ab46b9af3842bad128232114a10df90d3b8888ed0f1cfec351b79ab98·...·]-5">)</span><span·class="p">.</span><span·class="w">
754 </span><span·class="ss">true</span></code></pre>754 </span><span·class="ss">true</span></code></pre>
755 ··</section>755 ··</section>
756 </section>756 </section>
757 <section·class="detail"·id="delete/2">757 <section·class="detail"·id="delete/2">
  
758 ··<div·class="detail-header">758 ··<div·class="detail-header">
759 ····<a·href="#delete/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">759 ····<a·href="#delete/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 779, 17 lines modifiedOffset 779, 17 lines modified
779 ······<div·class="specs">779 ······<div·class="specs">
  
780 ··········<pre·translate="no"><span·class="attribute">-spec</span>·delete(Item,·Q1)·->·Q2·when·Item·::·T,·Q1·::·<a·href="#t:queue/1">queue</a>(T),·Q2·::·<a·href="#t:queue/1">queue</a>(T),·T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>780 ··········<pre·translate="no"><span·class="attribute">-spec</span>·delete(Item,·Q1)·->·Q2·when·Item·::·T,·Q1·::·<a·href="#t:queue/1">queue</a>(T),·Q2·::·<a·href="#t:queue/1">queue</a>(T),·T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
781 ······</div>781 ······</div>
  
782 <p>Returns·a·copy·of·<code·class="inline">Q1</code>·where·the·first·item·matching·<code·class="inline">Item</code>·is·deleted,·if·there782 <p>Returns·a·copy·of·<code·class="inline">Q1</code>·where·the·first·item·matching·<code·class="inline">Item</code>·is·deleted,·if·there
783 is·such·an·item.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7795783126-1">(</span><span·class="p"·data-group-id="7795783126-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:·134,·SHA:·7c143b0ff4eaac4240dc5f84e24655a0ac21aa6f7cd514afa1c176f339def38e·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">783 is·such·an·item.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="8367352957-1">(</span><span·class="p"·data-group-id="8367352957-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:·134,·SHA:·2b78b63b8ff2ebd3e309238335abe3d665f68c6242cb9194dd42dd6f47c51037·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
784 2&gt;·</span><span·class="n">Queue1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="7795783126-3">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Queue</span><span·class="p"·data-group-id="7795783126-3">)</span><span·class="p">.</span><span·class="gp·unselectable">784 2&gt;·</span><span·class="n">Queue1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="8367352957-3">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Queue</span><span·class="p"·data-group-id="8367352957-3">)</span><span·class="p">.</span><span·class="gp·unselectable">
785 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">member</span><span·class="p"·data-group-id="7795783126-4">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Queue1</span><span·class="p"·data-group-id="7795783126-4">)</span><span·class="p">.</span><span·class="w">785 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">member</span><span·class="p"·data-group-id="8367352957-4">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Queue1</span><span·class="p"·data-group-id="8367352957-4">)</span><span·class="p">.</span><span·class="w">
786 </span><span·class="ss">false</span></code></pre>786 </span><span·class="ss">false</span></code></pre>
787 ··</section>787 ··</section>
788 </section>788 </section>
789 <section·class="detail"·id="delete_r/2">789 <section·class="detail"·id="delete_r/2">
  
790 ··<div·class="detail-header">790 ··<div·class="detail-header">
791 ····<a·href="#delete_r/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">791 ····<a·href="#delete_r/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 811, 18 lines modifiedOffset 811, 18 lines modified
811 ······<div·class="specs">811 ······<div·class="specs">
  
812 ··········<pre·translate="no"><span·class="attribute">-spec</span>·delete_r(Item,·Q1)·->·Q2·when·Item·::·T,·Q1·::·<a·href="#t:queue/1">queue</a>(T),·Q2·::·<a·href="#t:queue/1">queue</a>(T),·T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>812 ··········<pre·translate="no"><span·class="attribute">-spec</span>·delete_r(Item,·Q1)·->·Q2·when·Item·::·T,·Q1·::·<a·href="#t:queue/1">queue</a>(T),·Q2·::·<a·href="#t:queue/1">queue</a>(T),·T·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
813 ······</div>813 ······</div>
  
814 <p>Returns·a·copy·of·<code·class="inline">Q1</code>·where·the·last·item·matching·<code·class="inline">Item</code>·is·deleted,·if·there814 <p>Returns·a·copy·of·<code·class="inline">Q1</code>·where·the·last·item·matching·<code·class="inline">Item</code>·is·deleted,·if·there
815 is·such·an·item.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7336759444-1">(</span><span·class="p"·data-group-id="7336759444-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:·183,·SHA:·b3dcd4d0a678acb68441aab83bd680b0494f1778c1d70f0d711f838e11455f7d·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">815 is·such·an·item.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="0161816477-1">(</span><span·class="p"·data-group-id="0161816477-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:·183,·SHA:·4806d0da41f5f91f0e5e45e41c909b7eaae62e1aed4a346bd80b715dc4f0d9ef·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
816 2&gt;·</span><span·class="n">Queue1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">delete_r</span><span·class="p"·data-group-id="7336759444-3">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Queue</span><span·class="p"·data-group-id="7336759444-3">)</span><span·class="p">.</span><span·class="gp·unselectable">816 2&gt;·</span><span·class="n">Queue1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">delete_r</span><span·class="p"·data-group-id="0161816477-3">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Queue</span><span·class="p"·data-group-id="0161816477-3">)</span><span·class="p">.</span><span·class="gp·unselectable">
817 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="7336759444-4">(</span><span·class="n">Queue1</span><span·class="p"·data-group-id="7336759444-4">)</span><span·class="p">.</span><span·class="w">817 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="0161816477-4">(</span><span·class="n">Queue1</span><span·class="p"·data-group-id="0161816477-4">)</span><span·class="p">.</span><span·class="w">
818 </span><span·class="p"·data-group-id="7336759444-5">[</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:·28,·SHA:·4a36d0f403c042d8246f08355ef1643d35b0048636ba2d7ca3c1c5b3ca46ef38·...·]-5">]</span></code></pre>818 </span><span·class="p"·data-group-id="0161816477-5">[</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:·28,·SHA:·343ce3a73e99f1992878265c9f48ca93078b325eaefbda09feb782cb791ae626·...·]-5">]</span></code></pre>
819 ··</section>819 ··</section>
820 </section>820 </section>
821 <section·class="detail"·id="delete_with/2">821 <section·class="detail"·id="delete_with/2">
  
822 ··<div·class="detail-header">822 ··<div·class="detail-header">
823 ····<a·href="#delete_with/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">823 ····<a·href="#delete_with/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
824 ······<i·class="ri-link-m"·aria-hidden="true"></i>824 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 848, 18 lines modifiedOffset 848, 18 lines modified
848 ·························Q1·::·<a·href="#t:queue/1">queue</a>(Item),848 ·························Q1·::·<a·href="#t:queue/1">queue</a>(Item),
849 ·························Q2·::·<a·href="#t:queue/1">queue</a>(Item),849 ·························Q2·::·<a·href="#t:queue/1">queue</a>(Item),
850 ·························Item·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>850 ·························Item·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
851 ······</div>851 ······</div>
  
852 <p>Returns·a·copy·of·<code·class="inline">Q1</code>·where·the·first·item·for·which·<code·class="inline">Pred</code>·returns·<code·class="inline">true</code>·is852 <p>Returns·a·copy·of·<code·class="inline">Q1</code>·where·the·first·item·for·which·<code·class="inline">Pred</code>·returns·<code·class="inline">true</code>·is
853 deleted,·if·there·is·such·an·item.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="6050925013-1">(</span><span·class="p"·data-group-id="6050925013-2">[</span><span·class="mi">100</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><span·cl[·...·truncated·by·diffoscope;·len:·184,·SHA:·9730ccb2c45c4cbec57832297e90be8a41484be2b2bbcafe512cba06c8e4aebc·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">853 deleted,·if·there·is·such·an·item.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="6682656430-1">(</span><span·class="p"·data-group-id="6682656430-2">[</span><span·class="mi">100</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><span·cl[·...·truncated·by·diffoscope;·len:·184,·SHA:·8fb246465a72ce94900ef77f10f17e0bc91040205f896d1e95deccf15de8db79·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
854 2&gt;·</span><span·class="n">Queue1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">delete_with</span><span·class="p"·data-group-id="6050925013-3">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6050925013-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="6050925013-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><s[·...·truncated·by·diffoscope;·len:·263,·SHA:·9721783c4b4d53e0c248b12585351a9f9831efd61deea6fcb141a74b0af179c3·...·]-3">)</span><span·class="p">.</span><span·class="gp·unselectable">854 2&gt;·</span><span·class="n">Queue1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">delete_with</span><span·class="p"·data-group-id="6682656430-3">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6682656430-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="6682656430-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><s[·...·truncated·by·diffoscope;·len:·263,·SHA:·e60e5578d06a48d2eb18243f27239dd52df35ecc7d3ac9bde12376ff52eb1ea6·...·]-3">)</span><span·class="p">.</span><span·class="gp·unselectable">
855 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="6050925013-5">(</span><span·class="n">Queue1</span><span·class="p"·data-group-id="6050925013-5">)</span><span·class="p">.</span><span·class="w">855 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="6682656430-5">(</span><span·class="n">Queue1</span><span·class="p"·data-group-id="6682656430-5">)</span><span·class="p">.</span><span·class="w">
856 </span><span·class="p"·data-group-id="6050925013-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">,</span><span·class="mi">5</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·ad57c3ae68f9579c000c4a060d7fe3cf0fe4eaa84cb5ff8324687f118ba36b07·...·]-6">]</span></code></pre>856 </span><span·class="p"·data-group-id="6682656430-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">,</span><span·class="mi">5</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·0ba3ffb247b9967ba0b7be046b51751aa4b54824170f2cf942b816f9b0bc7419·...·]-6">]</span></code></pre>
857 ··</section>857 ··</section>
858 </section>858 </section>
859 <section·class="detail"·id="delete_with_r/2">859 <section·class="detail"·id="delete_with_r/2">
  
860 ··<div·class="detail-header">860 ··<div·class="detail-header">
861 ····<a·href="#delete_with_r/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">861 ····<a·href="#delete_with_r/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
862 ······<i·class="ri-link-m"·aria-hidden="true"></i>862 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 885, 18 lines modifiedOffset 885, 18 lines modified
885 ···························Q1·::·<a·href="#t:queue/1">queue</a>(Item),885 ···························Q1·::·<a·href="#t:queue/1">queue</a>(Item),
886 ···························Q2·::·<a·href="#t:queue/1">queue</a>(Item),886 ···························Q2·::·<a·href="#t:queue/1">queue</a>(Item),
887 ···························Item·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>887 ···························Item·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
888 ······</div>888 ······</div>
  
889 <p>Returns·a·copy·of·<code·class="inline">Q1</code>·where·the·last·item·for·which·<code·class="inline">Pred</code>·returns·<code·class="inline">true</code>·is889 <p>Returns·a·copy·of·<code·class="inline">Q1</code>·where·the·last·item·for·which·<code·class="inline">Pred</code>·returns·<code·class="inline">true</code>·is
890 deleted,·if·there·is·such·an·item.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="0495807253-1">(</span><span·class="p"·data-group-id="0495807253-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:·185,·SHA:·c1dce31c73ebf5b735b2390bc792d54beef941f55c704d888199d6188ca432c2·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">890 deleted,·if·there·is·such·an·item.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="5726284906-1">(</span><span·class="p"·data-group-id="5726284906-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:·185,·SHA:·7dd75fbb9d057025fd5ffdbcf47bb9be5ff4339d2b81890785f86b5ad4b26aa1·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
891 2&gt;·</span><span·class="n">Queue1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">delete_with</span><span·class="p"·data-group-id="0495807253-3">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="0495807253-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="0495807253-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·265,·SHA:·f93d86ce15c952d4aa7c2df5afa9c784478c3ca1cd01ba00757115ac658c7711·...·]-3">)</span><span·class="p">.</span><span·class="gp·unselectable">891 2&gt;·</span><span·class="n">Queue1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">delete_with</span><span·class="p"·data-group-id="5726284906-3">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5726284906-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="5726284906-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·265,·SHA:·7d752a4730fe8a568f9c403865e21fa32b24daee66b99af0320fb0ffa2d9025f·...·]-3">)</span><span·class="p">.</span><span·class="gp·unselectable">
892 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="0495807253-5">(</span><span·class="n">Queue1</span><span·class="p"·data-group-id="0495807253-5">)</span><span·class="p">.</span><span·class="w">892 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="5726284906-5">(</span><span·class="n">Queue1</span><span·class="p"·data-group-id="5726284906-5">)</span><span·class="p">.</span><span·class="w">
893 </span><span·class="p"·data-group-id="0495807253-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">,</span><span·class="mi">5</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·0c773c73b597c893cdc4dc03be9d558ba4d3f309f2eb213f46caee62e5224172·...·]-6">]</span></code></pre>893 </span><span·class="p"·data-group-id="5726284906-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">,</span><span·class="mi">5</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·0abdd1184867f5243fe36205f3be58b307f6355c86b4978f09f14ff65f1b5850·...·]-6">]</span></code></pre>
894 ··</section>894 ··</section>
895 </section>895 </section>
896 <section·class="detail"·id="filter/2">896 <section·class="detail"·id="filter/2">
  
897 ··<div·class="detail-header">897 ··<div·class="detail-header">
898 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">898 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
899 ······<i·class="ri-link-m"·aria-hidden="true"></i>899 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 917, 27 lines modifiedOffset 917, 27 lines modified
917 ··········<pre·translate="no"><span·class="attribute">-spec</span>·filter(Fun,·Q1·::·<a·href="#t:queue/1">queue</a>(Item))·->·Q2·::·<a·href="#t:queue/1">queue</a>(Item)·when·Fun·::·fun((Item)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()·|·[Item]).</pre>917 ··········<pre·translate="no"><span·class="attribute">-spec</span>·filter(Fun,·Q1·::·<a·href="#t:queue/1">queue</a>(Item))·->·Q2·::·<a·href="#t:queue/1">queue</a>(Item)·when·Fun·::·fun((Item)·->·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:boolean/0">boolean</a>()·|·[Item]).</pre>
  
918 ······</div>918 ······</div>
  
919 <p>Returns·a·queue·<code·class="inline">Q2</code>·that·is·the·result·of·calling·<code·class="inline">Fun(Item)</code>·on·all·items·in919 <p>Returns·a·queue·<code·class="inline">Q2</code>·that·is·the·result·of·calling·<code·class="inline">Fun(Item)</code>·on·all·items·in
920 <code·class="inline">Q1</code>.</p><p>If·<code·class="inline">Fun(Item)</code>·returns·<code·class="inline">true</code>,·<code·class="inline">Item</code>·is·copied·to·the·result·queue.·If·it920 <code·class="inline">Q1</code>.</p><p>If·<code·class="inline">Fun(Item)</code>·returns·<code·class="inline">true</code>,·<code·class="inline">Item</code>·is·copied·to·the·result·queue.·If·it
921 returns·<code·class="inline">false</code>,·<code·class="inline">Item</code>·is·not·copied.·If·it·returns·a·list,·the·list·elements921 returns·<code·class="inline">false</code>,·<code·class="inline">Item</code>·is·not·copied.·If·it·returns·a·list,·the·list·elements
922 are·inserted·instead·of·<code·class="inline">Item</code>·in·the·result·queue.</p><p><em>Example·1:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7109674049-1">(</span><span·class="p"·data-group-id="7109674049-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:·134,·SHA:·5fc51ddc187aed17bb855b0730ca75addc6dfba3e1dfe747ca3059ac1d971176·...·]-1">)</span><span·class="p">.</span><span·class="w">922 are·inserted·instead·of·<code·class="inline">Item</code>·in·the·result·queue.</p><p><em>Example·1:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Queue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="0560193957-1">(</span><span·class="p"·data-group-id="0560193957-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:·134,·SHA:·43181378d273cfaee5344465db8616e3b8def9ccaeec951ff385bcdd2652274d·...·]-1">)</span><span·class="p">.</span><span·class="w">
923 </span><span·class="p"·data-group-id="7109674049-3">{</span><span·class="p"·data-group-id="7109674049-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="7109674049-4">]</span><span[·...·truncated·by·diffoscope;·len:·240,·SHA:·11ef179ff71fa9f873219723bff06fdc3606187732080466c3cf7019df422019·...·]-3">}</span><span·class="gp·unselectable">923 </span><span·class="p"·data-group-id="0560193957-3">{</span><span·class="p"·data-group-id="0560193957-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="0560193957-4">]</span><span[·...·truncated·by·diffoscope;·len:·240,·SHA:·9cae8a9aaaf6754cec3f5d68984623d1074a2391430e1f80f48b52a64b2f1475·...·]-3">}</span><span·class="gp·unselectable">
924 2&gt;·</span><span·class="n">Queue1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="7109674049-6">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="7109674049-7">(</span><span·class="n">E</span><span·class="p"·data-group-id="7109674049-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·314,·SHA:·212ef3f95a9c8762370ca57d29e970680ed22031eca5475cdf53b49d9219d3b9·...·]-6">)</span><span·class="p">.</span><span·class="w">924 2&gt;·</span><span·class="n">Queue1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="0560193957-6">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="0560193957-7">(</span><span·class="n">E</span><span·class="p"·data-group-id="0560193957-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·314,·SHA:·0854fc7a4d569730fcbcf22299adeaee4c50896e8d50602534c7cc6827cff565·...·]-6">)</span><span·class="p">.</span><span·class="w">
925 </span><span·class="p"·data-group-id="7109674049-8">{</span><span·class="p"·data-group-id="7109674049-9">[</span><span·class="mi">5</span><span·class="p"·data-group-id="7109674049-9">]</span><span·class="p">,</span><span·class="p"·data-group-id="7109674049-10">[</span><span·class="mi">3</span>[·...·truncated·by·diffoscope;·len:·144,·SHA:·82fd18744cbe0c7faccf77cfdb4a302443f15cad6b4b62fc62c119ac2eec19c4·...·]-8">}</span><span·class="gp·unselectable">925 </span><span·class="p"·data-group-id="0560193957-8">{</span><span·class="p"·data-group-id="0560193957-9">[</span><span·class="mi">5</span><span·class="p"·data-group-id="0560193957-9">]</span><span·class="p">,</span><span·class="p"·data-group-id="0560193957-10">[</span><span·class="mi">3</span>[·...·truncated·by·diffoscope;·len:·144,·SHA:·fbd4a01bbb48967065c4a9db10a2899ed5120b7c2ae5ddd4cc2e1452ff7d2cbe·...·]-8">}</span><span·class="gp·unselectable">
926 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="7109674049-11">(</span><span·class="n">Queue1</span><span·class="p"·data-group-id="7109674049-11">)</span><span·class="p">.</span><span·class="w">926 3&gt;·</span><span·class="nc">queue</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="0560193957-11">(</span><span·class="n">Queue1</span><span·class="p"·data-group-id="0560193957-11">)</span><span·class="p">.</span><span·class="w">
927 </span><span·class="p"·data-group-id="7109674049-12">[</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="7109674049-12">]</span></code></pre><p>So,·<code·class="inline">Fun(Item)</code>·returning·<code·class="inline">[Item]</code>·is·thereby·semantically·equivalent·to927 </span><span·class="p"·data-group-id="0560193957-12">[</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="0560193957-12">]</span></code></pre><p>So,·<code·class="inline">Fun(Item)</code>·returning·<code·class="inline">[Item]</code>·is·thereby·semantically·equivalent·to
928 returning·<code·class="inline">true</code>,·just·as·returning·<code·class="inline">[]</code>·is·semantically·equivalent·to·returning928 returning·<code·class="inline">true</code>,·just·as·returning·<code·class="inline">[]</code>·is·semantically·equivalent·to·returning
Max diff block lines reached; 117143/163726 bytes (71.55%) of diff not shown.
630 B
html2text {}
Max HTML report size reached
29.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="0277204061-1">(</span><span·class="p"·data-group-id="0277204061-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="9427295371-1">(</span><span·class="p"·data-group-id="9427295371-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="0277204061-2">(</span><span·class="p"·data-group-id="0277204061-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:·1305d54b4082bdc69a441ae61fa49685e9e9c8e029cb131ebf27faed33a6d7d9·...·]-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="9427295371-2">(</span><span·class="p"·data-group-id="9427295371-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:·f7863f814d8fab5fb8df2b566bdece3e5d662ad8dead931bde2b247f992cc968·...·]-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="7455100867-2">(</span><span·class="p"·data-group-id="7455100867-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:·0cbd3117c0195a9ccdd6edcc053ef0119110046b8c910210c1222e65f57b7d30·...·]-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="4475952660-2">(</span><span·class="p"·data-group-id="4475952660-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:·44f855b4fb9f5104f04c4f785f1eb4042c514976387258acb30f07a7bdc12081·...·]-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="6687110531-3">(</span><span·class="p"·data-group-id="6687110531-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">·</s[·...·truncated·by·diffoscope;·len:·257,·SHA:·3c2319344cacda9e11ded41cdf07058dd3756f32d71cbc6263bb8ee601998969·...·]-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="6576403493-3">(</span><span·class="p"·data-group-id="6576403493-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">·</s[·...·truncated·by·diffoscope;·len:·257,·SHA:·fa006ef07f2a7fd1629965c47110812710cd678ece78687e08df21bccddce3ff·...·]-1">)</span><span·class="p">,</span><span·class="w">
208 </span><span·class="p"·data-group-id="5910424354-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="5910424354-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·654,·SHA:·fe722e8c70debb68c262e1e364df7367064782d89bb90bc7a694fd4104e021c5·...·]-1">)</span><span·class="p">,</span><span·class="w">208 </span><span·class="p"·data-group-id="1328346840-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="1328346840-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·654,·SHA:·fb5d27d877740155fdc9bdfc881f7f262bf0fbeaa5c80aac4bdf3f040fa9776b·...·]-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="5875170432-2">(</span><span·class="p"·data-group-id="5875170432-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="3191208289-2">(</span><span·class="p"·data-group-id="3191208289-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="5875170432-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="587[·...·truncated·by·diffoscope;·len:·2113,·SHA:·df21ce4f7f07d91cb7516445476201b7e59c3ad48fc05fce8eabe703a08f12f1·...·]-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="3191208289-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="319[·...·truncated·by·diffoscope;·len:·2113,·SHA:·e06b3c07312fd118c6d6bbef69501f7ec15f884d336f12739b56401a1e12f7e2·...·]-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.5.3/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.5.3/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="6447988075-1">(</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="6447988075-2">(</span><span·class="mi">256</span><span·class="p"·data-group-id="6447988075-2">)</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·2110,·SHA:·387396c7b3050b5174aa908221d0c9d73beb2e83c60c1db1d69f6dc58ad0c0af·...·]-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="8815958012-1">(</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="8815958012-2">(</span><span·class="mi">256</span><span·class="p"·data-group-id="8815958012-2">)</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·2110,·SHA:·fe337a8f94f730c8f048fac5fda6699ed62b8a239c95cb330af73db8561736bf·...·]-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 1871, 18 lines modifiedOffset 1871, 18 lines modified
  
1871 <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-15.2.7/doc/html/erlang.html#t:float/0"><code·class="inline">float/0</code></a>,1871 <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-15.2.7/doc/html/erlang.html#t:float/0"><code·class="inline">float/0</code></a>,
1872 uniformly·distributed·in·the·value·range·<code·class="inline">0.0·=&lt;·X·&lt;·1.0</code>.1872 uniformly·distributed·in·the·value·range·<code·class="inline">0.0·=&lt;·X·&lt;·1.0</code>.
1873 Returns·the·number·<code·class="inline">X</code>·and·the·updated·<code·class="inline">NewState</code>.</p><p>The·generated·numbers·are·on·the·form·<code·class="inline">N * 2.0^(-53)</code>,·that·is;1873 Returns·the·number·<code·class="inline">X</code>·and·the·updated·<code·class="inline">NewState</code>.</p><p>The·generated·numbers·are·on·the·form·<code·class="inline">N * 2.0^(-53)</code>,·that·is;
1874 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·certain1874 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
1875 applications.·If·that·is·undesired·you·can·use·<code·class="inline">(1.0 - rand:uniform())</code>1875 applications.·If·that·is·undesired·you·can·use·<code·class="inline">(1.0 - rand:uniform())</code>
1876 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·range1876 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
1877 <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="7364109104-1">(</span><span·class="p"·data-group-id="7364109104-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1877 <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="5109486033-1">(</span><span·class="p"·data-group-id="5109486033-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1878 ····</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="7364109104-2">(</span><span·class="p"·data-group-id="7364109104-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">1878 ····</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="5109486033-2">(</span><span·class="p"·data-group-id="5109486033-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1879 ········</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">1879 ········</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">
1880 ········</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="7364109104-3">(</span><span·class="p"·data-group-id="7364109104-3">)</span><span·class="w">1880 ········</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="5109486033-3">(</span><span·class="p"·data-group-id="5109486033-3">)</span><span·class="w">
1881 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre></section>1881 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre></section>
1882 ··</section>1882 ··</section>
1883 </section>1883 </section>
1884 <section·class="detail"·id="uniform_s/2">1884 <section·class="detail"·id="uniform_s/2">
  
1885 ··<div·class="detail-header">1885 ··<div·class="detail-header">
1886 ····<a·href="#uniform_s/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1886 ····<a·href="#uniform_s/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2027, 15 lines modifiedOffset 2027, 15 lines modified
2027 a·new·state·<a·href="#t:mwc59_state/0"><code·class="inline">CX1</code></a>,·according·to·a·Multiply·With·Carry2027 a·new·state·<a·href="#t:mwc59_state/0"><code·class="inline">CX1</code></a>,·according·to·a·Multiply·With·Carry
2028 generator,·which·is·an·efficient·implementation·of2028 generator,·which·is·an·efficient·implementation·of
2029 a·Multiplicative·Congruential·Generator·with·a·power·of·2·multiplier2029 a·Multiplicative·Congruential·Generator·with·a·power·of·2·multiplier
2030 and·a·prime·modulus.</p><p>This·generator·uses·the·multiplier·<code·class="inline">2^32</code>·and·the·modulus2030 and·a·prime·modulus.</p><p>This·generator·uses·the·multiplier·<code·class="inline">2^32</code>·and·the·modulus
2031 <code·class="inline">16#7fa6502 * 2^32 - 1</code>,·which·have·been·selected,·in·collaboration·with2031 <code·class="inline">16#7fa6502 * 2^32 - 1</code>,·which·have·been·selected,·in·collaboration·with
2032 Sebastiano·Vigna,·to·avoid·bignum·operations·and·still·get2032 Sebastiano·Vigna,·to·avoid·bignum·operations·and·still·get
2033 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">2033 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">
2034 </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="5877347501-1">(</span><span·class="p"·data-group-id="5877347501-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="5877347501-2">)</spa[·...·truncated·by·diffoscope;·len:·92,·SHA:·7bc52db5336cddf8df52f4584725f77f968a213ac475000f9e33df516ab1ef41·...·]-1">)</span><span·class="p">)</span><span·class="w">2034 </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="6497399398-1">(</span><span·class="p"·data-group-id="6497399398-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="6497399398-2">)</spa[·...·truncated·by·diffoscope;·len:·92,·SHA:·9309f06e9fb94161620e555e733c9b9d911c2543e5c703aa7c5083b829c29896·...·]-1">)</span><span·class="p">)</span><span·class="w">
2035 </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·gets2035 </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
2036 statistical·flaws·for·collision·tests·and·birthday·spacings·tests2036 statistical·flaws·for·collision·tests·and·birthday·spacings·tests
2037 in·2·and·3·dimensions,·and·these·caveats·apply·even·when·looking2037 in·2·and·3·dimensions,·and·these·caveats·apply·even·when·looking
2038 only·at·the·MWC·&quot;digit&quot;,·that·is·the·low·32·bits·(the·multiplier)2038 only·at·the·MWC·&quot;digit&quot;,·that·is·the·low·32·bits·(the·multiplier)
2039 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,2039 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,
2040 instead·of·just·taking·the·low·bits.2040 instead·of·just·taking·the·low·bits.
2041 Function·<a·href="#mwc59_value32/1"><code·class="inline">mwc59_value32</code></a>·is·a·fast·scrambler2041 Function·<a·href="#mwc59_value32/1"><code·class="inline">mwc59_value32</code></a>·is·a·fast·scrambler
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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2290 <p>Copyright·©·1996-2025·<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;
728 B
html2text {}
Max HTML report size reached
5.63 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·A2·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·A3·::·<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·A2·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:integer/0">integer</a>(),·A3·::·<a·href="../../../../erts-15.2.7/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="9721475704-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">phash2</span><span·class="p"·data-group-id="9721475704-2">(</span><span·class="p"·data-group-id="9721475704-3">[</span><span·class="nf">node</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·184,·SHA:·80fdd3bc8a26315c96c4cea88fecc7b56c96c56e04917076674014c7a48512ad·...·]-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="2959495931-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">phash2</span><span·class="p"·data-group-id="2959495931-2">(</span><span·class="p"·data-group-id="2959495931-3">[</span><span·class="nf">node</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·184,·SHA:·276b7437c29f1e583fd9a03f55c32ed875e450ea66a3bcc1c2b260fe4ee567c6·...·]-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="9721475704-5">(</span><span·class="p"·data-group-id="9721475704-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="2959495931-5">(</span><span·class="p"·data-group-id="2959495931-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="9721475704-6">(</span><span·class="p"·data-group-id="9721475704-6">)</span><span·class="p"·data-group-id="9721475704-1">)</span></code></pre><p>For·details,·see·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#phash2/1"><code·class="inline">erlang:phash2/1</code></a>,·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#node/0"><code·class="inline">erlang:node/0</code></a>,·<a·href="../../../../erts-15.2.7/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="2959495931-6">(</span><span·class="p"·data-group-id="2959495931-6">)</span><span·class="p"·data-group-id="2959495931-1">)</span></code></pre><p>For·details,·see·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#phash2/1"><code·class="inline">erlang:phash2/1</code></a>,·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#node/0"><code·class="inline">erlang:node/0</code></a>,·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#monotonic_time/0"><code·class="inline">erlang:monotonic_time/0</code></a>,
465 and·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#unique_integer/0"><code·class="inline">erlang:unique_integer/0</code></a>.</p>465 and·<a·href="../../../../erts-15.2.7/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>620 <p>Copyright·©·1996-2025·<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
115 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/re.html
    
Offset 1371, 17 lines modifiedOffset 1371, 17 lines modified
1371 been·passed,·<a·href="#run/2"><code·class="inline">run/2,3</code></a>·is·committed·to·find·a·match·at·the·current1371 been·passed,·<a·href="#run/2"><code·class="inline">run/2,3</code></a>·is·committed·to·find·a·match·at·the·current
1372 starting·point,·or·not·at·all,·for·example:</p><pre><code·class="text">a+(*COMMIT)b</code></pre><p>This·matches·&quot;xxaab&quot;·but·not·&quot;aacaab&quot;.·It·can·be·thought·of·as·a·kind·of·dynamic1372 starting·point,·or·not·at·all,·for·example:</p><pre><code·class="text">a+(*COMMIT)b</code></pre><p>This·matches·&quot;xxaab&quot;·but·not·&quot;aacaab&quot;.·It·can·be·thought·of·as·a·kind·of·dynamic
1373 anchor,·or·&quot;I've·started,·so·I·must·finish&quot;.·The·name·of·the·most·recently1373 anchor,·or·&quot;I've·started,·so·I·must·finish&quot;.·The·name·of·the·most·recently
1374 passed·(<em>MARK)·in·the·path·is·passed·back·when·(</em>COMMIT)·forces·a·match·failure.</p><p>If·more·than·one·backtracking·verb·exists·in·a·pattern,·a·different·one·that1374 passed·(<em>MARK)·in·the·path·is·passed·back·when·(</em>COMMIT)·forces·a·match·failure.</p><p>If·more·than·one·backtracking·verb·exists·in·a·pattern,·a·different·one·that
1375 follows·(<em>COMMIT)·can·be·triggered·first,·so·merely·passing·(</em>COMMIT)·during·a1375 follows·(<em>COMMIT)·can·be·triggered·first,·so·merely·passing·(</em>COMMIT)·during·a
1376 match·does·not·always·guarantee·that·a·match·must·be·at·this·starting·point.</p><p>Notice·that·(*COMMIT)·at·the·start·of·a·pattern·is·not·the·same·as·an·anchor,1376 match·does·not·always·guarantee·that·a·match·must·be·at·this·starting·point.</p><p>Notice·that·(*COMMIT)·at·the·start·of·a·pattern·is·not·the·same·as·an·anchor,
1377 unless·the·PCRE·start-of-match·optimizations·are·turned·off,·as·shown·in·the1377 unless·the·PCRE·start-of-match·optimizations·are·turned·off,·as·shown·in·the
1378 following·example:</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="5196052501-1">(</span><span·class="s">&quot;xyzabc&quot;</span><span·class="p">,</span><span·class="s">&quot;(*COMMIT)abc&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5196052501-2">[</span><span·class="p"·data-group-id="5196052501-3">{</span><span·class="ss">capture</span><span·class="p">,</span><span·class="ss">all</span><span·class="p">,</span><span·class="ss">list</span><span·class="p"·data-group-id="5196052501-3">}</span><span·class="p"·data-group-id="5196052501-2">]</span><span·class="p"·data-group-id="5196052501-1">)</span><span·class="p">.</span><span·class="w"> 
1379 </span><span·class="p"·data-group-id="5196052501-4">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="5196052501-5">[</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="5196052501-5">]</span><span·class="p"·data-group-id="5196052501-4">}</span><span·class="gp·unselectable"> 
1380 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="5196052501-6">(</span><span·class="s">&quot;xyzabc&quot;</span><span·class="p">,</span><span·class="s">&quot;(*COMMIT)abc&quot;</span><[·...·truncated·by·diffoscope;·len:·477,·SHA:·2e49409febaccf3a5e6c44e901d78657e124107ab6565a44111f5b6820d6de92·...·]">)</span><span·class="p">.</span><span·class="w">1378 following·example:</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="7842481028-1">(</span><span·class="[·...·truncated·by·diffoscope;·len:·512,·SHA:·7c19c9a10fd4779455c6b42ff8d24e9cf8eef3d92924ee496d9a1aa487b05702·...·]">)</span><span·class="p">.</span><span·class="w">
 1379 </span><span·class="p"·data-group-id="7842481028-4">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="7842481028-5">[</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="7842481028-5">]</span><span·class="p"·data-group-id="7842481028-4">}</span><span·class="gp·unselectable">
 1380 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="7842481028-6">(</span><span·class="s">&quot;xyzabc&quot;</span><span·class="p">,</span><span·class="s">&quot;(*COMMIT)abc&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="7842481028-7">[</span><span·class="p"·data-group-id="7842481028-8">{</span><span·class="ss">capture</span><span·class="p">,</span><span·class="ss">all</span><span·class="p">,</span><span·class="ss">list</span><span·class="p"·data-group-id="7842481028-8">}</span><span·class="p">,</span><span·class="ss">no_start_optimize</span><span·class="p"·data-group-id="7842481028-7">]</span><span·class="p"·data-group-id="7842481028-6">)</span><span·class="p">.</span><span·class="w">
1381 </span><span·class="ss">nomatch</span></code></pre><p>For·this·pattern,·PCRE·knows·that·any·match·must·start·with·&quot;a&quot;,·so·the1381 </span><span·class="ss">nomatch</span></code></pre><p>For·this·pattern,·PCRE·knows·that·any·match·must·start·with·&quot;a&quot;,·so·the
1382 optimization·skips·along·the·subject·to·&quot;a&quot;·before·applying·the·pattern·to·the1382 optimization·skips·along·the·subject·to·&quot;a&quot;·before·applying·the·pattern·to·the
1383 first·set·of·data.·The·match·attempt·then·succeeds.·In·the·second·call·the1383 first·set·of·data.·The·match·attempt·then·succeeds.·In·the·second·call·the
1384 <code·class="inline">no_start_optimize</code>·disables·the·optimization·that·skips·along·to·the·first1384 <code·class="inline">no_start_optimize</code>·disables·the·optimization·that·skips·along·to·the·first
1385 character.·The·pattern·is·now·applied·starting·at·&quot;x&quot;,·and·so·the·(*COMMIT)1385 character.·The·pattern·is·now·applied·starting·at·&quot;x&quot;,·and·so·the·(*COMMIT)
1386 causes·the·match·to·fail·without·trying·any·other·starting·points.</p><p>The·following·verb·causes·the·match·to·fail·at·the·current·starting·position·in1386 causes·the·match·to·fail·without·trying·any·other·starting·points.</p><p>The·following·verb·causes·the·match·to·fail·at·the·current·starting·position·in
1387 the·subject·if·there·is·a·later·matching·failure·that·causes·backtracking·to1387 the·subject·if·there·is·a·later·matching·failure·that·causes·backtracking·to
Offset 2084, 40 lines modifiedOffset 2084, 40 lines modified
  
2084 ··········<pre·translate="no"><span·class="attribute">-spec</span>·inspect(MP,·Item)·->·{namelist,·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>()]}·when·MP·::·<a·href="#t:mp/0">mp</a>(),·Item·::·namelist.</pre>2084 ··········<pre·translate="no"><span·class="attribute">-spec</span>·inspect(MP,·Item)·->·{namelist,·[<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:binary/0">binary</a>()]}·when·MP·::·<a·href="#t:mp/0">mp</a>(),·Item·::·namelist.</pre>
  
2085 ······</div>2085 ······</div>
  
2086 <p>Takes·a·compiled·regular·expression·and·an·item,·and·returns·the·relevant·data2086 <p>Takes·a·compiled·regular·expression·and·an·item,·and·returns·the·relevant·data
2087 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>,2087 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>,
2088 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="0419126019-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="0419126019-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span·cla[·...·truncated·by·diffoscope;·len:·216,·SHA:·e80fbf77187745e07884be956b4e749a7c137434b2a62bb5d7c4b5f3052305fc·...·]-2">)</span><span·class="p">.</span><span·class="w">2088 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="0967185000-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="0967185000-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span·cla[·...·truncated·by·diffoscope;·len:·216,·SHA:·54c3921eb8bda1c7706457a20395e76e5c7faf486f9802b2237d390981704fe3·...·]-2">)</span><span·class="p">.</span><span·class="w">
2089 </span><span·class="p"·data-group-id="0419126019-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0419126019-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">2089 </span><span·class="p"·data-group-id="0967185000-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0967185000-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">
2090 ················</span><span·class="p"·data-group-id="0419126019-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">2090 ················</span><span·class="p"·data-group-id="0967185000-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">
2091 ··················</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="0419126019-5">&gt;&gt;</span><span·class="p"·data-group-id="0419126019-4">}</span><span·class="p"·data-group-id="0419126019-3">}</span><span·class="gp·unselectable">2091 ··················</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="0967185000-5">&gt;&gt;</span><span·class="p"·data-group-id="0967185000-4">}</span><span·class="p"·data-group-id="0967185000-3">}</span><span·class="gp·unselectable">
2092 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="0419126019-6">(</span><span·class="n">MP</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="0419126019-6">)</span><span·class="p">.</span><span·class="w">2092 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="0967185000-6">(</span><span·class="n">MP</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="0967185000-6">)</span><span·class="p">.</span><span·class="w">
2093 </span><span·class="p"·data-group-id="0419126019-7">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="0419126019-8">[</span><span·class="p"·data-group-id="0419126019-9">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·488,·SHA:·7e73734372f98eac8a1bbd0967415c8f5bf55ee2719e3b4b53b114666b079205·...·]-7">}</span><span·class="gp·unselectable">2093 </span><span·class="p"·data-group-id="0967185000-7">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="0967185000-8">[</span><span·class="p"·data-group-id="0967185000-9">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·488,·SHA:·4e11e319acd6ba3cefcc918aa53ef321b755f00e891748b53008b95be3f09ee1·...·]-7">}</span><span·class="gp·unselectable">
2094 3&gt;·</span><span·class="p"·data-group-id="0419126019-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MPD</span><span·class="p"·data-group-id="0419126019-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:·e1424aeca6a0a68eda75b5f74f271612c3edac5b5d9bb1b7ee55ff2a468ef499·...·]-13">)</span><span·class="p">.</span><span·class="w">2094 3&gt;·</span><span·class="p"·data-group-id="0967185000-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MPD</span><span·class="p"·data-group-id="0967185000-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:·eb8e0dda2cc5a9c5679a307c4d6dee9564087346cdd6bf9392675fc313135ac6·...·]-13">)</span><span·class="p">.</span><span·class="w">
2095 </span><span·class="p"·data-group-id="0419126019-15">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0419126019-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">2095 </span><span·class="p"·data-group-id="0967185000-15">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0967185000-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">
2096 ················</span><span·class="p"·data-group-id="0419126019-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">2096 ················</span><span·class="p"·data-group-id="0967185000-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">
2097 ··················</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="0419126019-17">&gt;&gt;</span><span·class="p"·data-group-id="0419126019-16">}</span><span·class="p"·data-group-id="0419126019-15">}</span><span·class="gp·unselectable">2097 ··················</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="0967185000-17">&gt;&gt;</span><span·class="p"·data-group-id="0967185000-16">}</span><span·class="p"·data-group-id="0967185000-15">}</span><span·class="gp·unselectable">
2098 4&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="0419126019-18">(</span><span·class="n">MPD</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="0419126019-18">)</span><span·class="p">.</span><span·class="w">2098 4&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="0967185000-18">(</span><span·class="n">MPD</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="0967185000-18">)</span><span·class="p">.</span><span·class="w">
2099 </span><span·class="p"·data-group-id="0419126019-19">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="0419126019-20">[</span><span·class="p"·data-group-id="0419126019-21">&lt;&lt;</span><span·class="s">&quot;B&quot;</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·311,·SHA:·010114f687697d4df25f66067229ee3d7ed45fbe0db95cbd5a00551dce6d55a5·...·]-19">}</span></code></pre><p>Notice·in·the·second·example·that·the·duplicate·name·only·occurs·once·in·the2099 </span><span·class="p"·data-group-id="0967185000-19">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="0967185000-20">[</span><span·class="p"·data-group-id="0967185000-21">&lt;&lt;</span><span·class="s">&quot;B&quot;</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·311,·SHA:·960ff03be9beffa22eb284015cd2453d73f6e14da8b3d630e0c6bc59f40c2f0e·...·]-19">}</span></code></pre><p>Notice·in·the·second·example·that·the·duplicate·name·only·occurs·once·in·the
2100 returned·list,·and·that·the·list·is·in·alphabetical·order·regardless·of·where2100 returned·list,·and·that·the·list·is·in·alphabetical·order·regardless·of·where
2101 the·names·are·positioned·in·the·regular·expression.·The·order·of·the·names·is2101 the·names·are·positioned·in·the·regular·expression.·The·order·of·the·names·is
2102 the·same·as·the·order·of·captured·subexpressions·if·<code·class="inline">{capture,·all_names}</code>·is2102 the·same·as·the·order·of·captured·subexpressions·if·<code·class="inline">{capture,·all_names}</code>·is
2103 specified·as·an·option·to·<a·href="#run/3"><code·class="inline">run/3</code></a>.·You·can·therefore·create·a·name-to-value2103 specified·as·an·option·to·<a·href="#run/3"><code·class="inline">run/3</code></a>.·You·can·therefore·create·a·name-to-value
2104 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="4070021093-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="4070021093-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:·6e293e39e93661fdbd54ef0b1c9f62b30b35b1cb784688f8e1dddefae3267af9·...·]-2">)</span><span·class="p">.</span><span·class="w">2104 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="6680654860-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="6680654860-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:·df5b055c4c5ed54bd0801a3d78fbb5f452b9ea77dba38f92f49fe9981356d587·...·]-2">)</span><span·class="p">.</span><span·class="w">
2105 </span><span·class="p"·data-group-id="4070021093-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4070021093-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">2105 </span><span·class="p"·data-group-id="6680654860-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6680654860-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">
2106 ················</span><span·class="p"·data-group-id="4070021093-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">2106 ················</span><span·class="p"·data-group-id="6680654860-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">
2107 ··················</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="4070021093-5">&gt;&gt;</span><span·class="p"·data-group-id="4070021093-4">}</span><span·class="p"·data-group-id="4070021093-3">}</span><span·class="gp·unselectable">2107 ··················</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="6680654860-5">&gt;&gt;</span><span·class="p"·data-group-id="6680654860-4">}</span><span·class="p"·data-group-id="6680654860-3">}</span><span·class="gp·unselectable">
2108 2&gt;·</span><span·class="p"·data-group-id="4070021093-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="4070021093-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·251,·SHA:·38cba1195cbd0a988299660c578af62d3ca99dd2b33d963164724bc2f2845fc9·...·]-7">)</span><span·class="p">.</span><span·class="w">2108 2&gt;·</span><span·class="p"·data-group-id="6680654860-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="6680654860-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·251,·SHA:·9284271e38c70e24d7d37c5dc699696d26cc4c018f83d37628d8e51874e2723c·...·]-7">)</span><span·class="p">.</span><span·class="w">
2109 </span><span·class="p"·data-group-id="4070021093-8">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="4070021093-9">[</span><span·class="p"·data-group-id="4070021093-10">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·491,·SHA:·730a809398af2fc02670b7b5b64b8426dea076e3ed60af902cd67b4d7962d097·...·]-8">}</span><span·class="gp·unselectable">2109 </span><span·class="p"·data-group-id="6680654860-8">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="6680654860-9">[</span><span·class="p"·data-group-id="6680654860-10">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·491,·SHA:·174f97bac8af045358f128ced022c147d06102e284100341b9b5afab7549a0ec·...·]-8">}</span><span·class="gp·unselectable">
2110 3&gt;·</span><span·class="p"·data-group-id="4070021093-13">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="4070021093-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><spa[·...·truncated·by·diffoscope;·len:·610,·SHA:·282993aa9d09e86046e05fe14bdcdd5454692b37762d61ad6b07bb262f270fba·...·]-14">)</span><span·class="p">.</span><span·class="w">2110 3&gt;·</span><span·class="p"·data-group-id="6680654860-13">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="6680654860-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><spa[·...·truncated·by·diffoscope;·len:·610,·SHA:·bf968abaa8438c7cab00853b5d2b6956825be122f08e9b890629d0a1ca357e8c·...·]-14">)</span><span·class="p">.</span><span·class="w">
2111 </span><span·class="p"·data-group-id="4070021093-17">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="4070021093-18">[</span><span·class="p"·data-group-id="4070021093-19">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·419,·SHA:·cb1e9d68283385976e5a3934342298d8c57a7ca2d097d33485e142fc51751066·...·]-17">}</span><span·class="gp·unselectable">2111 </span><span·class="p"·data-group-id="6680654860-17">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="6680654860-18">[</span><span·class="p"·data-group-id="6680654860-19">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·419,·SHA:·abcac8b842fa97f0ff0ea67d24df05a324396c90ad50a46d4d09f89604ce4a99·...·]-17">}</span><span·class="gp·unselectable">
2112 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="4070021093-22">(</span><span·class="n">N</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="4070021093-22">)</span><span·class="p">.</span><span·class="w">2112 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="6680654860-22">(</span><span·class="n">N</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="6680654860-22">)</span><span·class="p">.</span><span·class="w">
2113 </span><span·class="p"·data-group-id="4070021093-23">[</span><span·class="p"·data-group-id="4070021093-24">{</span><span·class="p"·data-group-id="4070021093-25">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="4070021093-25">&gt;&gt;</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·1128,·SHA:·49d49aad6553279265c5badec29d85ef98f17ff56aec87f895fbf82cf163a8fa·...·]-23">]</span></code></pre>2113 </span><span·class="p"·data-group-id="6680654860-23">[</span><span·class="p"·data-group-id="6680654860-24">{</span><span·class="p"·data-group-id="6680654860-25">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="6680654860-25">&gt;&gt;</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·1128,·SHA:·85ca815d758f5e84361a46965aaa4143f26689f4a73bf0829f04c5aa35339ad3·...·]-23">]</span></code></pre>
2114 ··</section>2114 ··</section>
2115 </section>2115 </section>
2116 <section·class="detail"·id="replace/3">2116 <section·class="detail"·id="replace/3">
  
2117 ··<div·class="detail-header">2117 ··<div·class="detail-header">
2118 ····<a·href="#replace/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2118 ····<a·href="#replace/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2119 ······<i·class="ri-link-m"·aria-hidden="true"></i>2119 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2198, 24 lines modifiedOffset 2198, 24 lines modified
2198 both·the·regular·expression·and·<code·class="inline">Subject</code>·are·to·specified·as·valid·Unicode2198 both·the·regular·expression·and·<code·class="inline">Subject</code>·are·to·specified·as·valid·Unicode
2199 <code·class="inline">charlist()</code>s.</p><p>If·the·replacement·is·given·as·a·string,·it·can·contain·the·special·character2199 <code·class="inline">charlist()</code>s.</p><p>If·the·replacement·is·given·as·a·string,·it·can·contain·the·special·character
2200 <code·class="inline">&amp;</code>,·which·inserts·the·whole·matching·expression·in·the·result,·and·the·special2200 <code·class="inline">&amp;</code>,·which·inserts·the·whole·matching·expression·in·the·result,·and·the·special
2201 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·the2201 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
2202 subexpression·number·N,·is·inserted·in·the·result.·If·no·subexpression·with·that2202 subexpression·number·N,·is·inserted·in·the·result.·If·no·subexpression·with·that
2203 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·Erlang2203 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
2204 already·gives·a·special·meaning·to·\·in·literal·strings,·so·a·single·\·must·be2204 already·gives·a·special·meaning·to·\·in·literal·strings,·so·a·single·\·must·be
2205 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="5254385057-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="5254385057-2">[·...·truncated·by·diffoscope;·len:·290,·SHA:·c8d56c1f7b357eb232e2332e3d38a89f0fc36ed6d01beaadfbddf9541cb77754·...·]-1">)</span><span·class="p">.</span><span·class="w">2205 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="0195533375-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="0195533375-2">[·...·truncated·by·diffoscope;·len:·290,·SHA:·c809ec764153b1a8c79a23ba2be1250f7f237262ae5f31b3d19fed5822915c2a·...·]-1">)</span><span·class="p">.</span><span·class="w">
2206 </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="3763902054-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="3763902054-2[·...·truncated·by·diffoscope;·len:·292,·SHA:·de24de32d96bd25b86e2d54a83058686a77d9c68480af522e20cd3fb69a84e18·...·]-1">)</span><span·class="p">.</span><span·class="w">2206 </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="2532513366-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="2532513366-2[·...·truncated·by·diffoscope;·len:·292,·SHA:·09bdb4a0a0179cbcbebb4a89c2bcff0ef502a12daf62157bd793a5d0b8b09bee·...·]-1">)</span><span·class="p">.</span><span·class="w">
2207 </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·matching2207 </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
2208 expression·as·the·first·argument·and·a·list·of·subexpression·matches·in·the2208 expression·as·the·first·argument·and·a·list·of·subexpression·matches·in·the
2209 order·in·which·they·appear·in·the·regular·expression.·The·returned·value·will·be2209 order·in·which·they·appear·in·the·regular·expression.·The·returned·value·will·be
2210 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="8113461364-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">2210 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="2671671535-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">
2211 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="8113461364-2">(</span><span·class="n">Whole</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8113461364-3">[</span><span·class="p"·data-group-id="8113461364-4">&lt;&lt;</span><span·class="n">C</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·133,·SHA:·004db3f3595edf20e2368f917f6ac4b054d9f357e47caf631a293189d4b6abce·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2211 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="2671671535-2">(</span><span·class="n">Whole</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2671671535-3">[</span><span·class="p"·data-group-id="2671671535-4">&lt;&lt;</span><span·class="n">C</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·133,·SHA:·7977c626f874caa9cddcc02e2eaf378e495475eaeaeb7ab725964e3efcc7a70e·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2212 ·········</span><span·class="p"·data-group-id="8113461364-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:·658537b146c20cdbc10dc67323b1ca9b73cea2fedaebebaaad34dd13de223a11·...·]-5">&gt;&gt;</span><span·class="w">2212 ·········</span><span·class="p"·data-group-id="2671671535-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:·17ffd62f77ddf373bc2a85c898d7d63e3e65fe84cdc52212ea27f67c9ced1dc0·...·]-5">&gt;&gt;</span><span·class="w">
2213 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">2213 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
2214 ····</span><span·class="p"·data-group-id="8113461364-7">[</span><span·class="p"·data-group-id="8113461364-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="8113461364-8">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·530491ad60275b32feb745da00298bb7856c5588a424bc626810e83d8353de58·...·]-1">)</span><span·class="p">.</span><span·class="w">2214 ····</span><span·class="p"·data-group-id="2671671535-7">[</span><span·class="p"·data-group-id="2671671535-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="2671671535-8">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·4bd5d38d642f2be016a1d5d48159b90317b2fb328840a2c44e89f8d5c151f94f·...·]-1">)</span><span·class="p">.</span><span·class="w">
2215 </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·of2215 </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
2216 subexpression·matches·if·they·are·the·last·subexpressions·in·the·regular2216 subexpression·matches·if·they·are·the·last·subexpressions·in·the·regular
2217 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;,2217 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;,
2218 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.2218 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.
2219 <a·href="#compile/2"><code·class="inline">compile/2</code></a>·can·be·used·to·get·more·information·about·the·error.</p>2219 <a·href="#compile/2"><code·class="inline">compile/2</code></a>·can·be·used·to·get·more·information·about·the·error.</p>
2220 ··</section>2220 ··</section>
2221 </section>2221 </section>
Offset 2320, 27 lines modifiedOffset 2320, 27 lines modified
2320 any·matching·subexpressions·(or·as·specified·by·option·<code·class="inline">capture</code>.·The2320 any·matching·subexpressions·(or·as·specified·by·option·<code·class="inline">capture</code>.·The
2321 <code·class="inline">Captured</code>·part·of·the·return·value·is·hence·a·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>·of·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>s·when2321 <code·class="inline">Captured</code>·part·of·the·return·value·is·hence·a·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>·of·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>s·when
2322 this·option·is·specified.</p><p>The·interaction·of·option·<code·class="inline">global</code>·with·a·regular·expression·that·matches·an2322 this·option·is·specified.</p><p>The·interaction·of·option·<code·class="inline">global</code>·with·a·regular·expression·that·matches·an
2323 empty·string·surprises·some·users.·When·option·<code·class="inline">global</code>·is·specified,2323 empty·string·surprises·some·users.·When·option·<code·class="inline">global</code>·is·specified,
2324 <a·href="#run/3"><code·class="inline">run/3</code></a>·handles·empty·matches·in·the·same·way·as·Perl:·a2324 <a·href="#run/3"><code·class="inline">run/3</code></a>·handles·empty·matches·in·the·same·way·as·Perl:·a
2325 zero-length·match·at·any·point·is·also·retried·with·options2325 zero-length·match·at·any·point·is·also·retried·with·options
2326 <code·class="inline">[anchored,·notempty_atstart]</code>.·If·that·search·gives·a·result·of·length·&gt;·0,2326 <code·class="inline">[anchored,·notempty_atstart]</code>.·If·that·search·gives·a·result·of·length·&gt;·0,
2327 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="7425711198-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="7425711198-2">[</span><span·class="ss">global</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·87ad1b177b6b8a9ab5019a11bc0c1427d9623663229528fb2f4e7888fe8b5dee·...·]-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·the2327 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="4192297652-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="4192297652-2">[</span><span·class="ss">global</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·bde180f965d53c4f34b2db8f1e55e9a22b1df4350fe88e9db3b97be050b2fdff·...·]-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
2328 initial·position·of·string·<code·class="inline">cat</code>,·giving·the·result·set·<code·class="inline">[{0,0},{0,0}]</code>·(the2328 initial·position·of·string·<code·class="inline">cat</code>,·giving·the·result·set·<code·class="inline">[{0,0},{0,0}]</code>·(the
2329 second·<code·class="inline">{0,0}</code>·is·because·of·the·subexpression·marked·by·the·parentheses).2329 second·<code·class="inline">{0,0}</code>·is·because·of·the·subexpression·marked·by·the·parentheses).
2330 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·is2330 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
2331 retried·with·options·<code·class="inline">[anchored,·notempty_atstart]</code>·at·the·same·position,2331 retried·with·options·<code·class="inline">[anchored,·notempty_atstart]</code>·at·the·same·position,
2332 which·does·not·give·any·interesting·result·of·longer·length,·so·the·search2332 which·does·not·give·any·interesting·result·of·longer·length,·so·the·search
2333 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·is2333 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
2334 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>·is2334 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
2335 found·and·the·result·is·[{1,2},{1,2}].·The·result·is·added·to·the·list2335 found·and·the·result·is·[{1,2},{1,2}].·The·result·is·added·to·the·list
2336 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,·giving2336 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
2337 <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·result2337 <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
2338 of·length·&gt;·0·and·we·are·at·the·last·position,·so·the·global·search·is2338 of·length·&gt;·0·and·we·are·at·the·last·position,·so·the·global·search·is
2339 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="5778023844-1">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="5778023844-2">[</span><span·class="p"·data-group-id="5778023844-3">[</span><span·class="p"·data-group-id="5778023844-4">{</span><span·class="mi">0</sp[·...·truncated·by·diffoscope;·len:·2008,·SHA:·77fe40c11a48c5ab7f3b843bc5977552793ec8700ecb675b0581286f9c20742d·...·]-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·this2339 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="0924840253-1">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="0924840253-2">[</span><span·class="p"·data-group-id="0924840253-3">[</span><span·class="p"·data-group-id="0924840253-4">{</span><span·class="mi">0</sp[·...·truncated·by·diffoscope;·len:·2008,·SHA:·d1c9c68e620dc387bbdccadaa243b8debbddd9bb39bce8e5306183336b0ee9dc·...·]-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
2340 option·is·specified.·If·alternatives·in·the·pattern·exist,·they·are·tried.·If2340 option·is·specified.·If·alternatives·in·the·pattern·exist,·they·are·tried.·If
2341 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;,2341 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;,
2342 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>·searches2342 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
2343 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·match2343 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
2344 that·is·not·at·the·start·of·the·subject·is·permitted.·If·the·pattern·is2344 that·is·not·at·the·start·of·the·subject·is·permitted.·If·the·pattern·is
2345 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·does2345 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
2346 make·a·special·case·of·a·pattern·match·of·the·empty·string·within·its·split()2346 make·a·special·case·of·a·pattern·match·of·the·empty·string·within·its·split()
Offset 2403, 20 lines modifiedOffset 2403, 20 lines modified
2403 than·the·total·number·of·calls,·because·not·all·calls·to·match()·are2403 than·the·total·number·of·calls,·because·not·all·calls·to·match()·are
2404 recursive.·This·limit·is·of·use·only·if·it·is·set·smaller·than2404 recursive.·This·limit·is·of·use·only·if·it·is·set·smaller·than
2405 match_limit.</p><p>Limiting·the·recursion·depth·limits·the·amount·of·machine·stack·that2405 match_limit.</p><p>Limiting·the·recursion·depth·limits·the·amount·of·machine·stack·that
2406 can·be·used,·or,·when·PCRE·has·been·compiled·to·use·memory·on·the·heap2406 can·be·used,·or,·when·PCRE·has·been·compiled·to·use·memory·on·the·heap
2407 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·regular2407 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
2408 expression·match·recursion·occurs.·This·therefore·limits·the·use·of·machine2408 expression·match·recursion·occurs.·This·therefore·limits·the·use·of·machine
2409 heap,·not·C·stack.</p><p>Specifying·a·lower·value·can·result·in·matches·with·deep·recursion·failing,2409 heap,·not·C·stack.</p><p>Specifying·a·lower·value·can·result·in·matches·with·deep·recursion·failing,
2410 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="4884618924-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="4884618924-1">)</span><span·class="p">.</span><span·class="w">2410 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="5890700766-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="5890700766-1">)</span><span·class="p">.</span><span·class="w">
2411 </span><span·class="p"·data-group-id="4884618924-2">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="4884618924-3">[</span><span·class="p"·data-group-id="4884618924-4">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">14</span>[·...·truncated·by·diffoscope;·len:·352,·SHA:·51754f185b02c4b81edd822b265f27c24c88d248eea8f28113fc85ec26e147ae·...·]-2">}</span><span·class="gp·unselectable">2411 </span><span·class="p"·data-group-id="5890700766-2">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="5890700766-3">[</span><span·class="p"·data-group-id="5890700766-4">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">14</span>[·...·truncated·by·diffoscope;·len:·352,·SHA:·6dccdf9eeb1e2beff098cb947961a19fec1fdbff7144e4fa1970e6d21b982b6b·...·]-2">}</span><span·class="gp·unselectable">
2412 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="4884618924-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="4884618924-7">[</span><span·class="p"·data-group-id="4884618924-8[·...·truncated·by·diffoscope;·len:·251,·SHA:·01a703d60045110720fe2205eb57074f4ef3ce6642edf310e8224ca9c33d6d3e·...·]-6">)</span><span·class="p">.</span><span·class="w">2412 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="5890700766-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="5890700766-7">[</span><span·class="p"·data-group-id="5890700766-8[·...·truncated·by·diffoscope;·len:·251,·SHA:·9ad06096f992ca009c7bb861ea0457d1aaa984c8e517b65cad0bc79b7c7a23e0·...·]-6">)</span><span·class="p">.</span><span·class="w">
2413 </span><span·class="ss">nomatch</span><span·class="gp·unselectable">2413 </span><span·class="ss">nomatch</span><span·class="gp·unselectable">
2414 3&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="4884618924-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="4884618924-10">[</span><span·class="p"·data-group-id="4884618924-[·...·truncated·by·diffoscope;·len:·316,·SHA:·426a830710ce1f15b3194a7edbff8af80409eb9f8eb673e5f5d45a79031b50d1·...·]-9">)</span><span·class="p">.</span><span·class="w">2414 3&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="5890700766-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="5890700766-10">[</span><span·class="p"·data-group-id="5890700766-[·...·truncated·by·diffoscope;·len:·316,·SHA:·c3ce69c96a948df317c4b382078c80c22947cb10a77e8d6dfba34e5662a1abc8·...·]-9">)</span><span·class="p">.</span><span·class="w">
2415 </span><span·class="p"·data-group-id="4884618924-12">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">match_limit_recursion</span><span·class="p"·data-group-id="4884618924-12">}</span></code></pre><p>This·option·and·option·<code·class="inline">match_limit</code>·are·only·to·be·used·in·rare·cases.2415 </span><span·class="p"·data-group-id="5890700766-12">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">match_limit_recursion</span><span·class="p"·data-group-id="5890700766-12">}</span></code></pre><p>This·option·and·option·<code·class="inline">match_limit</code>·are·only·to·be·used·in·rare·cases.
Max diff block lines reached; 52402/117227 bytes (44.70%) of diff not shown.
619 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
8.48 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/sets.html
    
Offset 152, 19 lines modifiedOffset 152, 19 lines modified
152 <p>The·following·functions·in·this·module·also·exist·and·provide·the·same152 <p>The·following·functions·in·this·module·also·exist·and·provide·the·same
153 functionality·in·the·<a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>·and·<a·href="ordsets.html"><code·class="inline">ordsets</code></a>·modules.·That·is,·by·only153 functionality·in·the·<a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>·and·<a·href="ordsets.html"><code·class="inline">ordsets</code></a>·modules.·That·is,·by·only
154 changing·the·module·name·for·each·call,·you·can·try·out·different·set154 changing·the·module·name·for·each·call,·you·can·try·out·different·set
155 representations.</p><ul><li><a·href="#add_element/2"><code·class="inline">add_element/2</code></a></li><li><a·href="#del_element/2"><code·class="inline">del_element/2</code></a></li><li><a·href="#filter/2"><code·class="inline">filter/2</code></a></li><li><a·href="#filtermap/2"><code·class="inline">filtermap/2</code></a></li><li><a·href="#fold/3"><code·class="inline">fold/3</code></a></li><li><a·href="#from_list/1"><code·class="inline">from_list/1</code></a></li><li><a·href="#intersection/1"><code·class="inline">intersection/1</code></a></li><li><a·href="#intersection/2"><code·class="inline">intersection/2</code></a></li><li><a·href="#is_element/2"><code·class="inline">is_element/2</code></a></li><li><a·href="#is_empty/1"><code·class="inline">is_empty/1</code></a></li><li><a·href="#is_equal/2"><code·class="inline">is_equal/2</code></a></li><li><a·href="#is_set/1"><code·class="inline">is_set/1</code></a></li><li><a·href="#is_subset/2"><code·class="inline">is_subset/2</code></a></li><li><a·href="#map/2"><code·class="inline">map/2</code></a></li><li><a·href="#new/0"><code·class="inline">new/0</code></a></li><li><a·href="#size/1"><code·class="inline">size/1</code></a></li><li><a·href="#subtract/2"><code·class="inline">subtract/2</code></a></li><li><a·href="#to_list/1"><code·class="inline">to_list/1</code></a></li><li><a·href="#union/1"><code·class="inline">union/1</code></a></li><li><a·href="#union/2"><code·class="inline">union/2</code></a></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>While·the·three·set·implementations·offer·the·same·<em>functionality</em>·with155 representations.</p><ul><li><a·href="#add_element/2"><code·class="inline">add_element/2</code></a></li><li><a·href="#del_element/2"><code·class="inline">del_element/2</code></a></li><li><a·href="#filter/2"><code·class="inline">filter/2</code></a></li><li><a·href="#filtermap/2"><code·class="inline">filtermap/2</code></a></li><li><a·href="#fold/3"><code·class="inline">fold/3</code></a></li><li><a·href="#from_list/1"><code·class="inline">from_list/1</code></a></li><li><a·href="#intersection/1"><code·class="inline">intersection/1</code></a></li><li><a·href="#intersection/2"><code·class="inline">intersection/2</code></a></li><li><a·href="#is_element/2"><code·class="inline">is_element/2</code></a></li><li><a·href="#is_empty/1"><code·class="inline">is_empty/1</code></a></li><li><a·href="#is_equal/2"><code·class="inline">is_equal/2</code></a></li><li><a·href="#is_set/1"><code·class="inline">is_set/1</code></a></li><li><a·href="#is_subset/2"><code·class="inline">is_subset/2</code></a></li><li><a·href="#map/2"><code·class="inline">map/2</code></a></li><li><a·href="#new/0"><code·class="inline">new/0</code></a></li><li><a·href="#size/1"><code·class="inline">size/1</code></a></li><li><a·href="#subtract/2"><code·class="inline">subtract/2</code></a></li><li><a·href="#to_list/1"><code·class="inline">to_list/1</code></a></li><li><a·href="#union/1"><code·class="inline">union/1</code></a></li><li><a·href="#union/2"><code·class="inline">union/2</code></a></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>While·the·three·set·implementations·offer·the·same·<em>functionality</em>·with
156 respect·to·the·aforementioned·functions,·their·overall·<em>behavior</em>·may·differ.156 respect·to·the·aforementioned·functions,·their·overall·<em>behavior</em>·may·differ.
157 As·mentioned,·this·module·considers·elements·as·different·if·and·only·if·they157 As·mentioned,·this·module·considers·elements·as·different·if·and·only·if·they
158 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·elements158 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
159 as·different·if·and·only·if·they·do·not·compare·equal·(<code·class="inline">==</code>).</p><p><em>Example:</em></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">is_element</span><span·class="p"·data-group-id="7295172622-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="7295172622-2">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·204,·SHA:·08bfb49b49ed07f9667e3be00586b3e92b99ef1c5916755120693b0c1a0c8075·...·]-1">)</span><span·class="p">.</span><span·class="w">159 as·different·if·and·only·if·they·do·not·compare·equal·(<code·class="inline">==</code>).</p><p><em>Example:</em></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">is_element</span><span·class="p"·data-group-id="9041964975-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="9041964975-2">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·204,·SHA:·ce65fffcd560e54fccb10a8200fda353a7485cdc4ed0170cd0c6203725db79c8·...·]-1">)</span><span·class="p">.</span><span·class="w">
160 </span><span·class="ss">false</span><span·class="gp·unselectable">160 </span><span·class="ss">false</span><span·class="gp·unselectable">
161 2&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="7295172622-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="7295172622-5">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·bfdf02dc49eaea69677b038cc4a9dd2b950693d0ef55485792500f51e45991fd·...·]-4">)</span><span·class="p">.</span><span·class="w">161 2&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="9041964975-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="9041964975-5">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·b02d2056e4885bd10f525b525126197b751b2e0a10d472b39e0f7a8cb2b3edd8·...·]-4">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="ss">true</span><span·class="gp·unselectable">162 </span><span·class="ss">true</span><span·class="gp·unselectable">
163 2&gt;·</span><span·class="nc">gb_sets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="7295172622-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="7295172622-8">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·486162caf569647b1f5319683e9870adaa94d30f8efca561052d33c2a4f4d3c2·...·]-7">)</span><span·class="p">.</span><span·class="w">163 2&gt;·</span><span·class="nc">gb_sets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="9041964975-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="9041964975-8">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·6dfbb968ab929e63b97fada9e5d4d93e8522391f0dd7924772599a669b540fe2·...·]-7">)</span><span·class="p">.</span><span·class="w">
164 </span><span·class="ss">true</span></code></pre></section><h2·id="module-see-also"·class="section-heading">164 </span><span·class="ss">true</span></code></pre></section><h2·id="module-see-also"·class="section-heading">
165 ··<a·href="#module-see-also"·class="hover-link">165 ··<a·href="#module-see-also"·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">See·Also</span>168 ··<span·class="text">See·Also</span>
169 </h2>169 </h2>
170 <p><a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>,·<a·href="ordsets.html"><code·class="inline">ordsets</code></a></p>170 <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 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1177 <p>Copyright·©·1996-2025·<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;
683 B
html2text {}
Max HTML report size reached
74.3 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="1975474630-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="1975474630-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="1020917939-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="1020917939-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="6146951376-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="6146951376-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.3[·...·truncated·by·diffoscope;·len:·363,·SHA:·18f73387c02c79377048f591ae6fedfdd16ac2f55b673e04b2c674f53d52c72f·...·]-3">]</span><span·class="w">237 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="6282421927-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="6282421927-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.3[·...·truncated·by·diffoscope;·len:·363,·SHA:·76811cc695d5f3d58a59e1ca8bf621c18287b71acaab12f24b91f8fd9750fff3·...·]-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="6146951376-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="6146951376-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="6282421927-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="6282421927-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="1598304114-1">(</span><span·class="n">Str</span><span·class="p"·data-group-id="1598304114-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="2957559188-1">(</span><span·class="n">Str</span><span·class="p"·data-group-id="2957559188-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="4004981783-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="4004981783-2">(</span><span·class="n">Str</span><span·class="p"·data-group-id="4004981783-2">)</span><span·class="p"·data-group-id="4004981783-1">}</span><span·class="p">.</span><span·class="w"> 
242 </span><span·class="p"·data-group-id="4004981783-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="4004981783-3">}</span></code></pre><p>Command·3·builds·the·tuple·<code·class="inline">Descriptor</code>,·eva[·...·truncated·by·diffoscope;·len:·15,·SHA:·0e7c15d0efd82a20bed5450963d958a2c7209265c55b1cf8553de8fc20daa29f·...·]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[·...·truncated·by·diffoscope;·len:·459,·SHA:·97535830325c03207a23161d727e64f38590720b7f2e7e9966623e402006495b·...·]
 242 </span><span·class="p"·data-group-id="1781768972-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="1781768972-3">}</span></code></pre><p>Command·3·builds·the·tuple·<code·class="inline">Descriptor</code>,·evaluating·the·BIF
243 <a·href="../../../../erts-15.2.7/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-15.2.7/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="1343985817-1">(</span><span·class="p"·data-group-id="1343985817-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="2305698038-1">(</span><span·class="p"·data-group-id="2305698038-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="1343985817-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="1343985817-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="2305698038-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="2305698038-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="5533578502-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="5533578502-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="6959797327-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="6959797327-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="7642477904-1">(</span><span·class="p"·data-group-id="7642477904-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="1246115374-1">(</span><span·class="p"·data-group-id="1246115374-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="7642477904-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="7642477904-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="1246115374-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="1246115374-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="2088987174-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="2088987174-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="6448388329-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="6448388329-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="3165493270-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="3165493270-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="9462900082-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="9462900082-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="3165493270-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="3165493270-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="9462900082-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="9462900082-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="9221436187-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="9221436187-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="6617728990-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="6617728990-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="7330146116-1">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="7330146116-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="9176170760-1">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="9176170760-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="1587014998-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="1587014998-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="0645798945-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="0645798945-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="1587014998-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="1587014998-2">}</span><span·class="gp·unselectable">270 </span><span·class="p"·data-group-id="0645798945-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="0645798945-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="0010967256-1">(</span><span·class="p"·data-group-id="0010967256-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="8492482130-1">(</span><span·class="p"·data-group-id="8492482130-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="1131700253-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="1131700253-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="8552496922-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="8552496922-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="1131700253-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="1131700253-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="8552496922-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="8552496922-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="0960006382-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="0960006382-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="1338577693-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="1338577693-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="0960006382-2">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="0960006382-2">)</span><span·class="p">.</span><span·class="w">278 18&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="1338577693-2">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="1338577693-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="1680041688-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="1680041688-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="6960522823-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="6960522823-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="2950668880-1">(</span><span·class="p"·data-group-id="2950668880-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="3579873952-1">(</span><span·class="p"·data-group-id="3579873952-1">)</span><span·class="p">.</span><span·class="w">
284 </span><span·class="p"·data-group-id="2950668880-2">[</span><span·class="p"·data-group-id="2950668880-3">{</span><span·class="ss">aa</span><span·class="p">,</span><span·class="ss">worked</span><span·class="p"·data-group-id="2950668880-3">}</span><span·class="p"·data-group-id="2950668880-2">]</span><span·class="gp·unselectable">284 </span><span·class="p"·data-group-id="3579873952-2">[</span><span·class="p"·data-group-id="3579873952-3">{</span><span·class="ss">aa</span><span·class="p">,</span><span·class="ss">worked</span><span·class="p"·data-group-id="3579873952-3">}</span><span·class="p"·data-group-id="3579873952-2">]</span><span·class="gp·unselectable">
285 21&gt;·</span><span·class="nf">put</span><span·class="p"·data-group-id="2950668880-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="2950668880-4">)</span><span·class="p">.</span><span·class="w">285 21&gt;·</span><span·class="nf">put</span><span·class="p"·data-group-id="3579873952-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="3579873952-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="2950668880-5">(</span><span·class="mi">2</span><span·class="p"·data-group-id="2950668880-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="3579873952-5">(</span><span·class="mi">2</span><span·class="p"·data-group-id="3579873952-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="2139781720-1">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="2139781720-1">)</span><span·class="p">.</span><span·class="w">293 24&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="2208980393-1">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="2208980393-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="2694366494-1">(</span><span·class="p"·data-group-id="2694366494-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">put</span><span·class="p"·data-group-id="2694366494-2">(</span><span·class="ss">aa</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·90,·SHA:·0b29fd89cffc3b1a752dde1498ee51124ee7cdcb94416a15d9f8918d4b75e4d9·...·]4-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="8669089404-1">(</span><span·class="p"·data-group-id="8669089404-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">put</span><span·class="p"·data-group-id="8669089404-2">(</span><span·class="ss">aa</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·90,·SHA:·5f14af789c5c581a8cd7e807f319376a5b8bafd40d9b51fb56586a82a03244ce·...·]4-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="2694366494-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="2694366494-4">[</span><span·class="mi">1</span><sp[·...·truncated·by·diffoscope;·len:·90,·SHA:·5406b1450a22b06254cf8600612d49c66af536d22bbe2f9e808f6250f14a0fa0·...·]4-3">)</span><span·class="p">.</span><span·class="w">297 26&gt;·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="8669089404-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="8669089404-4">[</span><span·class="mi">1</span><sp[·...·truncated·by·diffoscope;·len:·90,·SHA:·f5b1a8730fcf89573c0968834852c26b5ca1aafce268f6b40b232eed07c62363·...·]4-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="2694366494-5">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="2694366494-5">)</span><span·class="p">.</span><span·class="w">299 27&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="8669089404-5">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="8669089404-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="9098991504-1">(</span><span·class="s">&quot;hello·hello\n&quot;</span><span·class="p"·data-group-id="9098991504-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="3144259914-1">(</span><span·class="s">&quot;hello·hello\n&quot;</span><span·class="p"·data-group-id="3144259914-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="9098991504-2">(</span><span·class="mi">28</span><span·class="p"·data-group-id="9098991504-2">)</span><span·class="p">.</span><span·class="w">306 29&gt;·</span><span·class="nf">e</span><span·class="p"·data-group-id="3144259914-2">(</span><span·class="mi">28</span><span·class="p"·data-group-id="3144259914-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="9098991504-3">(</span><span·class="mi">28</span><span·class="p"·data-group-id="9098991504-3">)</span><span·class="p">.</span><span·class="w">309 30&gt;·</span><span·class="nf">v</span><span·class="p"·data-group-id="3144259914-3">(</span><span·class="mi">28</span><span·class="p"·data-group-id="3144259914-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="9531982547-1">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="9531982547-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="3680863278-1">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="3680863278-1">)</span><span·class="p">.</span><span·class="w">
315 </span><span·class="p"·data-group-id="9531982547-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">ex</span><span·class="p"·data-group-id="9531982547-2">}</span><span·class="gp·unselectable">315 </span><span·class="p"·data-group-id="3680863278-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">ex</span><span·class="p"·data-group-id="3680863278-2">}</span><span·class="gp·unselectable">
316 32&gt;·</span><span·class="nf">rr</span><span·class="p"·data-group-id="9531982547-3">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="9531982547-3">)</span><span·class="p">.</span><span·class="w">316 32&gt;·</span><span·class="nf">rr</span><span·class="p"·data-group-id="3680863278-3">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="3680863278-3">)</span><span·class="p">.</span><span·class="w">
317 </span><span·class="p"·data-group-id="9531982547-4">[</span><span·class="ss">rec</span><span·class="p"·data-group-id="9531982547-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="3680863278-4">[</span><span·class="ss">rec</span><span·class="p"·data-group-id="3680863278-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="5255806090-1">(</span><span·class="ss">rec</span><span·class="p"·data-group-id="5255806090-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="9513697579-1">(</span><span·class="ss">rec</span><span·class="p"·data-group-id="9513697579-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="5255806090-2">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="p"·data-group-id="5255806090-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:·ff89156b020a1aef27505c23bef0c6279c3cb3529d51286aa78256017759a7a4·...·]-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="9513697579-2">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="p"·data-group-id="9513697579-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:·6b3ae008b03934c7c49c9d215c8ff4b9d451290a33d30800f4d542af33038fc6·...·]-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="2949184459-1">{</span><span·class="p"·data-group-id="2949184459-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="4900223404-1">{</span><span·class="p"·data-group-id="4900223404-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="7363996042-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="7363996042-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="4043309151-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="4043309151-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="7363996042-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:·ad70fe930b697d8f91df349e176e35269ba274c218f4eb574bd460f10e9e0c46·...·]-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="4043309151-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:·9558ec2c751553d7708fb28797702c6faf5295915d7794206d76938709b205c6·...·]-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="4857594671-1">(</span><span·class="nf">v</span><span·class="p"·data-group-id="4857594671-2">(</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="4857594671-2">)</span><span·class="p"·data-group-id="4857594671-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="7758687922-1">(</span><span·class="nf">v</span><span·class="p"·data-group-id="7758687922-2">(</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="7758687922-2">)</span><span·class="p"·data-group-id="7758687922-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="4857594671-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:·51fe737f31101ea68619d1b34b5e00659b54126ad4d1b35179f4667d288b2114·...·]-3">}</span><span·class="w">326 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="7758687922-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:·7f12005f5d668801c0e8048f544739402b112bc7e31358071ce330429edf92cf·...·]-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="6024354982-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6024354982-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:·76a91a6d3e5d3ab8bf40769eb795c3e8307c39b5532c0cda5466f1627b6544a6·...·]-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="5149472463-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5149472463-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:·7fba08f353dc3197084c97b5c07b445e3382a2d7016102f25dc5192e8f8c01a1·...·]-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="2205971917-1">{</span><span·class="p"·data-group-id="2205971917-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="3062653947-1">{</span><span·class="p"·data-group-id="3062653947-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="2205971917-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="2205971917-3">[</span><span·class="p"·data-group-id="2205971917-3">]</span><span·class="p"·data-group-id="2205971917-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[·...·truncated·by·diffoscope;·len:·372,·SHA:·1400c01e4e04c15471e982a5e6719c1cd55329d5c13a3d94b3beeb8be9141b46·...·]</span><span·class="w">331 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="3062653947-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="3062653947-3">[</span><span·class="p"[·...·truncated·by·diffoscope;·len:·84,·SHA:·86b816a7d04c6f843f02c9915e7bb6afd65493a6e8b7b08864de7f4ceb73f0bd·...·]</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="8465513804-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8465513804-2">{</span><span·class="ss">c</span><span·class="p"·data-group-id="8465513804-2">}</span><span·class="p"·data-group-id="8465513804-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="1615221108-3">{</span><span·class="p"·data-group-id="1615221108-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="8465513804-3">{</span><span·class="p"·data-group-id="8465513804-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="1615221108-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="1615221108-4">}</span><span·class="w">335 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="8465513804-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="8465513804-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
Max diff block lines reached; 23638/75386 bytes (31.36%) of diff not shown.
594 B
html2text {}
Max HTML report size reached
4.25 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/shell_default.html
    
Offset 125, 18 lines modifiedOffset 125, 18 lines modified
125 ····<small·class="app-vsn"·translate="no">(stdlib·v6.2.2)</small>125 ····<small·class="app-vsn"·translate="no">(stdlib·v6.2.2)</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="1020705742-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="1020705742-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="3187347921-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="3187347921-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="1020705742-2">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="1020705742-2">)</span><span·class="p">.</span><span·class="w">131 2&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="3187347921-2">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="3187347921-2">)</span><span·class="p">.</span><span·class="w">
132 </span><span·class="p"·data-group-id="1020705742-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="1020705742-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="3187347921-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="3187347921-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>236 <p>Copyright·©·1996-2025·<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;
573 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/shell_docs.html
    
Offset 1242, 15 lines modifiedOffset 1242, 15 lines modified
1242 ······<p·class="built-using">1242 ······<p·class="built-using">
1243 ········Built·using1243 ········Built·using
1244 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1244 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1245 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1245 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1246 ······</p>1246 ······</p>
1247 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1247 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1248 ····</footer>1248 ····</footer>
1249 ··</div>1249 ··</div>
1250 </main>1250 </main>
1251 </div>1251 </div>
1252 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1252 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1253 ··<script>1253 ··<script>
1254 ··let·initialized·=·false;1254 ··let·initialized·=·false;
673 B
html2text {}
Max HTML report size reached
9.3 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="9091078334-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:·462,·SHA:·d2fc69c0346e134c325780fed4be61d11d6c55ffa14783982bfaef2e7b5f9472·...·]-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="8618752211-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:·462,·SHA:·4252db3383adaac522ea82e590d9124c16d4e06b541fdc31e52c6bf869815eb7·...·]-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-15.2.7/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-15.2.7/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="4142146051-1">(</span><span·class="p"·data-group-id="4142146051-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="0244723065-1">(</span><span·class="p"·data-group-id="0244723065-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="4142146051-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="4142146051-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="0244723065-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="0244723065-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>691 <p>Copyright·©·1996-2025·<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
393 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/sofs.html
Max HTML report size reached
4.41 MB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/stdlib.epub
13.0 KB
zipinfo {}
Max HTML report size reached
519 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
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
12.9 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
392 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
7.03 KB
OEBPS/sets.xhtml
Max HTML report size reached
114 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
123 KB
OEBPS/orddict.xhtml
Max HTML report size reached
40.3 KB
OEBPS/notes.xhtml
Max HTML report size reached
140 KB
OEBPS/ms_transform.xhtml
Max HTML report size reached
205 KB
OEBPS/maps.xhtml
Max HTML report size reached
164 KB
OEBPS/lists.xhtml
Max HTML report size reached
47.8 KB
OEBPS/json.xhtml
Max HTML report size reached
184 KB
OEBPS/io_protocol.xhtml
Max HTML report size reached
13.2 KB
OEBPS/io_lib.xhtml
Max HTML report size reached
399 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
181 KB
OEBPS/gen_fsm.xhtml
Max HTML report size reached
6.65 KB
OEBPS/gen_event.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
120 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
1.22 KB
OEBPS/content.opf
1.19 KB
OEBPS/content.opf
Max HTML report size reached
12.2 KB
OEBPS/calendar.xhtml
Max HTML report size reached
2.09 KB
OEBPS/c.xhtml
Max HTML report size reached
109 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-6.2.2/doc/html/stdlib_app.html
    
Offset 157, 21 lines modifiedOffset 157, 21 lines modified
157 string·and·returns·a·formatted·expressions·as·a·string.·See157 string·and·returns·a·formatted·expressions·as·a·string.·See
158 <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.·Your158 <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
159 command·must·include·<code·class="inline">${file}</code>·somewhere·in·the·string,·for·the·shell·to·know159 command·must·include·<code·class="inline">${file}</code>·somewhere·in·the·string,·for·the·shell·to·know
160 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·multiline160 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
161 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·be161 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
162 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.162 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 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">163 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 </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="0683343197-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="0683343197-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="0683343197-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">1[·...·truncated·by·diffoscope;·len:·1496,·SHA:·3c85a34fe755c835019d58d3e64bb0863cc6f983ed2fa7d9c26b76f5c688a7c0·...·]-8">]</span><span·class="w">164 </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="4457489410-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="4457489410-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="4457489410-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">1[·...·truncated·by·diffoscope;·len:·1496,·SHA:·8aa82af5619b0f055a48c21be64e854a2219ed33e8007ea20342e4f67542cb0a·...·]-8">]</span><span·class="w">
  
165 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">165 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">
166 </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>·-·The166 </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
167 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">167 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 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">168 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">
169 </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="1916732361-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="1916732361-1">)</span><span·class="w">169 </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="6884937683-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="6884937683-1">)</span><span·class="w">
170 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre><p>The·default·is·the·return·value·of170 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre><p>The·default·is·the·return·value·of
171 <a·href="../../../../erts-15.2.7/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·determine171 <a·href="../../../../erts-15.2.7/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
172 how·the·Erlang·shell·outputs·lists·of·integers.</p></li></ul><h2·id="see-also"·class="section-heading">172 how·the·Erlang·shell·outputs·lists·of·integers.</p></li></ul><h2·id="see-also"·class="section-heading">
173 ··<a·href="#see-also"·class="hover-link">173 ··<a·href="#see-also"·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">See·Also</span>176 ··<span·class="text">See·Also</span>
Offset 223, 15 lines modifiedOffset 223, 15 lines modified
223 ······<p·class="built-using">223 ······<p·class="built-using">
224 ········Built·using224 ········Built·using
225 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the225 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
226 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>226 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
227 ······</p>227 ······</p>
228 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>228 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
229 ····</footer>229 ····</footer>
230 ··</div>230 ··</div>
231 </main>231 </main>
232 </div>232 </div>
233 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>233 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
234 ··<script>234 ··<script>
235 ··let·initialized·=·false;235 ··let·initialized·=·false;
682 B
html2text {}
Max HTML report size reached
148 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="8102917165-1">(</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="8102917165-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="9895928197-1">(</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="9895928197-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="8102917165-2">(</span><span·class="p"·data-group-id="8102917165-3">&lt;&lt;</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="8102917165-3">&gt;&gt;</span><span·class="p"·data-group-id="8102917165-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="9895928197-2">(</span><span·class="p"·data-group-id="9895928197-3">&lt;&lt;</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="9895928197-3">&gt;&gt;</span><span·class="p"·data-group-id="9895928197-2">)</span><span·class="p">.</span><span·class="w">
155 </span><span·class="p"·data-group-id="8102917165-4">&lt;&lt;</span><span·class="s">&quot;sarah&quot;</span><span·class="p"·data-group-id="8102917165-4">&gt;&gt;</span><span·class="gp·unselectable">155 </span><span·class="p"·data-group-id="9895928197-4">&lt;&lt;</span><span·class="s">&quot;sarah&quot;</span><span·class="p"·data-group-id="9895928197-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="8102917165-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="8102917165-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="9895928197-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="9895928197-5">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="8102917165-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="8102917165-6">]</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="9895928197-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="9895928197-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="8102917165-7">(</span><span·class="p"·data-group-id="8102917165-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="8102917165-8">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;·&quot;</span><span·class="p"·data-group-id="8102917165-7">)</span><span·class="p">.</span><span·class="w"> 
159 </span><span·class="p"·data-group-id="8102917165-9">[</span><span·class="p"·data-group-id="8102917165-10">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="8102917165-10">&gt;&gt;</span><span·class="p">,</span><span·class=[·...·truncated·by·diffoscope;·len:·359,·SHA:·a6de6d06d14356364aa5b591cc9317029fdf7f5451f3b19afb5d968f38a6f40f·...·]>158 4&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">lexemes</span><span·class="p"·data-group-id="9895928197-7">(</span><span·class="p"·data-group-id="9895928197-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><sp[·...·truncated·by·diffoscope;·len:·233,·SHA:·bb0de87b1b62aada1ae25b353e0082008e51e3b2de20e722aec6ed617d114285·...·]>
 159 </span><span·class="p"·data-group-id="9895928197-9">[</span><span·class="p"·data-group-id="9895928197-10">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="9895928197-10">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="9895928197-11">&lt;&lt;</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="9895928197-11">&gt;&gt;</span><span·class="p"·data-group-id="9895928197-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="6378733249-1">(</span><span·class="s">&quot;Ω·and··SHARP·S&quot;</span><span·class="p"·data-group-id="6378733249-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="3876718399-1">(</span><span·class="s">&quot;Ω·and··SHARP·S&quot;</span><span·class="p"·data-group-id="3876718399-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="0969256651-1">(</span><span·class="p"·data-group-id="0969256651-2">&lt;&lt;</span><span·class="s">&quot;\nHello\n\n&quot;</span><span·class="p"·data-group-id="0969256651-2">&gt;&gt;</span><span·class="p"·data-group-id="0969256651-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="8531512792-1">(</span><span·class="p"·data-group-id="8531512792-2">&lt;&lt;</span><span·class="s">&quot;\nHello\n\n&quot;</span><span·class="p"·data-group-id="8531512792-2">&gt;&gt;</span><span·class="p"·data-group-id="8531512792-1">)</span><span·class="p">.</span><span·class="w">
1097 </span><span·class="p"·data-group-id="0969256651-3">&lt;&lt;</span><span·class="s">&quot;\nHello&quot;</span><span·class="p"·data-group-id="0969256651-3">&gt;&gt;</span><span·class="gp·unselectable">1097 </span><span·class="p"·data-group-id="8531512792-3">&lt;&lt;</span><span·class="s">&quot;\nHello&quot;</span><span·class="p"·data-group-id="8531512792-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="0969256651-4">(</span><span·class="s">&quot;\nHello\r\r\n&quot;</span><span·class="p"·data-group-id="0969256651-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="8531512792-4">(</span><span·class="s">&quot;\nHello\r\r\n&quot;</span><span·class="p"·data-group-id="8531512792-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="2468774534-1">(</span><span·class="s">&quot;åäö&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2468774534-2">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</spa[·...·truncated·by·diffoscope;·len:·102,·SHA:·3c8f9fbd6a6e80ec652bd90c46fed192342813516cda50f9598f9f8f9200d3aa·...·]4-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="1558595924-1">(</span><span·class="s">&quot;åäö&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1558595924-2">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</spa[·...·truncated·by·diffoscope;·len:·102,·SHA:·3848f5f08fb2be2c6237076f7cccb7591e3b1a051b090772c27cb1ef34c10efa·...·]4-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="2468774534-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="2468774534-4">[·...·truncated·by·diffoscope;·len:·139,·SHA:·1730d1166f65e1084f1592e131296523e9656004403a38f9b5b6926f809830da·...·]4-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="1558595924-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="1558595924-4">[·...·truncated·by·diffoscope;·len:·139,·SHA:·6834894b61410494166977ce927a33acc20b62e932f22a143c34b2b21ee21718·...·]4-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="2468774534-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="2468774534-6">[·...·truncated·by·diffoscope;·len:·290,·SHA:·bb7714f1ea4e529800f72b2e40b83c247cd7ebe7abacc1e8bf55e8a94705f5c3·...·]4-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="1558595924-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="1558595924-6">[·...·truncated·by·diffoscope;·len:·290,·SHA:·585757434578db226a6fd8f4ed8ca995ea3b904b1ae865a6ad7ad54a0c045bee·...·]4-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="6140578980-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="6140578980-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="1644249384-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="1644249384-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="6140578980-2">(</span><span·class="p"·data-group-id="6140578980-3">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="6140578980-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·137,·SHA:·c2545aac228ed0c1f195b3554f2af02ded97f32c577c9f7b785c66b9a00cb7c8·...·]-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="1644249384-2">(</span><span·class="p"·data-group-id="1644249384-3">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="1644249384-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·137,·SHA:·2e48c58c3e3611d8e5fe6ff7f075fc7210db972ec324ea8c781072744453ecb6·...·]-2">)</span><span·class="p">.</span><span·class="w">
1263 </span><span·class="p"·data-group-id="6140578980-4">&lt;&lt;</span><span·class="s">&quot;..ef&quot;</span><span·class="p"·data-group-id="6140578980-4">&gt;&gt;</span><span·class="gp·unselectable">1263 </span><span·class="p"·data-group-id="1644249384-4">&lt;&lt;</span><span·class="s">&quot;..ef&quot;</span><span·class="p"·data-group-id="1644249384-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="6140578980-5">(</span><span·class="p"·data-group-id="6140578980-6">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="6140578980-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·135,·SHA:·53c688a5bc407ce539e2a7c11c8af0fa2e46bf54d263872b9344017dd21d6923·...·]-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="1644249384-5">(</span><span·class="p"·data-group-id="1644249384-6">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="1644249384-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·135,·SHA:·ab8c0bebcb434ca38668f8f3ec020502910ad60edf3eb062d64f0cc0a216fcce·...·]-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="6140578980-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:·fea9f2bd63d92d13929b09cf38d6a255c48ffc08e916d4f31192b2ff92df1d86·...·]-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="1644249384-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:·4e9876e8beebc8c542508eb8058b05974b14673b9985594f76f5f8bc996f88a0·...·]-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-15.2.7/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-15.2.7/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="8154816799-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="8154816799-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="4699547699-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="4699547699-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="8154816799-2">(</span><span·class="p"·data-group-id="8154816799-3">[</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8154816799-4">&lt;&lt;</span><span·class="p"·data-group-id="8154816799-4">&gt;&gt;</span><s[·...·truncated·by·diffoscope;·len:·90,·SHA:·25acc6652f714458fce93404c2c8d99d50f805e8d1c773c5d685b7f9c4cb4ce4·...·]99-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="4699547699-2">(</span><span·class="p"·data-group-id="4699547699-3">[</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="4699547699-4">&lt;&lt;</span><span·class="p"·data-group-id="4699547699-4">&gt;&gt;</span><s[·...·truncated·by·diffoscope;·len:·90,·SHA:·b42e682e14eb84c56b4491f9a0f78c58d6e9bfb225a2f67c207e44f0d1fc2ac6·...·]99-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-15.2.7/doc/html/erlang.html#t:float/0">float</a>().</pre>1328 ·····························Similarity·::·<a·href="../../../../erts-15.2.7/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="1310160890-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="1310160890-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="8326527275-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="8326527275-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">
Max diff block lines reached; 123207/151261 bytes (81.45%) of diff not shown.
581 B
html2text {}
Max HTML report size reached
14.3 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/supervisor.html
    
Offset 154, 18 lines modifiedOffset 154, 18 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="9582872931-1">(</span><span·class="p"·data-group-id="9582872931-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9582872931-2">#{</span><span·class="ss">strategy</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">strategy</span><span·class="p"·data-group-id="9582872931-3">(</span><span·class="p"·data-group-id="9582872931-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="9582872931-4">(</span><span·class="p"·data-group-id="9582872931-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="9582872931-5">(</span><span·class="p"·data-group-id="9582872931-5">)</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·optional</span><span·class="w"> 
164 ················</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="9582872931-6">(</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·262,·SHA:·c584c96b4406eccc947c9361d6b9b1c1edfd1ac4ba8d0d6442dc9cb8d31f08bc·...·]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="0785173584-1">(</span><span·class="p"·data-group-id="0785173584-1">)</span><span·class="w"[·...·truncated·by·diffoscope;·len:·465,·SHA:·d91717ab439d7ad1b6a6f9a9930eccc69b4b8f540fd7c9202ecfb87672a07d02·...·]
 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="0785173584-4">(</span><span·class="p"·data-group-id="0785173584-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="0785173584-5">(</span><span·class="p"·data-group-id="0785173584-5">)</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·optional</span><span·class="w">
 164 ················</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="0785173584-6">(</span><span·class="p"·data-group-id="0785173584-6">)</span><span·class="p"·data-group-id="0785173584-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
165 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,·only165 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
166 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,·all166 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
167 other·child·processes·are·terminated·and·then·all·child·processes·are167 other·child·processes·are·terminated·and·then·all·child·processes·are
168 restarted.</p></li><li><p><code·class="inline">rest_for_one</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·the168 restarted.</p></li><li><p><code·class="inline">rest_for_one</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·the
169 'rest'·of·the·child·processes·(that·is,·the·child·processes·after·the169 'rest'·of·the·child·processes·(that·is,·the·child·processes·after·the
170 terminated·child·process·in·the·start·order)·are·terminated.·Then·the170 terminated·child·process·in·the·start·order)·are·terminated.·Then·the
171 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·child171 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 201, 21 lines modifiedOffset 201, 21 lines modified
201 the·automatic·shutdowns·they·rely·on·will·not·happen.</p><p>It·is·up·to·implementors·to·take·proper·precautions·if·they·expect·that·their201 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
202 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">202 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">
203 ··<a·href="#module-child-specification"·class="hover-link">203 ··<a·href="#module-child-specification"·class="hover-link">
204 ····<i·class="ri-link-m"·aria-hidden="true"></i>204 ····<i·class="ri-link-m"·aria-hidden="true"></i>
205 ··</a>205 ··</a>
206 ··<span·class="text">Child·specification</span>206 ··<span·class="text">Child·specification</span>
207 </h3>207 </h3>
208 <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="4072982091-1">(</span><span·class="p"·data-group-id="4072982091-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4072982091-2">#{</span><span·class="ss">id</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·172,·SHA:·9e7552e9ab7d832d3743c986027175f6b99e13130dce0ba029d6477a2488fc20·...·]-3">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·mandatory</span><span·class="w">208 <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="4267353145-1">(</span><span·class="p"·data-group-id="4267353145-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4267353145-2">#{</span><span·class="ss">id</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·172,·SHA:·c8dc9ce258f313f75719f8254961ad38d760648ddf8285a1bf1342f6c5fe559c·...·]-3">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·mandatory</span><span·class="w">
209 ·················</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="4072982091-4">(</span><span·class="p"·data-group-id="4072982091-4">)</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·mandatory</span><span·class="w">209 ·················</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="4267353145-4">(</span><span·class="p"·data-group-id="4267353145-4">)</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·mandatory</span><span·class="w">
210 ·················</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="4072982091-5">(</span><span·class="p"·data-group-id="4072982091-5">)</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·optional</span><span·class="w">210 ·················</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="4267353145-5">(</span><span·class="p"·data-group-id="4267353145-5">)</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·optional</span><span·class="w">
211 ·················</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="4072982091-6">(</span><span·class="p"·data-group-id="4072982091-6">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·optional</span><span·class="w">211 ·················</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="4267353145-6">(</span><span·class="p"·data-group-id="4267353145-6">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·optional</span><span·class="w">
212 ·················</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="4072982091-7">(</span><span·class="p"·data-group-id="4072982091-7">)</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·optional</span><span·class="w">212 ·················</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="4267353145-7">(</span><span·class="p"·data-group-id="4267353145-7">)</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·optional</span><span·class="w">
213 ·················</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="4072982091-8">(</span><span·class="p"·data-group-id="4072982091-8">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·optional</span><span·class="w">213 ·················</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="4267353145-8">(</span><span·class="p"·data-group-id="4267353145-8">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·optional</span><span·class="w">
214 ·················</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="4072982091-9">(</span><span·class="p"·data-group-id="4072982091-9">)</span><span·class="p"·data-group-id="4072982091-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>,214 ·················</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="4267353145-9">(</span><span·class="p"·data-group-id="4267353145-9">)</span><span·class="p"·data-group-id="4267353145-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>,
215 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·as215 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
216 possible,·the·terms·&quot;identifier&quot;·or·&quot;id&quot;·are·now·used·but·to·keep·backward216 possible,·the·terms·&quot;identifier&quot;·or·&quot;id&quot;·are·now·used·but·to·keep·backward
217 compatibility,·some·occurences·of·&quot;name&quot;·can·still·be·found,·for·example·in217 compatibility,·some·occurences·of·&quot;name&quot;·can·still·be·found,·for·example·in
218 error·messages.</p></li><li><p><code·class="inline">start</code>·defines·the·function·call·used·to·start·the·child·process.·It·must·be218 error·messages.</p></li><li><p><code·class="inline">start</code>·defines·the·function·call·used·to·start·the·child·process.·It·must·be
219 a·module-function-arguments·tuple·<code·class="inline">{M,F,A}</code>·used·as219 a·module-function-arguments·tuple·<code·class="inline">{M,F,A}</code>·used·as
220 <a·href="../../../../erts-15.2.7/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·must220 <a·href="../../../../erts-15.2.7/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
221 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·the221 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 1738, 15 lines modifiedOffset 1738, 15 lines modified
1738 ······<p·class="built-using">1738 ······<p·class="built-using">
1739 ········Built·using1739 ········Built·using
1740 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1740 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1741 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1741 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1742 ······</p>1742 ······</p>
1743 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1743 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1744 ····</footer>1744 ····</footer>
1745 ··</div>1745 ··</div>
1746 </main>1746 </main>
1747 </div>1747 </div>
1748 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1748 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1749 ··<script>1749 ··<script>
1750 ··let·initialized·=·false;1750 ··let·initialized·=·false;
652 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>412 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2234 <p>Copyright·©·1996-2025·<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
20.8 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/doc/html/timer.html
    
Offset 142, 23 lines modifiedOffset 142, 23 lines modified
142 <a·href="../../../../erts-15.2.7/doc/html/time_correction.html"><em>Time·and·Time·Correction·in·Erlang</em></a>142 <a·href="../../../../erts-15.2.7/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="9981129235-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:·93317c5248d282da373712b043098d4395b8508da499b72b82872fe736dce12c·...·]-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="4252417614-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:·3fea92d11a6e340810a0abd7f7f5a540cc962032fed5e16eaf6e0f2493d82593·...·]-1">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="p"·data-group-id="9981129235-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="9981129235-4">}</span><span·class="w">150 </span><span·class="p"·data-group-id="4252417614-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="4252417614-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="5108410600-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="5108410600-2">[</span><span·class="ss">foo</span><span[·...·truncated·by·diffoscope;·len:·164,·SHA:·610ec07a3a158575c121b2fde6c4c0d58d5167a88777da1f1fc0d9555bb5aa1c·...·]-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="0771808867-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="0771808867-2">[</span><span·class="ss">foo</span><span[·...·truncated·by·diffoscope;·len:·164,·SHA:·a3e039b2f75e1c3a9fd0ec815482ad7e27f192da3bc0a9f4c35d6ed21a0d4273·...·]-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="5108410600-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="5108410600-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·460,·SHA:·57cd09c5684419aa7864f37d3d30a82ff445ef4e84fd0b7e7ab9a790677d4ef0·...·]-4">)</span><span·class="p">,</span><span·class="w">154 </span><span·class="p"·data-group-id="0771808867-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="0771808867-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·460,·SHA:·e14d57a53db03b7e5c52e285b7c550e3356ade1c3be1a9939c7dfa2341cf4ba6·...·]-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="5108410600-6">(</span><span·class="n">R</span><span·class="p"·data-group-id="5108410600-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="0771808867-6">(</span><span·class="n">R</span><span·class="p"·data-group-id="0771808867-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-15.2.7/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-15.2.7/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-15.2.7/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-15.2.7/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="9198682700-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="9198682700-2">(</span><span·class="p"·data-group-id="9198682700-2">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·566,·SHA:·ebedb868d642fe3dd96ad75594e2d41c976633a7096198e83434393a0f5b2add·...·]-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="3348293702-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="3348293702-2">(</span><span·class="p"·data-group-id="3348293702-2">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·566,·SHA:·30546f642d532769f18d9b7f1065e37bfa8c38789e73fa291d61b2cfd2dd1b23·...·]-1">)</span><span·class="p">.</span><span·class="w">
185 </span><span·class="p"·data-group-id="9198682700-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="9198682700-5">}</span><span·class="gp·unselectable">185 </span><span·class="p"·data-group-id="3348293702-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="3348293702-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-15.2.7/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-15.2.7/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="0595951130-1">(</span><span·class="p"·data-group-id="0595951130-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="3344143268-1">(</span><span·class="p"·data-group-id="3344143268-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="0595951130-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="0595951130-3">(</span><span·class="p"·data-group-id="0595951130-3">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·461,·SHA:·b37d5b0a1895170b4ab5ac836aa122838b020ffd8a6fd0ebb9d51929f9ee4254·...·]-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="3344143268-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="3344143268-3">(</span><span·class="p"·data-group-id="3344143268-3">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·461,·SHA:·700102aa588bd34abda8e72dfe9f075490133a4dcd8c8fb0c1df558fa41e060c·...·]-2">)</span><span·class="p">.</span><span·class="w">
193 </span><span·class="p"·data-group-id="0595951130-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="0595951130-5">}</span><span·class="gp·unselectable">193 </span><span·class="p"·data-group-id="3344143268-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="3344143268-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="0883933412-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="0883933412-2">(</span><span·class="n">Target</span><span·class="p"·data-group-id="0883933412-2">)</s[·...·truncated·by·diffoscope;·len:·778,·SHA:·d776a4c341d8fa45f844ae7a39fd01e5344993bb3e17027ad445a7db013bcd45·...·]-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="6681709464-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="6681709464-2">(</span><span·class="n">Target</span><span·class="p"·data-group-id="6681709464-2">)</s[·...·truncated·by·diffoscope;·len:·778,·SHA:·dede56a327d5362e5397305b99d47b44d059f9c1e6d454e194099380da779bef·...·]-1">)</span><span·class="p">.</span><span·class="w">
197 </span><span·class="p"·data-group-id="0883933412-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="0883933412-6">}</span><span·class="gp·unselectable">197 </span><span·class="p"·data-group-id="6681709464-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="6681709464-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 1577, 15 lines modifiedOffset 1577, 15 lines modified
1577 ······<p·class="built-using">1577 ······<p·class="built-using">
1578 ········Built·using1578 ········Built·using
1579 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1579 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1580 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1580 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1581 ······</p>1581 ······</p>
1582 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1582 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1583 ····</footer>1583 ····</footer>
1584 ··</div>1584 ··</div>
1585 </main>1585 </main>
1586 </div>1586 </div>
1587 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1587 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1588 ··<script>1588 ··<script>
1589 ··let·initialized·=·false;1589 ··let·initialized·=·false;
779 B
html2text {}
Max HTML report size reached
38.1 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="0523883305-1">(</span><span·class="n">Data</span><span·class="p"·data-group-id="0523883305-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="5694485069-1">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5694485069-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="0523883305-2">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="ss">unicode</span><span·class="p"·data-group-id="0523883305-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="5694485069-2">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="ss">unicode</span><span·class="p"·data-group-id="5694485069-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1040 ······</span><span·class="p"·data-group-id="0523883305-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="0523883305-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1040 ······</span><span·class="p"·data-group-id="5694485069-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="5694485069-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="0523883305-4">(</span><span·class="p"·data-group-id="0523883305-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="5694485069-4">(</span><span·class="p"·data-group-id="5694485069-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="0523883305-5">(</span><span·class="p"·data-group-id="0523883305-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="0523883305-6">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·45d434041d3b977abba3df552d37c9910973acfc8f41f0055cc474694f81ecb7·...·]-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="5694485069-5">(</span><span·class="p"·data-group-id="5694485069-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="5694485069-6">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·c62e7632efe806b7dbdb495f1bcab478c404217603715e72bd31462dd05c187f·...·]-5">)</span><span·class="p">;</span><span·class="w">
1043 ······</span><span·class="p"·data-group-id="0523883305-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="0523883305-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1043 ······</span><span·class="p"·data-group-id="5694485069-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="5694485069-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="0523883305-8">(</span><span·class="n">Encoded</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="0523883305-8">)</span><span·class="p">;</span><span·class="w">1044 ············</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="5694485069-8">(</span><span·class="n">Encoded</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="5694485069-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="9790835431-1">(</span><span·class="p"·data-group-id="9790835431-2">[</span><span·class="p"·data-group-id="9790835431-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="9790835431-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·645,·SHA:·061604f55f436fb02557963bdf6bfd2456cf87f7a51b26d358c95aa4db36f13c·...·]-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="3450828004-1">(</span><span·class="p"·data-group-id="3450828004-2">[</span><span·class="p"·data-group-id="3450828004-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="3450828004-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·645,·SHA:·707026d5eb5ea8521ac5857f8b2b37d9f6ab2d289728c4b3688193ad4743df7f·...·]-1">)</span><span·class="p">.</span><span·class="w">
1075 </span><span·class="p"·data-group-id="9790835431-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="9790835431-7">&gt;&gt;</span></code></pre>1075 </span><span·class="p"·data-group-id="3450828004-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="3450828004-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-15.2.7/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-15.2.7/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="6125020934-1">(</span><span·class="p"·data-group-id="6125020934-2">[</span><span·class="p"·data-group-id="6125020934-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="6125020934-3">&gt;&gt;</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·643,·SHA:·81d313e3aaf2491cc56b84a102e8510b8f420d88d585610794692828ad7a1917·...·]-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="6104183606-1">(</span><span·class="p"·data-group-id="6104183606-2">[</span><span·class="p"·data-group-id="6104183606-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="6104183606-3">&gt;&gt;</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·643,·SHA:·044d287eca36cf59687007453aada4b4b55bb2db742ac8d7a5a0b8d5d0b98ff9·...·]-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="7525185397-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="7525185397-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="6589440104-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="6589440104-1">)</span><span·class="p">.</span><span·class="w">
1135 </span><span·class="p"·data-group-id="7525185397-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:·7fc87a3e0aea2d57cbd23f2adf53363920fc135a7a8da48565dac257e1154836·...·]-2">&gt;&gt;</span></code></pre>1135 </span><span·class="p"·data-group-id="6589440104-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:·df1098734499afda33d14baed18f0c75427a981689254c5e32889d0e2c29d4e9·...·]-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-15.2.7/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-15.2.7/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="1045449372-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="1045449372-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="8580760401-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="8580760401-1">)</span><span·class="p">.</span><span·class="w">
1165 </span><span·class="p"·data-group-id="1045449372-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:·8694b62ae3840b133bba39897b6870eb18b120ee449ef124d6fa5b3afba6bf77·...·]-2">]</span></code></pre>1165 </span><span·class="p"·data-group-id="8580760401-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:·70784ffed08671fd0a41a1969cb4beef376605b5fa78db5c1e430bf3d1904bcf·...·]-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="8502371067-1">(</span><span·class="p"·data-group-id="8502371067-2">[</span><span·class="p"·data-group-id="8502371067-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="8502371067-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·acf860af0d2fccdeaa7e06bbf070edc78240af037e79bf9b803a0c2abd6312a3·...·]-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="4240521598-1">(</span><span·class="p"·data-group-id="4240521598-2">[</span><span·class="p"·data-group-id="4240521598-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="4240521598-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·42c3dee2097d4d83599441b262b7f4cfbfa86a50b4561d9bb2bc1bbc83c6f810·...·]-1">)</span><span·class="p">.</span><span·class="w">
1195 </span><span·class="p"·data-group-id="8502371067-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="8502371067-8">&gt;&gt;</span></code></pre>1195 </span><span·class="p"·data-group-id="4240521598-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="4240521598-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-15.2.7/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-15.2.7/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-15.2.7/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-15.2.7/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="3443059852-1">(</span><span·class="p"·data-group-id="3443059852-2">[</span><span·class="p"·data-group-id="3443059852-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="3443059852-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·db214be2b638b7de35f11d42924eaa8a86d6f47c2b2371268a78d7a006ee67c8·...·]-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="9003746141-1">(</span><span·class="p"·data-group-id="9003746141-2">[</span><span·class="p"·data-group-id="9003746141-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="9003746141-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·e90dd7d9a88e9d51b59b027d8131d9991dcfb244e57fd989eac8b42e834e52ab·...·]-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; 8544/38176 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-6.2.2/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="6091014724-1">(</span><span·class="p"·data-group-id="6091014724-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="6091014724-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·14,·SHA:·983f29c7724e0d9c5406486e1bf9b6f586fa4355d02f886677d249aa239f415c·...·]4-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="5538559044-1">(</span><span·class="p"·data-group-id="5538559044-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="5538559044-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·14,·SHA:·3f03df629598dbcb8fc1ddce39e76bd8b55a67d9006c611807183bdd53012960·...·]4-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="6091014724-3">(</span><span·class="p"·data-group-id="6091014724-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="6091014724-4">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·232,·SHA:·a493c5268da3440b3bef2fdabdc276b9858ae92f5950887663c55c11617d0178·...·]4-5">)</span><span·class="w">343 </span><span·class="nf">chardata</span><span·class="p"·data-group-id="5538559044-3">(</span><span·class="p"·data-group-id="5538559044-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="5538559044-4">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·232,·SHA:·b68953eab70cfa99d5daa3f52be2ef599a8553be625c9d1f57e10a0934564e85·...·]4-5">)</span><span·class="w">
  
344 </span><span·class="nf">charlist</span><span·class="p"·data-group-id="6091014724-6">(</span><span·class="p"·data-group-id="6091014724-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="6091014724-7">(</span><span·class="[·...·truncated·by·diffoscope;·len:·535,·SHA:·daa209ca037cdc90aec5b7e456cf76e87a4babe0aba5c9f649ff664b4186d3c6·...·]4-10">)</span><span·class="p">,</span><span·class="w">344 </span><span·class="nf">charlist</span><span·class="p"·data-group-id="5538559044-6">(</span><span·class="p"·data-group-id="5538559044-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="5538559044-7">(</span><span·class="[·...·truncated·by·diffoscope;·len:·535,·SHA:·578bd5021875095719778d1cdff02633d816447e4f1efd408665297f2f8d5864·...·]4-10">)</span><span·class="p">,</span><span·class="w">
345 ··</span><span·class="nf">unicode_binary</span><span·class="p"·data-group-id="6091014724-11">(</span><span·class="p"·data-group-id="6091014724-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="6091014724-12">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·4f5f4fc513464ca88b3239cda66434a793fa8f220a170ceca3d4f4917aed738d·...·]4-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="5538559044-11">(</span><span·class="p"·data-group-id="5538559044-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="5538559044-12">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·c910105b8f9862cff9c9c6bf9c09160caf6af0d92d3408cea08db4dd7243315b·...·]4-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="1080583131-1">(</span><span·class="p"·data-group-id="1080583131-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="1080583131-2">(</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·14,·SHA:·2f2613d88ca7ac6f20212491264247e8d7e927cf5901b804c6e52ba0a1ce5927·...·]-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="1180300966-1">(</span><span·class="p"·data-group-id="1180300966-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="1180300966-2">(</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·14,·SHA:·68e7b0d767668152cea8cdba36dc4c1fe4b66720b1f3c178888ec528a4e33cbe·...·]-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="1080583131-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·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·8ab9e3389f1dfb09f7737a384baecb2eb747338d7bffe76e221144bcab0e3898·...·]-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="1180300966-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·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·7105a62d61987a26f9cd2c1ed3eab11b9ac06d93e9e875c35aadf8c90de3b457·...·]-3">)</span><span·class="w">
  
349 </span><span·class="nf">external_chardata</span><span·class="p"·data-group-id="1080583131-4">(</span><span·class="p"·data-group-id="1080583131-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="1080583131-5">(</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·250,·SHA:·88ff2c8256f0db0359f17545b1460afed78d370616c90f39effff9c3d22b1a34·...·]-6">)</span><span·class="w">349 </span><span·class="nf">external_chardata</span><span·class="p"·data-group-id="1180300966-4">(</span><span·class="p"·data-group-id="1180300966-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="1180300966-5">(</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·250,·SHA:·81041428393456f339aac10521fec5b86191024c37a5233eb32127675af545d7·...·]-6">)</span><span·class="w">
  
350 </span><span·class="nf">external_charlist</span><span·class="p"·data-group-id="1080583131-7">(</span><span·class="p"·data-group-id="1080583131-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="1080583131-8">(</span><span·class="n[·...·truncated·by·diffoscope;·len:·334,·SHA:·10c4b47d950bfbda242505597b356eaff8ac4bd55d333d7770fae83b304345b2·...·]-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="1180300966-7">(</span><span·class="p"·data-group-id="1180300966-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="1180300966-8">(</span><span·class="n[·...·truncated·by·diffoscope;·len:·334,·SHA:·42827d3285529f43bd49e60603d26d29a2b5502ad4da39322f3a92f6aba8ae4e·...·]-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="1080583131-11">(</span><span·class="p"·data-group-id="1080583131-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">external_unicode_binary</span><span·class="p"·data-group-id="1080583131-12">(</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·271,·SHA:·93fd424eac184d6d98d9a16b217d318861f8fb23d643b364ea00485bef24ce2f·...·]-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="1180300966-11">(</span><span·class="p"·data-group-id="1180300966-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">external_unicode_binary</span><span·class="p"·data-group-id="1180300966-12">(</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·271,·SHA:·8283a6629cac7d90a0e9a4028c7bf6e36395fd7b254b99a362a74f4839bac23a·...·]-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="2225667120-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="2225667120-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="7374480713-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="7374480713-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="2225667120-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="2225667120-2">&gt;&gt;</span><span·class="p">.</span><span·class="w">405 2&gt;·</span><span·class="p"·data-group-id="7374480713-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="7374480713-2">&gt;&gt;</span><span·class="p">.</span><span·class="w">
406 </span><span·class="p"·data-group-id="2225667120-3">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="2225667120-3">&gt;&gt;</span><span·class="gp·unselectable">406 </span><span·class="p"·data-group-id="7374480713-3">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="7374480713-3">&gt;&gt;</span><span·class="gp·unselectable">
407 3&gt;·</span><span·class="p"·data-group-id="2225667120-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:·7c87018fd22504537cc36d1dc0dc60447b58bdf7a3329435d5507c81b966f9e3·...·]-4">&gt;&gt;</span><span·class="p">.</span><span·class="w">407 3&gt;·</span><span·class="p"·data-group-id="7374480713-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:·ac6e14744176074352ce3fdcdcbd1f9b818b1f5d743d756a04ea16f4b988c41c·...·]-4">&gt;&gt;</span><span·class="p">.</span><span·class="w">
408 </span><span·class="p"·data-group-id="2225667120-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="2225667120-5">&gt;&gt;</span></code></pre><p>Here·the·shell·detects·lists·containing·printable·characters·or·binaries408 </span><span·class="p"·data-group-id="7374480713-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="7374480713-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="0132700132-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="0132700132-1">)</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·781,·SHA:·3cdc3a967be9d31c320ea3364c1abfe098b779a8c3024d1d5d5b18c686d4fde4·...·]-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="0907604511-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="0907604511-1">)</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·781,·SHA:·17b5fcd96fab095035b5316005486e1f91488de9e8dfac02640618ec73280910·...·]-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="0132700132-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="0132700132-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="0907604511-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="0907604511-6">)</span><span·class="gp·unselectable">
425 1&gt;·</span><span·class="p"·data-group-id="0132700132-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="0132700132-7">]</span><span·class="p">.</span><span·class="w">425 1&gt;·</span><span·class="p"·data-group-id="0907604511-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="0907604511-7">]</span><span·class="p">.</span><span·class="w">
426 </span><span·class="p"·data-group-id="0132700132-8">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="0132700132-8">]</span><span·class="gp·unselectable">426 </span><span·class="p"·data-group-id="0907604511-8">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="0907604511-8">]</span><span·class="gp·unselectable">
427 2&gt;·</span><span·class="p"·data-group-id="0132700132-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</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·95818f10933f364ff30cdb8201b334eea27bae3d97c3e82994a342359c6efdb0·...·]-9">]</span><span·class="p">.</span><span·class="w">427 2&gt;·</span><span·class="p"·data-group-id="0907604511-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</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·81d10ea3d648eef1f6b2d5147daf8022ddf09f39ec12c7b202f4e4e15b1d8890·...·]-9">]</span><span·class="p">.</span><span·class="w">
428 </span><span·class="p"·data-group-id="0132700132-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</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·56e2de4aff28660decdacd612c3affc46bd8cc537cbe70e3f0f1248ceb737a80·...·]-10">]</span><span·class="gp·unselectable">428 </span><span·class="p"·data-group-id="0907604511-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</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·84e764ab7df6aecb38dc5ab086d97ee174c51e493ebd2a736979ddff719920cd·...·]-10">]</span><span·class="gp·unselectable">
429 3&gt;·</span><span·class="p"·data-group-id="0132700132-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="0132700132-11">]</span><span·class="p">.</span><span·class="w">429 3&gt;·</span><span·class="p"·data-group-id="0907604511-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="0907604511-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="0132700132-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</s[·...·truncated·by·diffoscope;·len:·402,·SHA:·8663db32ed887737860087433e6940c2272f0c29f98a5ea1b9c5d4eef191d4ca·...·]-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">431 4&gt;·</span><span·class="p"·data-group-id="0907604511-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</s[·...·truncated·by·diffoscope;·len:·402,·SHA:·080eba629f1cb68c6a80806547bda17c6a2eb2e4a2300ae3ab553c083ff1f1b4·...·]-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">
432 </span><span·class="p"·data-group-id="0132700132-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</s[·...·truncated·by·diffoscope;·len:·402,·SHA:·8663db32ed887737860087433e6940c2272f0c29f98a5ea1b9c5d4eef191d4ca·...·]-13">&gt;&gt;</span><span·class="gp·unselectable">432 </span><span·class="p"·data-group-id="0907604511-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</s[·...·truncated·by·diffoscope;·len:·402,·SHA:·080eba629f1cb68c6a80806547bda17c6a2eb2e4a2300ae3ab553c083ff1f1b4·...·]-13">&gt;&gt;</span><span·class="gp·unselectable">
433 5&gt;·</span><span·class="p"·data-group-id="0132700132-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:·99,·SHA:·f77db2add1a469ad97557d70d9486bbaf7a0435eca31c4ed4bd39810c3661d1d·...·]-14">&gt;&gt;</span><span·class="p">.</span><span·class="w">433 5&gt;·</span><span·class="p"·data-group-id="0907604511-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:·99,·SHA:·432b9f363f0564d7d5fdaece340b8705490b5e6224905f539518b82333f222ef·...·]-14">&gt;&gt;</span><span·class="p">.</span><span·class="w">
434 </span><span·class="p"·data-group-id="0132700132-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="0132700132-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="0907604511-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="0907604511-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="3143495209-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="3143495209-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·781,·SHA:·b0b273ff9915c1815a3ff4eb3c6ff09d994d51fb2de01b8fa62f09c6b971c6d4·...·]9-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="6859154779-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="6859154779-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·781,·SHA:·b0ac677ac09ae752d495d0a2815199981fb319d7fac7e2513b34976bf4d0e698·...·]9-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="3143495209-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="3143495209-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="6859154779-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="6859154779-6">)</span><span·class="gp·unselectable">
437 1&gt;·</span><span·class="p"·data-group-id="3143495209-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="3143495209-7">]</span><span·class="p">.</span><span·class="w">437 1&gt;·</span><span·class="p"·data-group-id="6859154779-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="6859154779-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="3143495209-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:·94,·SHA:·7b175375e855c40516a0b882343a547063df2847117461e505b7f6f1cad013a6·...·]9-8">]</span><span·class="p">.</span><span·class="w">439 2&gt;·</span><span·class="p"·data-group-id="6859154779-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:·94,·SHA:·8721c19a331bd60aa57892501f5a6d76942557a2e378a3b4087df8d8cb7306a8·...·]9-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="3143495209-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="3143495209-9">]</span><span·class="p">.</span><span·class="w">441 3&gt;·</span><span·class="p"·data-group-id="6859154779-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="6859154779-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="3143495209-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:·402,·SHA:·14c325d42bd8ee4d4c78af4bd52fce199ad239e267c614a2563a5bc277b3a97c·...·]9-10">&gt;&gt;</span><span·class="p">.</span><span·class="w">443 4&gt;·</span><span·class="p"·data-group-id="6859154779-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:·402,·SHA:·04b8bbf758bc51a352836d019961870231dd0736fb360e3317f4bb2006183069·...·]9-10">&gt;&gt;</span><span·class="p">.</span><span·class="w">
444 </span><span·class="p"·data-group-id="3143495209-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="3143495209-11">&gt;&gt;</span><span·class="gp·unselectable">444 </span><span·class="p"·data-group-id="6859154779-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="6859154779-11">&gt;&gt;</span><span·class="gp·unselectable">
445 5&gt;·</span><span·class="p"·data-group-id="3143495209-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:·99,·SHA:·5da8e9274396eba639de61a51e6bfcde2e2328aed66a17aa4ff69eea4714a470·...·]9-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">445 5&gt;·</span><span·class="p"·data-group-id="6859154779-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:·99,·SHA:·8de9eacad8aa17e442646e0a6fe086851b7c42befb3a8bdbab8a151910f51fe7·...·]9-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">
446 </span><span·class="p"·data-group-id="3143495209-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="3143495209-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="6859154779-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="6859154779-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="2117636157-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="2117636157-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·92c5c1f000ff72e56f16145c992c569a156a9e387969d2efff81ad7446310327·...·]-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="3616637894-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="3616637894-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·50c68e8943c73d782c29679d30061535850c5a6d13d7f39b209ee8b8ad17854a·...·]-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="2117636157-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="2117636157-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="3616637894-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="3616637894-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="2117636157-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="2117636157-8">[</span><span·class="p"·data-group-id="2117636157-9">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1308,·SHA:·d50796b74a195a18b0ed6b83d995ff2590f3e4cf270089212ed25151aeb17df9·...·]-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="3616637894-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="3616637894-8">[</span><span·class="p"·data-group-id="3616637894-9">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1308,·SHA:·ad29922852e3f5d63a2d1d84c0e7726f44c150410949548dd05b7af493eca9c2·...·]-7">)</span><span·class="p">.</span><span·class="w">
457 </span><span·class="p"·data-group-id="2117636157-13">{</span><span·class="p"·data-group-id="2117636157-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="2117636157-14">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2117636157-15">&lt[·...·truncated·by·diffoscope;·len:·938,·SHA:·d42fb9b55ca568ca06d592f39ad16e5710749a68172e20277ab1a9ca95fd93a2·...·]-13">}</span><span·class="w">457 </span><span·class="p"·data-group-id="3616637894-13">{</span><span·class="p"·data-group-id="3616637894-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="3616637894-14">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="3616637894-15">&lt[·...·truncated·by·diffoscope;·len:·938,·SHA:·4e434f38154dfb1f9a0b4c672680a3ad812d980cfa9040302bcead0b03718e24·...·]-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="7425930252-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="7425930252-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·458d0bdff99c7765c5f61b6232d01fb4fc1135b98b356e6b0fb64a9c3a6ae360·...·]-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="0843110493-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="0843110493-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·93bc6705882f58cb30f0a996a9708e6d01b0d5305a1bc5b545b97ed4f7006208·...·]-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="7425930252-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="7425930252-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="0843110493-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="0843110493-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="7425930252-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="7425930252-8">[</span><span·class="p"·data-group-id="7425930252-9">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1308,·SHA:·9bf30fe7f836f84c8f1e6f2f2708b0a64ae6fa0ee6f1ab9fcc19eb6e16e03db9·...·]-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="0843110493-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="0843110493-8">[</span><span·class="p"·data-group-id="0843110493-9">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1308,·SHA:·5b3fb62b9020f9335f2a0da6802855b8c5c25ad82e94bea85590dc8f175c44dc·...·]-7">)</span><span·class="p">.</span><span·class="w">
462 </span><span·class="p"·data-group-id="7425930252-13">{</span><span·class="p"·data-group-id="7425930252-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="7425930252-14">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="7425930252-15">&lt[·...·truncated·by·diffoscope;·len:·443,·SHA:·a56eab29436bc388ba16f5948a861bd6be5e593dc21afbd270bb9dacc92d26e7·...·]-13">}</span><span·class="w">462 </span><span·class="p"·data-group-id="0843110493-13">{</span><span·class="p"·data-group-id="0843110493-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="0843110493-14">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="0843110493-15">&lt[·...·truncated·by·diffoscope;·len:·443,·SHA:·5be1b6c6d19f5d07b623fec195774b84466fd1173e1a454b9f2cdbe4b67eda66·...·]-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="8161179917-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="8161179917-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·8a11793104ee033f7d5422c497c16d65a0dd2d95ad95ad082025d0d9d00f630f·...·]-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="6321058234-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="6321058234-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·a9754a82fc56cc501bee6b67a796a44c74bb4ca05ccb58f44a5a8575e5eb4af5·...·]-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="8161179917-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="8161179917-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="6321058234-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="6321058234-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="8161179917-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:·fec555f7e322999464910d0d6be3b9e00116dfe4520445312fa8ca87f8d7fcc1·...·]-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="6321058234-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:·edb354b733b9f61410b3a657142454433c46fcc36689e2242deb8115703ef1e3·...·]-7">)</span><span·class="p">.</span><span·class="w">
492 </span><span·class="p"·data-group-id="8161179917-9">{</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="ss">latin1</span><span·class="p"·data-group-id="8161179917-9">}</span><span·class="gp·unselectable">492 </span><span·class="p"·data-group-id="6321058234-9">{</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="ss">latin1</span><span·class="p"·data-group-id="6321058234-9">}</span><span·class="gp·unselectable">
493 2&gt;·</span><span·class="nf">q</span><span·class="p"·data-group-id="8161179917-10">(</span><span·class="p"·data-group-id="8161179917-10">)</span><span·class="p">.</span><span·class="w">493 2&gt;·</span><span·class="nf">q</span><span·class="p"·data-group-id="6321058234-10">(</span><span·class="p"·data-group-id="6321058234-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="8161179917-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="8161179917-11">)</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·791,·SHA:·b7a15046486ff2f4a474802b2cdf84654e1369dcda2de86aff18294071d5e617·...·]-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="6321058234-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="6321058234-11">)</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·791,·SHA:·572441e29f2f55d3d287e0a40ea9311ea0687baae67073046090c1a8ffad691d·...·]-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="8161179917-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="8161179917-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="6321058234-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="6321058234-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="8161179917-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:·8ca66495fcf38ed38082e0031255c64847f7e82cd8ce42037d69416df7dc2e29·...·]-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="6321058234-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:·c84d2c4abb3faf7346c44607e1599dd6834fbf4bb7a0f1c0e1277864c9dbb1eb·...·]-17">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 91670/163328 bytes (56.13%) of diff not shown.
830 B
html2text {}
Max HTML report size reached
90.8 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="2150077173-1">(</span><span·class="p"·data-group-id="2150077173-2">[</span><span·class="p"·data-group-id="2150077173-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:·d9aeab27a6ed5fa2b741288257d3512202bc329ad53402f2877e2f07fd20cd2a·...·]-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="5131660660-1">(</span><span·class="p"·data-group-id="5131660660-2">[</span><span·class="p"·data-group-id="5131660660-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:·67dc6964ef3f08e04987debcc7e8f3937a73326bca5fb8d522a4bd1e42c72e6e·...·]-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="2150077173-5">(</span><span·class="p"·data-group-id="2150077173-6">[</span><span·class="p"·data-group-id="2150077173-7">{</span><span·class="p"·data-group-id="2150077173-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·255,·SHA:·b6e4934fdcdd243da1e275bb2eff75001618a4d3723f96be7da4cad2a7a86ea1·...·]-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="5131660660-5">(</span><span·class="p"·data-group-id="5131660660-6">[</span><span·class="p"·data-group-id="5131660660-7">{</span><span·class="p"·data-group-id="5131660660-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·255,·SHA:·bd2c288e179b1f28d2bf82ea201685f26543d8d204d42164a420910c187cb3ff·...·]-7">}</span><span·class="p">,</span><span·class="gp·unselectable">
595 2&gt;·</span><span·class="p"·data-group-id="2150077173-10">{</span><span·class="p"·data-group-id="2150077173-11">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="2150077173-11">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2150077173-12">&l[·...·truncated·by·diffoscope;·len:·315,·SHA:·881dce100199143e09384e8e1cf265bfc11d9ee1c6d394e7ad76797e49c12839·...·]-5">)</span><span·class="p">.</span><span·class="w">595 2&gt;·</span><span·class="p"·data-group-id="5131660660-10">{</span><span·class="p"·data-group-id="5131660660-11">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="5131660660-11">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="5131660660-12">&l[·...·truncated·by·diffoscope;·len:·315,·SHA:·c2c03e8ae51146aba96a5c08294b777f66267c1ea330eba9d320047240cee0dd·...·]-5">)</span><span·class="p">.</span><span·class="w">
596 </span><span·class="p"·data-group-id="2150077173-13">&lt;&lt;</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="2150077173-13">&gt;&gt;</span></code></pre>596 </span><span·class="p"·data-group-id="5131660660-13">&lt;&lt;</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="5131660660-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="1412347974-1">(</span><span·class="p"·data-group-id="1412347974-2">[</span><span·class="p"·data-group-id="1412347974-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="1412347974-3">}</span><span·class="p">,</span><span·class="p"·data-group-id="1412347974-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="1412347974-4">}</span><span·class="p"·data-group-id="1412347974-2">]</span><span·class="p">,</span><span·class="gp·unselectable"> 
640 1&gt;·</span><span·class="p"·data-group-id="1412347974-5">[</span><span·class="p"·data-group-id="1412347974-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:·08e6cf355306c5fef7ad0a5dcddb39058bd9748638ba11046a54aa7b8a6e78c0·...·]">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:·d1fe68ac96c7af77ba2618bf1a1717a85f1f54187062cba30a93fb0c66d08a80·...·]">
 640 1&gt;·</span><span·class="p"·data-group-id="2237922419-5">[</span><span·class="p"·data-group-id="2237922419-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="2237922419-6">}</span><span·class="p"·data-group-id="2237922419-5">]</span><span·class="p"·data-group-id="2237922419-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="1412347974-7">(</span><span·class="p"·data-group-id="1412347974-8">[</span><span·class="p"·data-group-id="1412347974-9">{</span><span·class="p"·data-group-id="1412347974-10">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·259,·SHA:·28b15eae5052bae493c88af82698b650afae142194a4103184b6854799d4b184·...·]-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="2237922419-7">(</span><span·class="p"·data-group-id="2237922419-8">[</span><span·class="p"·data-group-id="2237922419-9">{</span><span·class="p"·data-group-id="2237922419-10">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·259,·SHA:·27bc3f760d8cb0ddbd50a92dc1b9ab72beb51afe3ad918711ea0bdffb3c50733·...·]-9">}</span><span·class="p">,</span><span·class="gp·unselectable">
643 2&gt;·</span><span·class="p"·data-group-id="1412347974-12">{</span><span·class="p"·data-group-id="1412347974-13">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="1412347974-13">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="1412347974-14">&l[·...·truncated·by·diffoscope;·len:·685,·SHA:·b7e5a2e456e70b96915e5ae45a90f4d74c3e405f12e1dc6096dd41dde0d7a82a·...·]-7">)</span><span·class="p">.</span><span·class="w">643 2&gt;·</span><span·class="p"·data-group-id="2237922419-12">{</span><span·class="p"·data-group-id="2237922419-13">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="2237922419-13">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2237922419-14">&l[·...·truncated·by·diffoscope;·len:·685,·SHA:·4934bd9ca66443de49a1d4c323a720a3306a3dc46d2175c1fcc47b44f61d56df·...·]-7">)</span><span·class="p">.</span><span·class="w">
644 </span><span·class="p"·data-group-id="1412347974-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="1412347974-17">&gt;&gt;</span></code></pre>644 </span><span·class="p"·data-group-id="2237922419-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="2237922419-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="6655819409-1">(</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="6655819409-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="5852912654-1">(</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="5852912654-1">)</span><span·class="p">.</span><span·class="w">
677 </span><span·class="p"·data-group-id="6655819409-2">[</span><span·class="p"·data-group-id="6655819409-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="6655819409-3">}</span><span·class="p">,</span><span·class="p"·data-group-id="6655819409-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="6655819409-4">}</span><span·class="p"·data-group-id="6655819409-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="6655819409-5">(</span><span·class="p"·data-group-id="6655819409-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="6655819409-6">&gt;&gt;</span><span·class="p"·data-group-id="6655819409-5">)</span><span·class="p">.</span><span·class="w"> 
679 </span><span·class="p"·data-group-id="6655819409-7">[</span><span·class="p"·data-group-id="6655819409-8">{</span><span·class="p"·data-group-id="6655819409-9">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="6655819409-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="6655819409-10">&lt;&lt;</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="6655819409-10">&gt;&gt;</span><span·class="p"·data-group-id="6655819409-8">}</span><span·class="p">,</span><span·class="w"> 
680 ·</span><span·class="p"·data-group-id="6655819409-11">{</span><span·class="p"·data-group-id="6655819409-12">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="6655819409-12">&gt;&gt;</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·514,·SHA:·b9966dbf22c3256042dc2d97bc3f09b8ff98b8fbe7d58a83892f0f0591dca85e·...·]>677 </span><span·class="p"·data-group-id="5852912654-2">[</span><span·class="p"·data-group-id="5852912654-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="5852912654[·...·truncated·by·diffoscope;·len:·328,·SHA:·7cf542c5e8343c0221b41385dfeb45198baf6cd348d49a5d6ffbbb75abd08719·...·]>
 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="5852912654-5">(</span><span·class="p"·data-group-id="5852912654-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="5852912654-6">&gt;&gt;</span><span·class="p"·data-group-id="5852912654-5">)</span><span·class="p">.</span><span·class="w">
 679 </span><span·class="p"·data-group-id="5852912654-7">[</span><span·class="p"·data-group-id="5852912654-8">{</span><span·class="p"·data-group-id="5852912654-9">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="5852912654-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="5852912654-10">&lt;&lt;</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="5852912654-10">&gt;&gt;</span><span·class="p"·data-group-id="5852912654-8">}</span><span·class="p">,</span><span·class="w">
 680 ·</span><span·class="p"·data-group-id="5852912654-11">{</span><span·class="p"·data-group-id="5852912654-12">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="5852912654-12">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="5852912654-13">&lt;&lt;</span><span·class="mi">230</span><span·class="p">,</span><span·class="mi">157</span><span·class="p">,</span><span·class="mi">177</span><span·class="p">,</span><span·class="mi">228</span><span·class="p">,</span><span·class="mi">186</span><span·class="p">,</span><span·class="mi">172</span><span·class="p"·data-group-id="5852912654-13">&gt;&gt;</span><span·class="p"·data-group-id="5852912654-11">}</span><span·class="p"·data-group-id="5852912654-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="9309672349-1">(</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p"·data-group-id="9309672349-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="6373272848-1">(</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p"·data-group-id="6373272848-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="9309672349-2">(</span><span·class="p"·data-group-id="9309672349-3">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="9309672349-3">&gt;&gt;</span><span·class="p"·data-group-id="9309672349-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="6373272848-2">(</span><span·class="p"·data-group-id="6373272848-3">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="6373272848-3">&gt;&gt;</span><span·class="p"·data-group-id="6373272848-2">)</span><span·class="p">.</span><span·class="w">
715 </span><span·class="p"·data-group-id="9309672349-4">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id="9309672349-4">&gt;&gt;</span><span·class="gp·unselectable">715 </span><span·class="p"·data-group-id="6373272848-4">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id="6373272848-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="9309672349-5">(</span><span·class="s">&quot;http://localhost:80&quot;</span><span·class="p"·data-group-id="9309672349-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="6373272848-5">(</span><span·class="s">&quot;http://localhost:80&quot;</span><span·class="p"·data-group-id="6373272848-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="9309672349-6">(</span><span·class="p"·data-group-id="9309672349-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="6373272848-6">(</span><span·class="p"·data-group-id="6373272848-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="9309672349-7">}</span><span·class="p"·data-group-id="9309672349-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="6373272848-7">}</span><span·class="p"·data-group-id="6373272848-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="6187388233-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="6187388233-2">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="6187388233-2">]</[·...·truncated·by·diffoscope;·len:·46,·SHA:·a09a7b19c180c95235c1b0e04f60e00284a2f88ff79303475db2dde6181ebd6a·...·]-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="9465426831-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="9465426831-2">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="9465426831-2">]</[·...·truncated·by·diffoscope;·len:·46,·SHA:·f86a9f49bdda83a913c26564faec32f6717955f6779f20ad5ae7149ee910c482·...·]-1">)</span><span·class="p">.</span><span·class="w">
755 </span><span·class="p"·data-group-id="6187388233-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="6187388233-3">}</span><span·class="gp·unselectable">755 </span><span·class="p"·data-group-id="9465426831-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="9465426831-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="6187388233-4">(</span><span·class="p"·data-group-id="6187388233-5">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="6187388233-5">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·168,·SHA:·ad9b56c6f59a5a6e05b205a51373bf112b36446509fcdc0395240f93eb869d5b·...·]-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="9465426831-4">(</span><span·class="p"·data-group-id="9465426831-5">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="9465426831-5">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·168,·SHA:·b2a672d6ad082bc6cf3abef16961cea68d78f4abad8771dd918274af0ddc84e2·...·]-4">)</span><span·class="p">.</span><span·class="w">
757 </span><span·class="p"·data-group-id="6187388233-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="6187388233-8">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·72,·SHA:·77af5f281837706ee7f43f2aa1384534e48b992bc27fb1907e5c97986ea1368d·...·]-7">}</span><span·class="gp·unselectable">757 </span><span·class="p"·data-group-id="9465426831-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="9465426831-8">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·72,·SHA:·a3e4902ffd3105db2b5f309925a6ebd91b0730fc1ee567b8062af39ae3158326·...·]-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="6187388233-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="6187388233-10">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="6187388233-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·950fb114d331efc4007a7d2a14439285bf3843507fac4b09ad5040126667688a·...·]-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="9465426831-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="9465426831-10">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="9465426831-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·719bef35f380aca2449d4f89435c3b23bd93ce229e3c5ccd1b3b4ef0ce277210·...·]-9">)</span><span·class="p">.</span><span·class="w">
759 </span><span·class="p"·data-group-id="6187388233-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:·8a9f0c1e362663437fda95ec0b312dd81ff81ab8487bbb3607352789b89b23d8·...·]-11">}</span><span·class="gp·unselectable">759 </span><span·class="p"·data-group-id="9465426831-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:·85a0c415c471f6340e4c59151e0ba99b409fb1e4d5667508e4002174a62beb6e·...·]-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="6187388233-12">(</span><span·class="p"·data-group-id="6187388233-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="9465426831-12">(</span><span·class="p"·data-group-id="9465426831-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="6187388233-13">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6187388233-14">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="6187388233-14">]</span><span·class="p"·data-group-id="6187388233-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="9465426831-13">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9465426831-14">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="9465426831-14">]</span><span·class="p"·data-group-id="9465426831-12">)</span><span·class="p">.</span><span·class="w">
762 </span><span·class="p"·data-group-id="6187388233-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:·d45f96ebe8ea2acbb8c6ff6cfbc154bcb40faef5b464bb6f65bf371ef6878bd0·...·]-15">}</span></code></pre>762 </span><span·class="p"·data-group-id="9465426831-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:·5f07f0ea9fcb3e8a0760be00b97584320272e15e55699dfaa360f370f2a10a5e·...·]-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="1746141885-1">(</span><span·class="s">&quot;foo://user@example.com:8042/over/there?name=ferret#nose&quot;</span><span·class="p"·data-group-id="1746141885-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="2250982609-1">(</span><span·class="s">&quot;foo://user@example.com:8042/over/there?name=ferret#nose&quot;</span><span·class="p"·data-group-id="2250982609-1">)</span><span·class="p">.</span><span·class="w">
792 </span><span·class="p"·data-group-id="1746141885-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="2250982609-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="1746141885-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="2250982609-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="1746141885-3">(</span><span·class="p"·data-group-id="1746141885-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="1746141885-4">&gt;&gt;</span><span·class="p"·data-group-id="1746141885-3">)</span><span·class="p">.</span><span·class="w"> 
796 </span><span·class="p"·data-group-id="1746141885-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="1746141885-6">&lt;&lt;</span><span·class="s">&quot;example.c[·...·truncated·by·diffoscope;·len:·386,·SHA:·de7f10eac083d5919c2670653076e8695c6529692b0ffb7723d4f0fad3de3526·...·]</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="2250982609-3">(</span><span·class="p"·data-group-id="2250982609-4">&lt;&lt;</span><span·class="s">&quot;foo://user@example.co[·...·truncated·by·diffoscope;·len:·172,·SHA:·4511e09de803fe3882e1cf18c0a855f3fb9f4963730dbb476b9b4a5a4b923258·...·]</span><span·class="w">
 796 </span><span·class="p"·data-group-id="2250982609-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="2250982609-6">&lt;&lt;</span><span·class="s">&quot;example.com&quot;</span><span·class="p"·data-group-id="2250982609-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="2250982609-7">&lt;&lt;</span><span·class="s">&quot;/over/there&quot;</span><span·class="p"·data-group-id="2250982609-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="1746141885-8">&lt;&lt;</span><span·class="s">&quot;name=ferret&quot;</span><span·class="p"·data-group-id="1746141885-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:·be2da73789d8a8c8a14d79d5cc7be1ec2354d133de8dc66bdc64d88a0041ec1c·...·]-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="2250982609-8">&lt;&lt;</span><span·class="s">&quot;name=ferret&quot;</span><span·class="p"·data-group-id="2250982609-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:·99841966d7be27b1c1ff349b53c84ca7ee9d3a2333cca2a9b990d38a8fc42997·...·]-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 46159/92272 bytes (50.02%) of diff not shown.
599 B
html2text {}
Max HTML report size reached
40.5 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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="4467423138-1">(</span><span·class="s">&quot;http://cities/örebro?foo·bar&quot;</span><span·class="p"·data-group-id="4467423138-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="8340579557-1">(</span><span·class="s">&quot;http://cities/örebro?foo·bar&quot;</span><span·class="p"·data-group-id="8340579557-1">)</span><span·class="p">.</span><span·class="w">
198 ··</span><span·class="p"·data-group-id="4467423138-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="4467423138-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="8340579557-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="8340579557-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="3015004803-1">(</span><span·class="p"·data-group-id="3015004803-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="8544363014-1">(</span><span·class="p"·data-group-id="8544363014-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="3015004803-2">}</span><span·class="p"·data-group-id="3015004803-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="8544363014-2">}</span><span·class="p"·data-group-id="8544363014-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="8494859321-1">(</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="8494859321-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:·acaa771857aef8f9352690b0f7239f5d41545a60c0c8da92cbb5f86fb0833649·...·]-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="1086339362-1">(</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="1086339362-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:·0704ad9d873bf70c0165f07626509c9feb438c76f0b8a3f41ab0474cfc5ed906·...·]-1">)</span><span·class="p">.</span><span·class="w">
208 ··</span><span·class="p"·data-group-id="8494859321-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="1086339362-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="8494859321-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="1086339362-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="8848106087-1">(</span><span·class="p"·data-group-id="8848106087-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="6986359157-1">(</span><span·class="p"·data-group-id="6986359157-1">)</span><span·class="p">.</span><span·class="w">
233 ····</span><span·class="p"·data-group-id="8848106087-2">[</span><span·class="p"·data-group-id="8848106087-3">{</span><span·class="ss">scheme</span><span·class="p">,</span><span·class="w">233 ····</span><span·class="p"·data-group-id="6986359157-2">[</span><span·class="p"·data-group-id="6986359157-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="8848106087-3">}</span><span·class="p">,</span><span·class="w">234 ·····</span><span·class="s">&quot;+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&quot;</span><span·class="p"·data-group-id="6986359157-3">}</span><span·class="p">,</span><span·class="w">
235 ····</span><span·class="p"·data-group-id="8848106087-4">{</span><span·class="ss">userinfo</span><span·class="p">,</span><span·class="w">235 ····</span><span·class="p"·data-group-id="6986359157-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="8848106087-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="6986359157-4">}</span><span·class="p">,</span><span·class="w">
237 ····</span><span·class="p"·data-group-id="8848106087-5">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">237 ····</span><span·class="p"·data-group-id="6986359157-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="8848106087-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="6986359157-5">}</span><span·class="p">,</span><span·class="w">
239 ····</span><span·class="p"·data-group-id="8848106087-6">{</span><span·class="ss">ipv4</span><span·class="p">,</span><span·class="s">&quot;.0123456789&quot;</span><span·class="p"·data-group-id="8848106087-6">}</span><span·class="p">,</span><span·class="w">239 ····</span><span·class="p"·data-group-id="6986359157-6">{</span><span·class="ss">ipv4</span><span·class="p">,</span><span·class="s">&quot;.0123456789&quot;</span><span·class="p"·data-group-id="6986359157-6">}</span><span·class="p">,</span><span·class="w">
240 ····</span><span·class="p"·data-group-id="8848106087-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="8848106087-7">}</span><span·class="p">,</span><span·class="w">240 ····</span><span·class="p"·data-group-id="6986359157-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="6986359157-7">}</span><span·class="p">,</span><span·class="w">
241 ····</span><span·class="p"·data-group-id="8848106087-8">{</span><span·class="ss">regname</span><span·class="p">,</span><span·class="w">241 ····</span><span·class="p"·data-group-id="6986359157-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="8848106087-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="6986359157-8">}</span><span·class="p">,</span><span·class="w">
243 ····</span><span·class="p"·data-group-id="8848106087-9">{</span><span·class="ss">path</span><span·class="p">,</span><span·class="w">243 ····</span><span·class="p"·data-group-id="6986359157-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="8848106087-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="6986359157-9">}</span><span·class="p">,</span><span·class="w">
245 ····</span><span·class="p"·data-group-id="8848106087-10">{</span><span·class="k">query</span><span·class="p">,</span><span·class="w">245 ····</span><span·class="p"·data-group-id="6986359157-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="8848106087-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="6986359157-10">}</span><span·class="p">,</span><span·class="w">
247 ····</span><span·class="p"·data-group-id="8848106087-11">{</span><span·class="ss">fragment</span><span·class="p">,</span><span·class="w">247 ····</span><span·class="p"·data-group-id="6986359157-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="8848106087-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="6986359157-11">}</span><span·class="p">,</span><span·class="w">
249 ····</span><span·class="p"·data-group-id="8848106087-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="8848106087-12">}</span><span·class="p">,</span><span·class="w">249 ····</span><span·class="p"·data-group-id="6986359157-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="6986359157-12">}</span><span·class="p">,</span><span·class="w">
250 ····</span><span·class="p"·data-group-id="8848106087-13">{</span><span·class="ss">unreserved</span><span·class="p">,</span><span·class="w">250 ····</span><span·class="p"·data-group-id="6986359157-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="8848106087-13">}</span><span·class="p"·data-group-id="8848106087-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="6986359157-13">}</span><span·class="p"·data-group-id="6986359157-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="0403064401-1">(</span><span·class="p"·data-group-id="0403064401-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:·bd3cbea8bcfad68d2485cbaa63a025c7cd120844c2c0730c1c6e65ca86eb9b91·...·]1-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="4179824241-1">(</span><span·class="p"·data-group-id="4179824241-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:·6f1a75ebbc4bd342ed094b9893a707aa89c0ec2c5834c7218803cf00225177fe·...·]1-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="5550956495-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="5550956495-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="8814470397-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="8814470397-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="5550956495-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="5550956495-3">[</span><span·class="ss">return_map</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·3715d276b47c926a06c9bd071201701f99ef490451f03e1351239a16f5b440cd·...·]-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="8814470397-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="8814470397-3">[</span><span·class="ss">return_map</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·4e8a728a0e64ef9fa8a0448414fc1b3c431f9a1985fb814ff93c1b9a83955760·...·]-2">)</span><span·class="p">.</span><span·class="w">
267 ····</span><span·class="p"·data-group-id="5550956495-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="8814470397-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="5550956495-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="8814470397-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="0238678059-1">(</span><span·class="s">&quot;local%23host&quot;</span><span·class="p"·data-group-id="0238678059-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="9058091626-1">(</span><span·class="s">&quot;local%23host&quot;</span><span·class="p"·data-group-id="9058091626-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="0238678059-2">(</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="0238678059-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="9058091626-2">(</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="9058091626-2">)</span><span·class="p">.</span><span·class="w">
275 ····</span><span·class="p"·data-group-id="0238678059-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="0238678059-4">&lt;&lt;</span><span·class="s">&quot;/öre&amp;bro·&quot;</span><span·class="[·...·truncated·by·diffoscope;·len:·88,·SHA:·ca5d8ca48921491f89700cc3809ed79472d4eb12c0d41722c556643482527395·...·]-3">}</span><span·class="w">275 ····</span><span·class="p"·data-group-id="9058091626-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="9058091626-4">&lt;&lt;</span><span·class="s">&quot;/öre&amp;bro·&quot;</span><span·class="[·...·truncated·by·diffoscope;·len:·88,·SHA:·3bd5311f294d262ea1e1b4bd235de412c2f2b462466df5b8911acda45310a55b·...·]-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="0238678059-5">(</span><span·class="p"·data-group-id="0238678059-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="9058091626-5">(</span><span·class="p"·data-group-id="9058091626-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="0238678059-6">}</span><span·class="p"·data-group-id="0238678059-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="9058091626-6">}</span><span·class="p"·data-group-id="9058091626-5">)</span><span·class="p">.</span><span·class="w">
278 ····</span><span·class="p"·data-group-id="0238678059-7">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p"·data-group-id="0238678059-8">{</span><span·class="ss">invalid</span><span·class="p">,</span><span·class="p"·data-group-id="0238678059-9">{</span><span·class="ss">pat[·...·truncated·by·diffoscope;·len:·517,·SHA:·a11eb1e242358ba179a1b31dacd5500af488c71f973575699ce6497875855be4·...·]-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="9058091626-7">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p"·data-group-id="9058091626-8">{</span><span·class="ss">invalid</span><span·class="p">,</span><span·class="p"·data-group-id="9058091626-9">{</span><span·class="ss">pat[·...·truncated·by·diffoscope;·len:·517,·SHA:·7c075a09fd0946c7273c3671cb4743f340861c5f7b80140dc255be6c9120a788·...·]-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="6539213775-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="6539213775-2">[</span><span·class="p"·data-group-id="6539213775-3">{</span><span·class="ss">in_encoding</[·...·truncated·by·diffoscope;·len:·230,·SHA:·b4d989b69bf9307a4b8967e881e2d6c7499529b7de82a06b8967ef4fb0ad026a·...·]-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="2316873099-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="2316873099-2">[</span><span·class="p"·data-group-id="2316873099-3">{</span><span·class="ss">in_encoding</[·...·truncated·by·diffoscope;·len:·230,·SHA:·f320a7a5fcbd7dbf8657d74570294a205fc934e2ab8172d3ed9f1c88dcc2010a·...·]-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="6539213775-4">(</span><span·class="s">&quot;/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="6539213775-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="2316873099-4">(</span><span·class="s">&quot;/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="2316873099-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="5001748847-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="5001748847-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="8739100409-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="8739100409-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="5001748847-2">(</span><span·class="s">&quot;http://local#host/öre&amp;bro·&quot;</span><span·class="p"·data-group-id="5001748847-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="8739100409-2">(</span><span·class="s">&quot;http://local#host/öre&amp;bro·&quot;</span><span·class="p"·data-group-id="8739100409-2">)</span><span·class="p">.</span><span·class="w">
289 ····</span><span·class="p"·data-group-id="5001748847-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="5001748847-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="8739100409-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="8739100409-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>383 <p>Copyright·©·1996-2025·<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;
784 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-6.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>887 <p>Copyright·©·1996-2025·<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-6.2.2/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="5611123375-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5611123375-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:·88d8492e47e6cd6045cf364c1baef70e69044c24957d6373dcdee620e1429d93·...·]-3">)</span><span·class="p">.</span><span·class="w">1027 &gt;·</span><span·class="p"·data-group-id="4516132291-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4516132291-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:·b38e6c420cab6d0360cbc4f2a4beb06645d5d1537f54904f1123baea7fb2f876·...·]-3">)</span><span·class="p">.</span><span·class="w">
1028 </span><span·class="p"·data-group-id="5611123375-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5611123375-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="4516132291-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4516132291-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="5611123375-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="4516132291-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="5611123375-12">&gt;&gt;</span><span·class="p"·data-group-id="5611123375-11">}</span><span·class="p"·data-group-id="5611123375-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="4516132291-12">&gt;&gt;</span><span·class="p"·data-group-id="4516132291-11">}</span><span·class="p"·data-group-id="4516132291-10">}</span><span·class="gp·unselectable">
1031 &gt;·</span><span·class="p"·data-group-id="5611123375-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="5611123375-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·1787,·SHA:·032ff619421a3285d0f87e8887e4c9458d6069b77bea43223c439e218626fe1b·...·]-14">)</span><span·class="p">.</span><span·class="w">1031 &gt;·</span><span·class="p"·data-group-id="4516132291-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="4516132291-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·1787,·SHA:·bffbb17d89559a367cff374b57fd4b3699b9b64d0c9321b494ccb600c41cdc8f·...·]-14">)</span><span·class="p">.</span><span·class="w">
1032 </span><span·class="p"·data-group-id="5611123375-22">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5611123375-23">[</span><span·class="p"·data-group-id="5611123375-24">{</span><span·class="s">&quot;bar&quot;</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·127,·SHA:·96f48995decdef606e56745878667fa177db057f24dff18991680e025df91322·...·]-25">&gt;&gt;</span><span·class="p">,</span><span·class="w">1032 </span><span·class="p"·data-group-id="4516132291-22">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4516132291-23">[</span><span·class="p"·data-group-id="4516132291-24">{</span><span·class="s">&quot;bar&quot;</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·127,·SHA:·98b4bdf901736c3dfe583b75a46916864fc865e1839c2d3acf882d09e931d6b8·...·]-25">&gt;&gt;</span><span·class="p">,</span><span·class="w">
1033 ······</span><span·class="p"·data-group-id="5611123375-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="4516132291-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="5611123375-27">{</span><span·class="p"·data-group-id="5611123375-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="5611123375-28">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·7da705337089105226ed9a5367f59f41c2e517e980da58236aa3eafeb01a282a·...·]-27">}</span><span·class="p">,</span><span·class="w">1034 ·················</span><span·class="p"·data-group-id="4516132291-27">{</span><span·class="p"·data-group-id="4516132291-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="4516132291-28">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·e02985f79c782fcd662f2c88aac82256bf83223f5bc255dd7222be786ce4e3a1·...·]-27">}</span><span·class="p">,</span><span·class="w">
1035 ·················</span><span·class="p"·data-group-id="5611123375-30">{</span><span·class="p"·data-group-id="5611123375-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="5611123375-31">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·577ed7da7db66203f9b7560bd8679e64e172a6c643842ade22b039ca8cfc0f96·...·]-30">}</span><span·class="p">,</span><span·class="w">1035 ·················</span><span·class="p"·data-group-id="4516132291-30">{</span><span·class="p"·data-group-id="4516132291-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="4516132291-31">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·8b7fcda9b31707bc590620b9ae0e0b281f9d6a06d9a3ff36d8b57f1c57e5cb40·...·]-30">}</span><span·class="p">,</span><span·class="w">
1036 ·················</span><span·class="p"·data-group-id="5611123375-33">{</span><span·class="p"·data-group-id="5611123375-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="5611123375-34">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·f8c1d59df335d6e1be20568503eb0bbf23e0c4c62f9e084ab155130c95d1d0d6·...·]-33">}</span><span·class="p">,</span><span·class="w">1036 ·················</span><span·class="p"·data-group-id="4516132291-33">{</span><span·class="p"·data-group-id="4516132291-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="4516132291-34">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·dc3d22e81e678c1cbc7009c1bce6c72965cc9e0fa55721730b180cc56f1661a0·...·]-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="5611123375-26">}</span><span·class="p"·data-group-id="5611123375-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="4516132291-26">}</span><span·class="p"·data-group-id="4516132291-24">}</span><span·class="p">,</span><span·class="w">
1038 ·····</span><span·class="p"·data-group-id="5611123375-36">{</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5611123375-37">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="5611123375-37">&gt;&gt;</span><span·class="p">,</span><span·class="w">1038 ·····</span><span·class="p"·data-group-id="4516132291-36">{</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="4516132291-37">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="4516132291-37">&gt;&gt;</span><span·class="p">,</span><span·class="w">
1039 ······</span><span·class="p"·data-group-id="5611123375-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="4516132291-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="5611123375-39">{</span><span·class="p"·data-group-id="5611123375-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="5611123375-40">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·b61bdb0a96ba23ebe92021663d40fd069fd5b4ac3a979005cf60712c34bb9f89·...·]-39">}</span><span·class="p">,</span><span·class="w">1040 ·················</span><span·class="p"·data-group-id="4516132291-39">{</span><span·class="p"·data-group-id="4516132291-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="4516132291-40">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·a14cf697297c6ab97915cf255b2f1811f85964e15fbaf1bcfd0140fe0a7a7ce8·...·]-39">}</span><span·class="p">,</span><span·class="w">
1041 ·················</span><span·class="p"·data-group-id="5611123375-42">{</span><span·class="p"·data-group-id="5611123375-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="5611123375-43">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·77e51919329309ff51fbadfea54b06e174f028e9438bf5ac2f0f6d6761daf697·...·]-42">}</span><span·class="p">,</span><span·class="w">1041 ·················</span><span·class="p"·data-group-id="4516132291-42">{</span><span·class="p"·data-group-id="4516132291-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="4516132291-43">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·67e2b3299ded5113628f55c13cf75cbe186b203f19e0be4844411cec21d9741c·...·]-42">}</span><span·class="p">,</span><span·class="w">
1042 ·················</span><span·class="p"·data-group-id="5611123375-45">{</span><span·class="p"·data-group-id="5611123375-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="5611123375-46">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·27482d6f2402329cc6bfcabbb0daac75b187f3086925222ed701f2a6c3562370·...·]-45">}</span><span·class="p">,</span><span·class="w">1042 ·················</span><span·class="p"·data-group-id="4516132291-45">{</span><span·class="p"·data-group-id="4516132291-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="4516132291-46">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·12ada7eee0f2c750f3873e7ecef59594b80cbfa89e4c2e8b1a8d6a0476d91978·...·]-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="5611123375-38">}</span><span·class="p"·data-group-id="5611123375-36">}</span><span·class="p"·data-group-id="5611123375-23">]</span><span·class="p"·data-group-id="5611123375-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="4516132291-38">}</span><span·class="p"·data-group-id="4516132291-36">}</span><span·class="p"·data-group-id="4516132291-23">]</span><span·class="p"·data-group-id="4516132291-22">}</span><span·class="gp·unselectable">
1044 &gt;·</span><span·class="p"·data-group-id="5611123375-48">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5611123375-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:·25eb8e902df9551d6c00b0da85fca1cf6349bda6ff2d4ada795b2844c0aa83c0·...·]-50">)</span><span·class="p">.</span><span·class="w">1044 &gt;·</span><span·class="p"·data-group-id="4516132291-48">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4516132291-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:·7618cf691b31e2a3374ad8ab041cacc5eb9a097c0eb8a0d29ccc0b15c875415d·...·]-50">)</span><span·class="p">.</span><span·class="w">
1045 </span><span·class="p"·data-group-id="5611123375-53">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5611123375-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="4516132291-53">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4516132291-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="5611123375-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="4516132291-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="5611123375-55">&gt;&gt;</span><span·class="p"·data-group-id="5611123375-54">}</span><span·class="p"·data-group-id="5611123375-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="4516132291-55">&gt;&gt;</span><span·class="p"·data-group-id="4516132291-54">}</span><span·class="p"·data-group-id="4516132291-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="5611123375-56">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5611123375-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:·fcfbb3ec24d39939373a58be1df2e2c4a7a030260da9adc62f03f9ff1d156d23·...·]-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="4516132291-56">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4516132291-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:·135eded2de2c5fac552681a2aaadb5cd939eee0e627e718ca774c3ef060b5913·...·]-56">)</span><span·class="p">.</span><span·class="w">
1049 </span><span·class="p"·data-group-id="5611123375-63">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="5611123375-63">&gt;&gt;</span></code></pre>1049 </span><span·class="p"·data-group-id="4516132291-63">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="4516132291-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1624 <p>Copyright·©·1996-2025·<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
1.41 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-3.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>144 <p>Copyright·©·1996-2025·<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-3.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>254 <p>Copyright·©·1996-2025·<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-3.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>182 <p>Copyright·©·1996-2025·<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.56 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-3.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>858 <p>Copyright·©·1996-2025·<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-3.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>438 <p>Copyright·©·1996-2025·<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-3.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>974 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-3.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>384 <p>Copyright·©·1996-2025·<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.4 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-3.2.2/doc/html/erl_syntax.html
    
Offset 6602, 18 lines modifiedOffset 6602, 18 lines modified
  
6602 ··········<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>6602 ··········<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>
  
6603 ······</div>6603 ······</div>
  
6604 <p>Returns·the·associated·post-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down6604 <p>Returns·the·associated·post-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down
6605 textual·order.·When·the·code·is·formatted,·post-comments·are·typically6605 textual·order.·When·the·code·is·formatted,·post-comments·are·typically
6606 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="8108615182-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="8108615182-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·characters6606 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="6329767567-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="6329767567-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
6607 on·the·same·line,·rather·than·placing·the·separators·on·the·following·line.6607 on·the·same·line,·rather·than·placing·the·separators·on·the·following·line.
6608 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="9917266610-1">(</span><span·class="p"·data-group-id="9917266610-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="9917266610-2">]</span><span·c[·...·truncated·by·diffoscope;·len:·106,·SHA:·3862a1c278685b504da93348636d9dbc346633833b15e1ad281f8317f40c4b0b·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">6608 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="7321604896-1">(</span><span·class="p"·data-group-id="7321604896-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="7321604896-2">]</span><span·c[·...·truncated·by·diffoscope;·len:·106,·SHA:·22ff3a7d47a014b4df1b9c12e6e28bf8c5c1635eb26729d47e7b9f75bb10f1d6·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
6609 ····</span><span·class="nf">foo</span><span·class="p"·data-group-id="9917266610-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="9917266610-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="9917266610-4">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·8b12fe00d5a60ce2271ed7a4f4d5288d8e1f094d8d0558fa7ad388d55ba3305d·...·]-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">6609 ····</span><span·class="nf">foo</span><span·class="p"·data-group-id="7321604896-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="7321604896-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="7321604896-4">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·d0639dd4715388321c44d1865d75f5f39829c83bf6f7879fdd9dc7d8507c2fe1·...·]-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">
6610 ·</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>,6610 ·</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>,
6611 <a·href="#set_postcomments/2"><code·class="inline">set_postcomments/2</code></a>.</p>6611 <a·href="#set_postcomments/2"><code·class="inline">set_postcomments/2</code></a>.</p>
6612 ··</section>6612 ··</section>
6613 </section>6613 </section>
6614 <section·class="detail"·id="get_precomments/1">6614 <section·class="detail"·id="get_precomments/1">
  
6615 ··<div·class="detail-header">6615 ··<div·class="detail-header">
Offset 6636, 18 lines modifiedOffset 6636, 18 lines modified
6636 ··········<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>6636 ··········<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>
  
6637 ······</div>6637 ······</div>
  
6638 <p>Returns·the·associated·pre-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down6638 <p>Returns·the·associated·pre-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down
6639 textual·order.·When·the·code·is·formatted,·pre-comments·are·typically6639 textual·order.·When·the·code·is·formatted,·pre-comments·are·typically
6640 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">6640 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">
6641 </span><span·class="nf">foo</span><span·class="p"·data-group-id="7752398390-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="7752398390-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7752398390-2">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="7752398390-2">}</span><span·class="p">.</span></code></pre><p>If·possible,·the·comment·should·be·moved·before·any·preceding·separator 
6642 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="9127803811-1">(</span><span·class="p"·data-group-id="9127803811-2">[</span><span·class="n">X</span><span·[·...·truncated·by·diffoscope;·len:·265,·SHA:·05800153ee57c5558384080374b11b39b37eed2f936facf75054a0d135c1662e·...·]6641 </span><span·class="nf">foo</span><span·class="p"·data-group-id="1202936062-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="1202936062-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·300,·SHA:·d86aeecd33bff6673a8e9ab81fc2c21d3a01a839ce731b1b70b713cc556fa24a·...·]
 6642 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="5939351064-1">(</span><span·class="p"·data-group-id="5939351064-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="5939351064-2">]</span><span·class="p"·data-group-id="5939351064-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
6643 ····</span><span·class="c1">%·Pre-comment·of·&#39;bar(X)&#39;·node</span><span·class="w">6643 ····</span><span·class="c1">%·Pre-comment·of·&#39;bar(X)&#39;·node</span><span·class="w">
6644 ····</span><span·class="p"·data-group-id="9127803811-3">[</span><span·class="nf">bar</span><span·class="p"·data-group-id="9127803811-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="9127803811-4">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·194,·SHA:·ffae7452f5fdd6cb37e146b8e018cf079f687ab458980c65db5ae14de209f966·...·]-3">]</span><span·class="p">;</span><span·class="w">6644 ····</span><span·class="p"·data-group-id="5939351064-3">[</span><span·class="nf">bar</span><span·class="p"·data-group-id="5939351064-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="5939351064-4">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·194,·SHA:·63dacc547515c74c126f9f50178e355b41c430bdeae21a734cdf0fbe726e071a·...·]-3">]</span><span·class="p">;</span><span·class="w">
6645 </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>,6645 </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>,
6646 <a·href="#set_precomments/2"><code·class="inline">set_precomments/2</code></a>.</p>6646 <a·href="#set_precomments/2"><code·class="inline">set_precomments/2</code></a>.</p>
6647 ··</section>6647 ··</section>
6648 </section>6648 </section>
6649 <section·class="detail"·id="has_comments/1">6649 <section·class="detail"·id="has_comments/1">
  
6650 ··<div·class="detail-header">6650 ··<div·class="detail-header">
Offset 11543, 15 lines modifiedOffset 11543, 15 lines modified
11543 ······<p·class="built-using">11543 ······<p·class="built-using">
11544 ········Built·using11544 ········Built·using
11545 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the11545 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
11546 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>11546 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
11547 ······</p>11547 ······</p>
11548 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>11548 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
11549 ····</footer>11549 ····</footer>
11550 ··</div>11550 ··</div>
11551 </main>11551 </main>
11552 </div>11552 </div>
11553 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>11553 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
11554 ··<script>11554 ··<script>
11555 ··let·initialized·=·false;11555 ··let·initialized·=·false;
839 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-3.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2391 <p>Copyright·©·1996-2025·<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.5 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-3.2.2/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="8425262872-1">(</span><span·class="s">&quot;syntax_tools/include/merl.hrl&quot;</span><span·class="p"·data-group-id="8425262872-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="5851859368-1">(</span><span·class="s">&quot;syntax_tools/include/merl.hrl&quot;</span><span·class="p"·data-group-id="5851859368-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="3973020147-1">(</span><span·class="s">&quot;{foo,·42}&quot;</span><span·class="p"·data-group-id="3973020147-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="2927641534-1">(</span><span·class="s">&quot;{foo,·42}&quot;</span><span·class="p"·data-group-id="2927641534-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="3973020147-2">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="3973020147-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="2927641534-2">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="2927641534-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="3973020147-3">(</span><span·class="s">&quot;foo:bar(_@Number)&quot;</span><span·class="p"·data-group-id="3973020147-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:·5d21c7e26f3e76dfcec348392e80ea6d5b5b2a57131db3c095ab629bee9222db·...·]-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="2927641534-3">(</span><span·class="s">&quot;foo:bar(_@Number)&quot;</span><span·class="p"·data-group-id="2927641534-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:·29fce05b1958368621af1230cbafac42fed0fa409191cea8cba963b3616411d9·...·]-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="3331533759-1">(</span><span·class="s">&quot;{foo,·_@Foo}&quot;</span><span·class="p"·data-group-id="3331533759-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:·65e858255f809af82afb18a311c4b8960dcbfc04e3ca3a9d4d6bad581bc7bdb7·...·]-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="9838167903-1">(</span><span·class="s">&quot;{foo,·_@Foo}&quot;</span><span·class="p"·data-group-id="9838167903-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:·3a5db3524693cae390e133679ccda8cf7580f3efe6a972b2f0674d3827c93607·...·]-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="3331533759-3">(</span><span·class="s">&quot;{bar,·_@Bar}&quot;</span><span·class="p"·data-group-id="3331533759-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:·ce0de81c89ee5194224c8f3b14d4b05dcbf046f723a80ef20107ad4367ce8753·...·]-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="9838167903-3">(</span><span·class="s">&quot;{bar,·_@Bar}&quot;</span><span·class="p"·data-group-id="9838167903-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:·1b63a00fce5a982a0fa92980bd8ff6d6c25dd19bd7f207426479f17fba88e089·...·]-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="3331533759-6">(</span><span·class="p"·data-group-id="3331533759-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="9838167903-6">(</span><span·class="p"·data-group-id="9838167903-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="8446218240-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="8446218240-2">[</span><span·class="p"·data-group-id="8446218240-3">{</span><span·class="ss">bar</span[·...·truncated·by·diffoscope;·len:·453,·SHA:·b0f13dda16f3979d1767bdd607a28a5732b0a9066242e6d38b71cfc1320b3c7b·...·]-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="6169167521-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="6169167521-2">[</span><span·class="p"·data-group-id="6169167521-3">{</span><span·class="ss">bar</span[·...·truncated·by·diffoscope;·len:·453,·SHA:·189f5b432390320eefc86a53c8ea1ee8dbacf73f15a7003f22fd4eb674f5c1df·...·]-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="5874073909-1">(</span><span·class="p"·data-group-id="5874073909-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="4805127218-1">(</span><span·class="p"·data-group-id="4805127218-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="5874073909-2">]</span><span·class="p"·data-group-id="5874073909-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="4805127218-2">]</span><span·class="p"·data-group-id="4805127218-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="2510966952-1">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="2510966952-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·cl[·...·truncated·by·diffoscope;·len:·137,·SHA:·10c5433993f3bb3403cb2265b9125e857fc0de2f50249f519f3df1fea23c4a3d·...·]2-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="2184808032-1">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="2184808032-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·cl[·...·truncated·by·diffoscope;·len:·137,·SHA:·88a09b87cbe2b952cd81f1daec7e82b722a84d06bfbd762b7410ff3d7347d01b·...·]2-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="1155261852-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="1155261852-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="0494901384-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="0494901384-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="1155261852-2">(</span><span·class="s">&quot;{foo,·_@Bar@}&quot;</span><span·class="p"·data-group-id="1155261852-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="0494901384-2">(</span><span·class="s">&quot;{foo,·_@Bar@}&quot;</span><span·class="p"·data-group-id="0494901384-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="0130242756-1">(</span><span·class="n">Bar</span><span·class="p"·data-group-id="0130242756-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="2645564888-1">(</span><span·class="n">Bar</span><span·class="p"·data-group-id="2645564888-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="0130242756-2">(</span><span·class="s">&quot;{foo,·_@TmpBar}&quot;</span><span·class="p"·data-group-id="0130242756-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="2645564888-2">(</span><span·class="s">&quot;{foo,·_@TmpBar}&quot;</span><span·class="p"·data-group-id="2645564888-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="1612383482-1">(</span><span·class="s">&quot;-export([f/90919]).&quot;</span><span·class="p"·data-group-id="1612383482-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="3051194619-1">(</span><span·class="s">&quot;-export([f/90919]).&quot;</span><span·class="p"·data-group-id="3051194619-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="1612383482-2">(</span><span·class="n">Q1</span><span·class="p"·data-group-id="1612383482-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="3051194619-2">(</span><span·class="n">Q1</span><span·class="p"·data-group-id="3051194619-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="1612383482-3">(</span><span·class="s">&quot;-export([f/909299]).&quot;</span><span·class="p"·data-group-id="1612383482-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="3051194619-3">(</span><span·class="s">&quot;-export([f/909299]).&quot;</span><span·class="p"·data-group-id="3051194619-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="0857909480-1">(</span><span·class="s">&quot;f(_@Arg)&quot;</span><span·class="p"·data-group-id="0857909480-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="3714035777-1">(</span><span·class="s">&quot;f(_@Arg)&quot;</span><span·class="p"·data-group-id="3714035777-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="8702707929-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="7024323434-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="0238776724-1">(</span><span·class="s">&quot;-file(\&quot;&#39;@File\&quot;,·9090).&quot;</span><span·class="p"·data-group-id="0238776724-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:·d325bbed469174677c76f9392d801669c4ac19a5db378ce6a3cb0be9be1465dc·...·]-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="9416168423-1">(</span><span·class="s">&quot;-file(\&quot;&#39;@File\&quot;,·9090).&quot;</span><span·class="p"·data-group-id="9416168423-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:·69c679f119b85a01a36f2d472abe1a40c4685f4f8863bf909c6208a20ff8bcd8·...·]-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="2017866464-1">(</span><span·class="s">&quot;{_@@Elements}&quot;</span><span·class="p"·data-group-id="2017866464-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:·3ce7f8b9f7f2af33e3cff07c0249415c5d05d9c49871975f06e7e0a7b89b61fd·...·]4-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="7453142574-1">(</span><span·class="s">&quot;{_@@Elements}&quot;</span><span·class="p"·data-group-id="7453142574-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:·db17895baa5f30095a90915dac7af3f74474994d39d62962cff613a7caa55276·...·]4-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="0847673925-1">(</span><span·class="s">&quot;{a,·b,·_@@Elements}&quot;</span><span·class="p"·data-group-id="0847673925-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="0847673925-2">(</span><span·class="p"·data-group-id="0847673925-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="0847673925-3">}</span><span·class="p"·data-group-id="0847673925-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="2833149908-1">(</span><span·class="s">&quot;{_@@Elements,·c,·d}&quot;</span><span·class="p"·data-group-id="2833149908-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="2833149908-2">(</span><span·class="p"·data-group-id="2833149908-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="2833149908-3">}</span><span·class="p"·data-group-id="2833149908-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="8466849101-1">(</span><span·class="s">&quot;{_@First,·_@@Rest}&quot;</span><span·[·...·truncated·by·diffoscope;·len:·1421,·SHA:·ff5f5306bd558d173c026054d9d5f86fe6611d6705b58feed1cc41753d9ae473·...·]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="7621456678-1">(</span><span·class="s">&quot;{a,·b,·_@@Elements}&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·1720,·SHA:·12597003fe780d069bb1119e051ff23efd748bc2b4d3e21f95a68cfb5e7ae353·...·]
 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="6356399885-1">(</span><span·class="s">&quot;{_@First,·_@@Rest}&quot;</span><span·class="p"·data-group-id="6356399885-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="6356399885-2">(</span><span·class="p"·data-group-id="6356399885-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="6356399885-3">}</span><span·class="p"·data-group-id="6356399885-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="6989467275-1">(</span><span·class="s">&quot;{_@@_,·_@Last}&quot;</span><span·class="p"·data-group-id="6989467275-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="6989467275-2">(</span><span·class="p"·data-group-id="6989467275-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="6989467275-3">}</span><span·class="p"·data-group-id="6989467275-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="6766169100-1">(</span><span·class="s">&quot;-export([_@@Name]).&quot;</span><span·class="p"·data-group-id="6766169100-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="9058008406-1">(</span><span·class="s">&quot;-export([_@@Name]).&quot;</span><span·class="p"·data-group-id="9058008406-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="2837511881-1">(</span><span·class="s">&quot;-export([&#39;@_@Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="2837511881-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="9298189039-1">(</span><span·class="s">&quot;-export([&#39;@_@Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="9298189039-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="0572945922-1">(</span><span·class="s">&quot;-export([&#39;@__Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="0572945922-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="6446255459-1">(</span><span·class="s">&quot;-export([&#39;@__Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="6446255459-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="2126143627-1">(</span><span·class="p"·data-group-id="2126143627-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="2574637375-1">(</span><span·class="p"·data-group-id="2574637375-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="6294430865-1">(</span><span·class="nc">merl</span><span·class="p">:</span><span·class="nf">quote</span><span·class="p"·data-group-id="6294430865-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:·65,·SHA:·4be8808b750a880612167468db3045422ed1da148126b9dd3c3a0d80745856fc·...·]-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="7237708689-1">(</span><span·class="nc">merl</span><span·class="p">:</span><span·class="nf">quote</span><span·class="p"·data-group-id="7237708689-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:·65,·SHA:·a715cdb886236099a8ec42b4444962da200345119dca4bc64bfe5076d44cfee3·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1703 <p>Copyright·©·1996-2025·<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-3.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>157 <p>Copyright·©·1996-2025·<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
1.46 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-3.2.2/doc/html/notes.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>923 <p>Copyright·©·1996-2025·<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;
649 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-3.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1127 <p>Copyright·©·1996-2025·<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-3.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>142 <p>Copyright·©·1996-2025·<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;
405 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>195 <p>Copyright·©·1996-2025·<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.2/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="8894322396-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="8894322396-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·483,·SHA:·b6a0789d539c3dec9a813b191eb36f6e6ad09632171443fed7dceede987790e7·...·]-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="4758700811-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="4758700811-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·483,·SHA:·80480c9e2671ae6bf44f90051b25e47da466600d27c504b1c205a1bb99edb172·...·]-2">)</span><span·class="p">.</span><span·class="w">
130 ······</span><span·class="p"·data-group-id="8894322396-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="8894322396-5">}</span>[·...·truncated·by·diffoscope;·len:·896,·SHA:·4aac38f2ddc7bb7fecccb603aacefeaefae4eecc2e3560d476808bbbde6eb6ab·...·]-1">)</span><span·class="p">.</span><span·class="w">130 ······</span><span·class="p"·data-group-id="4758700811-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="4758700811-5">}</span>[·...·truncated·by·diffoscope;·len:·896,·SHA:·2b848ba4e3d60624aefb46560e95e404f5d1e9b2582c625f085a7eaec62913db·...·]-1">)</span><span·class="p">.</span><span·class="w">
131 ······</span><span·class="p"·data-group-id="7412953905-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7412953905-5">&lt;&lt;</span><span·class="s">&quot;Erlang/OTP·21\n&quot;</span><span·class="p"·data-group-id="7412953905-5">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·40e6ba81bfea99c10342a234286da6b369c11e936db2ab2acee21c097670cc70·...·]-4">}</span></code></pre>131 ······</span><span·class="p"·data-group-id="4250838657-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4250838657-5">&lt;&lt;</span><span·class="s">&quot;Erlang/OTP·21\n&quot;</span><span·class="p"·data-group-id="4250838657-5">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·0b50dcfa12b9933689f7a6bc3cdf2f794a2761636ecc0216e75c1c436e0ec4f8·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>173 <p>Copyright·©·1996-2025·<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.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2025·<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.2/doc/html/notes.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>313 <p>Copyright·©·1996-2025·<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;
675 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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
59.5 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.2/doc/html/tftp.epub
2.27 KB
zipinfo {}
Max HTML report size reached
46.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·Jul·06·2026·03:09:16,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:58:10,·uncompressed·size·20,·method=store
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.2/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="3018325327-1">(</span><span·class="ss">revision</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="3018325327-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="7900367455-1">(</span><span·class="ss">revision</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="7900367455-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 930, 15 lines modifiedOffset 930, 15 lines modified
930 ······<p·class="built-using">930 ······<p·class="built-using">
931 ········Built·using931 ········Built·using
932 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the932 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
933 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>933 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
934 ······</p>934 ······</p>
935 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>935 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
936 ····</footer>936 ····</footer>
937 ··</div>937 ··</div>
938 </main>938 </main>
939 </div>939 </div>
940 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>940 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
941 ··<script>941 ··<script>
942 ··let·initialized·=·false;942 ··let·initialized·=·false;
702 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.2/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>306 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>261 <p>Copyright·©·1996-2025·<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.1/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="2419125106-1">(</span><span·class="p"·data-group-id="2419125106-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="2419125106-2">]</span><span·class="p"·data-group-id="2419125106-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="0545720836-1">(</span><span·class="p"·data-group-id="0545720836-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="0545720836-2">]</span><span·class="p"·data-group-id="0545720836-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="8586841727-1">(</span><span·class="p"·data-group-id="8586841727-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="8586841727-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">function</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·a9bd36e598d8ec93f77fd89d4ff7ef30ff6073895cd50bfec7fff2521816c5b8·...·]-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="5089819424-1">(</span><span·class="p"·data-group-id="5089819424-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="5089819424-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">function</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·d800bc97c6f97fe6a99ffe383a4a7a70fa1b73f2c2b56512433ed39ee98a10cf·...·]-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="9149301923-1">(</span><span·class="p"·data-group-id="9149301923-2">[</span><span·class="ss">html</span><span·class="p"·data-group-id="9149301923-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9149301923-3">[</span>[·...·truncated·by·diffoscope;·len:·94,·SHA:·0b082fcd98504578aca5ccf9062ad545f45a2d360996de7911ebaf2d72094ae2·...·]-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="9015771277-1">(</span><span·class="p"·data-group-id="9015771277-2">[</span><span·class="ss">html</span><span·class="p"·data-group-id="9015771277-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9015771277-3">[</span>[·...·truncated·by·diffoscope;·len:·94,·SHA:·9142e5c4cb91d5a20b04f6c97fc88c417469440b6af936f213d406f5456537ca·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2588 <p>Copyright·©·1996-2025·<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.1/doc/html/cover_chapter.html
    
Offset 142, 89 lines modifiedOffset 142, 89 lines modified
142 </h2>142 </h2>
143 <h3·id="example"·class="section-heading">143 <h3·id="example"·class="section-heading">
144 ··<a·href="#example"·class="hover-link">144 ··<a·href="#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">Example</span>147 ··<span·class="text">Example</span>
148 </h3>148 </h3>
149 <p>Assume·that·a·test·case·for·the·following·program·should·be·verified:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9081657962-1">(</span><span·class="ss">channel</span><span·class="p"·data-group-id="9081657962-1">)</span><span·class="p">.</span><span·class="w">149 <p>Assume·that·a·test·case·for·the·following·program·should·be·verified:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4731050715-1">(</span><span·class="ss">channel</span><span·class="p"·data-group-id="4731050715-1">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="9081657962-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="9081657962-2">)</span><span·class="p">.</span><span·class="w">150 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="4731050715-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="4731050715-2">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="w">151 </span><span·class="w">
152 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9081657962-3">(</span><span·class="p"·data-group-id="9081657962-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="ss">stop</span><span·class="p">/</span><span·class="mi">0</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·a229cee976d0c30cc28e0d42522497a1e0342d10b013be00cf6836d815698611·...·]-3">)</span><span·class="p">.</span><span·class="w">152 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4731050715-3">(</span><span·class="p"·data-group-id="4731050715-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="ss">stop</span><span·class="p">/</span><span·class="mi">0</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·7756883e1132d3763272496d24f6f12207c04cb4b105631bcee1e3ccf72dc6cf·...·]-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="9081657962-5">(</span><span·class="p"·data-group-id="9081657962-6">[</span><span·class="ss">alloc</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="ss">free</span><span·class="p">/</span><span·class="mi">1</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·920319f58f96041c394877b4a3c93bf09464859ca6f182743a3b7c6b73f15d45·...·]-5">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·client·interface</span><span·class="w">153 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4731050715-5">(</span><span·class="p"·data-group-id="4731050715-6">[</span><span·class="ss">alloc</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="ss">free</span><span·class="p">/</span><span·class="mi">1</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·4e0027ec6b7101bf66e9cd704426b9cec5c906004f919d6b2618f68d2ccbfcdd·...·]-5">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·client·interface</span><span·class="w">
154 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9081657962-7">(</span><span·class="p"·data-group-id="9081657962-8">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">handle_call</span><span·class="p">/</span><span·class="mi">3</s[·...·truncated·by·diffoscope;·len:·204,·SHA:·fc16ad12a7fd67b73a1887e17a85ca9da1816dbf799ad00ffecadcddb673eb45·...·]-7">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·callback·functions</span><span·class="w">154 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4731050715-7">(</span><span·class="p"·data-group-id="4731050715-8">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">handle_call</span><span·class="p">/</span><span·class="mi">3</s[·...·truncated·by·diffoscope;·len:·204,·SHA:·8a88bfb03bc127555f917c84779b19f0db764c6efe81d48bc3a8285107593db3·...·]-7">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·callback·functions</span><span·class="w">
  
155 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="9081657962-9">(</span><span·class="p"·data-group-id="9081657962-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">155 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="4731050715-9">(</span><span·class="p"·data-group-id="4731050715-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
156 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="9081657962-10">(</span><span·class="p"·data-group-id="9081657962-11">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">channel</span><span·class="p"·data-group-id="9081657962-11">}</span><span·class="p">,</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·391,·SHA:·d962a252b38f2c2c8c128b52ed0ce556615e1c73938bd1066e54ec93824561eb·...·]-10">)</span><span·class="p">.</span><span·class="w">156 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="4731050715-10">(</span><span·class="p"·data-group-id="4731050715-11">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">channel</span><span·class="p"·data-group-id="4731050715-11">}</span><span·class="p">,</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·391,·SHA:·9f6175a23c5994254a539bff02345fbbe462b9e5b50f59635b812238af1e68bd·...·]-10">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">stop</span><span·class="p"·data-group-id="9081657962-14">(</span><span·class="p"·data-group-id="9081657962-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 </span><span·class="nf">stop</span><span·class="p"·data-group-id="4731050715-14">(</span><span·class="p"·data-group-id="4731050715-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="9081657962-15">(</span><span·class="ss">channel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p"·data-group-id="9081657962-15">)</span><span·class="p">.</span><span·class="w">158 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="4731050715-15">(</span><span·class="ss">channel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p"·data-group-id="4731050715-15">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="c1">%%%-Client·interface·functions-------------------------------------------</span><span·class="w">159 </span><span·class="c1">%%%-Client·interface·functions-------------------------------------------</span><span·class="w">
  
160 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="9081657962-16">(</span><span·class="p"·data-group-id="9081657962-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">160 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="4731050715-16">(</span><span·class="p"·data-group-id="4731050715-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
161 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="9081657962-17">(</span><span·class="ss">channel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-group-id="9081657962-17">)</span><span·class="p">.</span><span·class="w">161 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="4731050715-17">(</span><span·class="ss">channel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-group-id="4731050715-17">)</span><span·class="p">.</span><span·class="w">
  
162 </span><span·class="nf">free</span><span·class="p"·data-group-id="9081657962-18">(</span><span·class="n">Channel</span><span·class="p"·data-group-id="9081657962-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">162 </span><span·class="nf">free</span><span·class="p"·data-group-id="4731050715-18">(</span><span·class="n">Channel</span><span·class="p"·data-group-id="4731050715-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
163 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="9081657962-19">(</span><span·class="ss">channel</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9081657962-20">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="n">Channel</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·77,·SHA:·b86af2e18bffd1d541f1cf7c74efd7f2b2c7e795fe3ff147c2eb17f0475101d2·...·]-19">)</span><span·class="p">.</span><span·class="w">163 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="4731050715-19">(</span><span·class="ss">channel</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4731050715-20">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="n">Channel</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·77,·SHA:·2c9b5967b5978d8bd7f38aabe9bb95e876fc6160932fb4cf1f1c6596c75420ef·...·]-19">)</span><span·class="p">.</span><span·class="w">
  
164 </span><span·class="c1">%%%-gen_server·callback·functions----------------------------------------</span><span·class="w">164 </span><span·class="c1">%%%-gen_server·callback·functions----------------------------------------</span><span·class="w">
  
165 </span><span·class="nf">init</span><span·class="p"·data-group-id="9081657962-21">(</span><span·class="p">_</span><span·class="n">Arg</span><span·class="p"·data-group-id="9081657962-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">165 </span><span·class="nf">init</span><span·class="p"·data-group-id="4731050715-21">(</span><span·class="p">_</span><span·class="n">Arg</span><span·class="p"·data-group-id="4731050715-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
166 ····</span><span·class="p"·data-group-id="9081657962-22">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="nf">channels</span><span·class="p"·data-group-id="9081657962-23">(</span><span·class="p"·data-group-id="9081657962-23">)</span><span·class="p"·data-group-id="9081657962-22">}</span><span·class="p">.</span><span·class="w">166 ····</span><span·class="p"·data-group-id="4731050715-22">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="nf">channels</span><span·class="p"·data-group-id="4731050715-23">(</span><span·class="p"·data-group-id="4731050715-23">)</span><span·class="p"·data-group-id="4731050715-22">}</span><span·class="p">.</span><span·class="w">
  
167 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="9081657962-24">(</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Client</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Channels</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·1b21db34428c628f17f22af876deb6b11cc62ff7eb18fdb2c351a051b9296160·...·]-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">167 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="4731050715-24">(</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Client</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Channels</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·51d24993558574541911df824070ecc6c2dbb35e4e6e4b976299a04217567a42·...·]-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
168 ····</span><span·class="p"·data-group-id="9081657962-25">{</span><span·class="ss">stop</span><span·class="p">,</span><span·class="ss">normal</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Channels</span><span·class="p"·data-group-id="9081657962-25">}</span><span·class="p">;</span><span·class="w">168 ····</span><span·class="p"·data-group-id="4731050715-25">{</span><span·class="ss">stop</span><span·class="p">,</span><span·class="ss">normal</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Channels</span><span·class="p"·data-group-id="4731050715-25">}</span><span·class="p">;</span><span·class="w">
  
169 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="9081657962-26">(</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Client</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Channels</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·9fe44517c499faaa869856fdde236ff2f0bbb875c8debca15d0c4f660b5839d5·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">169 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="4731050715-26">(</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Client</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Channels</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·00ce3def28ed7ed32f8f501467b8af371cd753ff477a18dc7a90c7c5c9922033·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
170 ····</span><span·class="p"·data-group-id="9081657962-27">{</span><span·class="n">Ch</span><span·class="p">,</span><span·class="n">Channels2</span><span·class="p"·data-group-id="9081657962-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">alloc</sp[·...·truncated·by·diffoscope;·len:·129,·SHA:·aebfe327738fe3ab123fecc3da71c2b7ba1d3dd23a546bf363dad0abba7e31be·...·]-28">)</span><span·class="p">,</span><span·class="w">170 ····</span><span·class="p"·data-group-id="4731050715-27">{</span><span·class="n">Ch</span><span·class="p">,</span><span·class="n">Channels2</span><span·class="p"·data-group-id="4731050715-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">alloc</sp[·...·truncated·by·diffoscope;·len:·129,·SHA:·b79d0ce2b8263f1aa6e1a70c1df7b334f0dc543afb1b79df218103e924278594·...·]-28">)</span><span·class="p">,</span><span·class="w">
171 ····</span><span·class="p"·data-group-id="9081657962-29">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="p"·data-group-id="9081657962-30">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Ch</span><span·class="p"·data-group-id="9081657962-30">}</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·617d2d422895f2c033f8cc8ac74bfff5799780c61c26327d5b17f6598530cb68·...·]-29">}</span><span·class="p">;</span><span·class="w">171 ····</span><span·class="p"·data-group-id="4731050715-29">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="p"·data-group-id="4731050715-30">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Ch</span><span·class="p"·data-group-id="4731050715-30">}</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·836c30772a79655e2c542958487ed888e2b1307de12fef466ee3275cc46cf1b2·...·]-29">}</span><span·class="p">;</span><span·class="w">
  
172 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="9081657962-31">(</span><span·class="p"·data-group-id="9081657962-32">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="n">Channel</span><span·class="p"·data-group-id="9081657962-32">}</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·178,·SHA:·becc4bd3ea2a856aac06fb07bc18dda3d5d1f95b2b0106e7b40a39ccd95d20f1·...·]-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="4731050715-31">(</span><span·class="p"·data-group-id="4731050715-32">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="n">Channel</span><span·class="p"·data-group-id="4731050715-32">}</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·178,·SHA:·8458a52cb0ae77a19c8753d1e6db51c979678995da4d96bf6f30f996c841a7fb·...·]-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
173 ····</span><span·class="n">Channels2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">free</span><span·class="p"·data-group-id="9081657962-33">(</span><span·class="n">Channel</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Channels</span><span·class="p"·data-group-id="9081657962-33">)</span><span·class="p">,</span><span·class="w">173 ····</span><span·class="n">Channels2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">free</span><span·class="p"·data-group-id="4731050715-33">(</span><span·class="n">Channel</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Channels</span><span·class="p"·data-group-id="4731050715-33">)</span><span·class="p">,</span><span·class="w">
174 ····</span><span·class="p"·data-group-id="9081657962-34">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Channels2</span><span·class="p"·data-group-id="9081657962-34">}</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="p"·data-group-id="4731050715-34">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Channels2</span><span·class="p"·data-group-id="4731050715-34">}</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="9081657962-35">(</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">Channels</span><span·class="p"·data-group-id="9081657962-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="4731050715-35">(</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">Channels</span><span·class="p"·data-group-id="4731050715-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
176 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">176 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
177 </span><span·class="c1">%%%-Internal·functions---------------------------------------------------</span><span·class="w">177 </span><span·class="c1">%%%-Internal·functions---------------------------------------------------</span><span·class="w">
  
178 </span><span·class="nf">channels</span><span·class="p"·data-group-id="9081657962-36">(</span><span·class="p"·data-group-id="9081657962-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 </span><span·class="nf">channels</span><span·class="p"·data-group-id="4731050715-36">(</span><span·class="p"·data-group-id="4731050715-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ····</span><span·class="p"·data-group-id="9081657962-37">[</span><span·class="ss">ch1</span><span·class="p">,</span><span·class="ss">ch2</span><span·class="p">,</span><span·class="ss">ch3</span><span·class="p"·data-group-id="9081657962-37">]</span><span·class="p">.</span><span·class="w">179 ····</span><span·class="p"·data-group-id="4731050715-37">[</span><span·class="ss">ch1</span><span·class="p">,</span><span·class="ss">ch2</span><span·class="p">,</span><span·class="ss">ch3</span><span·class="p"·data-group-id="4731050715-37">]</span><span·class="p">.</span><span·class="w">
  
180 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="9081657962-38">(</span><span·class="p"·data-group-id="9081657962-39">[</span><span·class="n">Channel</span><span·class="p">|</span><span·class="n">Channels</span><span·class="p"·data-group-id="9081657962-39">]</span><span·class="p"·data-group-id="908165796[·...·truncated·by·diffoscope;·len:·1,·SHA:·d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35·...·]-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="4731050715-38">(</span><span·class="p"·data-group-id="4731050715-39">[</span><span·class="n">Channel</span><span·class="p">|</span><span·class="n">Channels</span><span·class="p"·data-group-id="4731050715-39">]</span><span·class="p"·data-group-id="473105071[·...·truncated·by·diffoscope;·len:·1,·SHA:·ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d·...·]-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
181 ····</span><span·class="p"·data-group-id="9081657962-40">{</span><span·class="n">Channel</span><span·class="p">,</span><span·class="n">Channels</span><span·class="p"·data-group-id="9081657962-40">}</span><span·class="p">;</span><span·class="w">181 ····</span><span·class="p"·data-group-id="4731050715-40">{</span><span·class="n">Channel</span><span·class="p">,</span><span·class="n">Channels</span><span·class="p"·data-group-id="4731050715-40">}</span><span·class="p">;</span><span·class="w">
182 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="9081657962-41">(</span><span·class="p"·data-group-id="9081657962-42">[</span><span·class="p"·data-group-id="9081657962-42">]</span><span·class="p"·data-group-id="9081657962-41">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="4731050715-41">(</span><span·class="p"·data-group-id="4731050715-42">[</span><span·class="p"·data-group-id="4731050715-42">]</span><span·class="p"·data-group-id="4731050715-41">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
183 ····</span><span·class="ss">false</span><span·class="p">.</span><span·class="w">183 ····</span><span·class="ss">false</span><span·class="p">.</span><span·class="w">
  
184 </span><span·class="nf">free</span><span·class="p"·data-group-id="9081657962-43">(</span><span·class="n">Channel</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Channels</span><span·class="p"·data-group-id="9081657962-43">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">184 </span><span·class="nf">free</span><span·class="p"·data-group-id="4731050715-43">(</span><span·class="n">Channel</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Channels</span><span·class="p"·data-group-id="4731050715-43">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
185 ····</span><span·class="p"·data-group-id="9081657962-44">[</span><span·class="n">Channel</span><span·class="p">|</span><span·class="n">Channels</span><span·class="p"·data-group-id="9081657962-44">]</span><span·class="p">.</span></code></pre><p>The·test·case·is·implemented·as·follows:</p><pre><code[·...·truncated·by·diffoscope;·len:·214,·SHA:·46eac8008167c0aa1a8e82970781c42dfeca62aeccb1a23fdf2b8bcfde7c4d7a·...·]-1">)</span><span·class="p">.</span><span·class="w">185 ····</span><span·class="p"·data-group-id="4731050715-44">[</span><span·class="n">Channel</span><span·class="p">|</span><span·class="n">Channels</span><span·class="p"·data-group-id="4731050715-44">]</span><span·class="p">.</span></code></pre><p>The·test·case·is·implemented·as·follows:</p><pre><code[·...·truncated·by·diffoscope;·len:·214,·SHA:·edbeed18ad67eaa4f02c8241813261f18ce361156b3cf3f6d31d3de5e9a61f5a·...·]-1">)</span><span·class="p">.</span><span·class="w">
186 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4589215508-2">(</span><span·class="p"·data-group-id="4589215508-3">[</span><span·class="ss">s</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="4589215508-3">]</span><span·class="p"·data-group-id="4589215508-2">)</span><span·class="p">.</span><span·class="w">186 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8228989604-2">(</span><span·class="p"·data-group-id="8228989604-3">[</span><span·class="ss">s</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="8228989604-3">]</span><span·class="p"·data-group-id="8228989604-2">)</span><span·class="p">.</span><span·class="w">
  
187 </span><span·class="nf">s</span><span·class="p"·data-group-id="4589215508-4">(</span><span·class="p"·data-group-id="4589215508-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">187 </span><span·class="nf">s</span><span·class="p"·data-group-id="8228989604-4">(</span><span·class="p"·data-group-id="8228989604-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
188 ····</span><span·class="p"·data-group-id="4589215508-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Pid</span><span·class="p"·data-group-id="4589215508-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">channel</span><s[·...·truncated·by·diffoscope;·len:·150,·SHA:·b55a0349ce7e62e89b859f2d5b3bdd29917639ec4e289b3346757d709e0d6480·...·]-6">)</span><span·class="p">,</span><span·class="w">188 ····</span><span·class="p"·data-group-id="8228989604-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Pid</span><span·class="p"·data-group-id="8228989604-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">channel</span><s[·...·truncated·by·diffoscope;·len:·150,·SHA:·3ba221c9d5c1ca0baa980249c1ed8fd204a84b903d13a1896e8a8bd374ec0b74·...·]-6">)</span><span·class="p">,</span><span·class="w">
189 ····</span><span·class="p"·data-group-id="4589215508-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Ch1</span><span·class="p"·data-group-id="4589215508-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">channel</span><s[·...·truncated·by·diffoscope;·len:·145,·SHA:·4adf0c7b9e787b5163ad5011b56ef22a1effaf5d5cbd60e2629803295735d583·...·]-8">)</span><span·class="p">,</span><span·class="w">189 ····</span><span·class="p"·data-group-id="8228989604-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Ch1</span><span·class="p"·data-group-id="8228989604-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">channel</span><s[·...·truncated·by·diffoscope;·len:·145,·SHA:·cf965aca811d14760522e073ffedf9c7ba4915233493d828bf04ba9df614081e·...·]-8">)</span><span·class="p">,</span><span·class="w">
190 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">channel</span><span·class="p">:</span><span·class="nf">free</span><span·class="p"·data-group-id="4589215508-9">(</span><span·class="n">Ch1</span><span·class="p"·data-group-id="4589215508-9">)</span><span·class="p">,</span><span·class="w">190 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">channel</span><span·class="p">:</span><span·class="nf">free</span><span·class="p"·data-group-id="8228989604-9">(</span><span·class="n">Ch1</span><span·class="p"·data-group-id="8228989604-9">)</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">channel</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="4589215508-10">(</span><span·class="p"·data-group-id="4589215508-10">)</span><span·class="p">.</span></code></pre><h3·id="preparation"·class="section-heading">191 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">channel</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="8228989604-10">(</span><span·class="p"·data-group-id="8228989604-10">)</span><span·class="p">.</span></code></pre><h3·id="preparation"·class="section-heading">
192 ··<a·href="#preparation"·class="hover-link">192 ··<a·href="#preparation"·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">Preparation</span>195 ··<span·class="text">Preparation</span>
196 </h3>196 </h3>
197 <p>First·of·all,·Cover·must·be·started.·This·spawns·a·process·which·owns·the·Cover197 <p>First·of·all,·Cover·must·be·started.·This·spawns·a·process·which·owns·the·Cover
198 database·where·all·coverage·data·will·be·stored.</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">start</span><span·class="p"·data-group-id="0156976968-1">(</span><span·class="p"·data-group-id="0156976968-1">)</span><span·class="p">.</span><span·class="w">198 database·where·all·coverage·data·will·be·stored.</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">start</span><span·class="p"·data-group-id="6747337608-1">(</span><span·class="p"·data-group-id="6747337608-1">)</span><span·class="p">.</span><span·class="w">
199 </span><span·class="p"·data-group-id="0156976968-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.90</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="0156976968-2">}</span></code></pre><p>To·include·other·nodes·in·the·coverage·analysis,·use199 </span><span·class="p"·data-group-id="6747337608-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.90</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="6747337608-2">}</span></code></pre><p>To·include·other·nodes·in·the·coverage·analysis,·use
200 <a·href="cover.html#start/1"><code·class="inline">cover:start/1</code></a>.·All·cover-compiled·modules·will·then·be·loaded·on·all200 <a·href="cover.html#start/1"><code·class="inline">cover:start/1</code></a>.·All·cover-compiled·modules·will·then·be·loaded·on·all
201 nodes,·and·data·from·all·nodes·will·be·summed·up·when·analysing.·For201 nodes,·and·data·from·all·nodes·will·be·summed·up·when·analysing.·For
202 simplicity·this·example·only·involves·the·current·node.</p><p>Before·any·analysis·can·take·place,·the·involved·modules·must·be202 simplicity·this·example·only·involves·the·current·node.</p><p>Before·any·analysis·can·take·place,·the·involved·modules·must·be
203 <em>cover-compiled</em>.·This·means·that·some·extra·information·is·added·to203 <em>cover-compiled</em>.·This·means·that·some·extra·information·is·added·to
204 the·module·before·beging·compiled·into·a·binary·and204 the·module·before·beging·compiled·into·a·binary·and
205 <a·href="cover_chapter.html#loading">loaded</a>.··The·source·file·of·the·module·is205 <a·href="cover_chapter.html#loading">loaded</a>.··The·source·file·of·the·module·is
206 not·affected·and·no·<code·class="inline">.beam</code>·file·is·created.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">compile_module</span><span·class="p"·data-group-id="3172736951-1">(</span><span·class="ss">channel</span><span·class="p"·data-group-id="3172736951-1">)</span><span·class="p">.</span><span·class="w">206 not·affected·and·no·<code·class="inline">.beam</code>·file·is·created.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">compile_module</span><span·class="p"·data-group-id="7078520663-1">(</span><span·class="ss">channel</span><span·class="p"·data-group-id="7078520663-1">)</span><span·class="p">.</span><span·class="w">
207 </span><span·class="p"·data-group-id="3172736951-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">channel</span><span·class="p"·data-group-id="3172736951-2">}</span></code></pre><p>Each·time·a·function·in·the·cover-compiled·module·<code·class="inline">channel</code>·is·called,207 </span><span·class="p"·data-group-id="7078520663-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">channel</span><span·class="p"·data-group-id="7078520663-2">}</span></code></pre><p>Each·time·a·function·in·the·cover-compiled·module·<code·class="inline">channel</code>·is·called,
208 information·about·the·call·will·be·added·to·the·Cover·database.·Run·the·test208 information·about·the·call·will·be·added·to·the·Cover·database.·Run·the·test
209 case:</p><pre><code·class="text">3&gt;·test:s().209 case:</p><pre><code·class="text">3&gt;·test:s().
210 ok</code></pre><p>Cover·analysis·is·performed·by·examining·the·contents·of·the·Cover·database.·The210 ok</code></pre><p>Cover·analysis·is·performed·by·examining·the·contents·of·the·Cover·database.·The
211 output·is·determined·by·two·parameters,·<code·class="inline">Level</code>·and·<code·class="inline">Analysis</code>.·<code·class="inline">Analysis</code>·is211 output·is·determined·by·two·parameters,·<code·class="inline">Level</code>·and·<code·class="inline">Analysis</code>.·<code·class="inline">Analysis</code>·is
212 either·<code·class="inline">coverage</code>·or·<code·class="inline">calls</code>·and·determines·the·type·of·the·analysis.·<code·class="inline">Level</code>·is212 either·<code·class="inline">coverage</code>·or·<code·class="inline">calls</code>·and·determines·the·type·of·the·analysis.·<code·class="inline">Level</code>·is
213 either·<code·class="inline">module</code>,·<code·class="inline">function</code>,·<code·class="inline">clause</code>,·or·<code·class="inline">line</code>·and·determines·the·level·of·the213 either·<code·class="inline">module</code>,·<code·class="inline">function</code>,·<code·class="inline">clause</code>,·or·<code·class="inline">line</code>·and·determines·the·level·of·the
214 analysis.</p><h3·id="coverage-analysis"·class="section-heading">214 analysis.</p><h3·id="coverage-analysis"·class="section-heading">
Offset 234, 200 lines modifiedOffset 234, 200 lines modified
234 ··<span·class="text">Coverage·Analysis</span>234 ··<span·class="text">Coverage·Analysis</span>
235 </h3>235 </h3>
236 <p>Analysis·of·type·<code·class="inline">coverage</code>·is·used·to·find·out·how·much·of·the·code·has·been236 <p>Analysis·of·type·<code·class="inline">coverage</code>·is·used·to·find·out·how·much·of·the·code·has·been
237 executed·and·how·much·has·not·been·executed.·Coverage·is·represented·by·a·tuple237 executed·and·how·much·has·not·been·executed.·Coverage·is·represented·by·a·tuple
238 <code·class="inline">{Cov,NotCov}</code>,·where·<code·class="inline">Cov</code>·is·the·number·of·executable·lines·that·have·been238 <code·class="inline">{Cov,NotCov}</code>,·where·<code·class="inline">Cov</code>·is·the·number·of·executable·lines·that·have·been
239 executed·at·least·once·and·<code·class="inline">NotCov</code>·is·the·number·of·executable·lines·that·have239 executed·at·least·once·and·<code·class="inline">NotCov</code>·is·the·number·of·executable·lines·that·have
240 not·been·executed.</p><p>If·the·analysis·is·made·on·module·level,·the·result·is·given·for·the·entire240 not·been·executed.</p><p>If·the·analysis·is·made·on·module·level,·the·result·is·given·for·the·entire
241 module·as·a·tuple·<code·class="inline">{Module,{Cov,NotCov}}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="3120987194-1">(</span><span·class="ss">channel</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">module</span><span·class="p"·data-group-id="3120987194-1">)</span><span·class="p">.</span><span·class="w">241 module·as·a·tuple·<code·class="inline">{Module,{Cov,NotCov}}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="6563648029-1">(</span><span·class="ss">channel</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">module</span><span·class="p"·data-group-id="6563648029-1">)</span><span·class="p">.</span><span·class="w">
242 </span><span·class="p"·data-group-id="3120987194-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3120987194-3">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="p"·data-group-id="3120987194-4">{</span><span·class="mi">14</sp[·...·truncated·by·diffoscope;·len:·199,·SHA:·1fb82a1be322916d74812a622c029ea8ad285b77f1d0c6f503ff4102798a7d5e·...·]-2">}</span></code></pre><p>For·<code·class="inline">channel</code>,·the·result·shows·that·14·lines·in·the·module·are·covered·but·one242 </span><span·class="p"·data-group-id="6563648029-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6563648029-3">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="p"·data-group-id="6563648029-4">{</span><span·class="mi">14</sp[·...·truncated·by·diffoscope;·len:·199,·SHA:·e57dc3ac77fead42968ebc7978547ba26fde4614b1ecd7fc6c7c5ac7db3e2e2e·...·]-2">}</span></code></pre><p>For·<code·class="inline">channel</code>,·the·result·shows·that·14·lines·in·the·module·are·covered·but·one
243 line·is·not·covered.</p><p>If·the·analysis·is·made·on·function·level,·the·result·is·given·as·a·list·of243 line·is·not·covered.</p><p>If·the·analysis·is·made·on·function·level,·the·result·is·given·as·a·list·of
244 tuples·<code·class="inline">{Function,{Cov,NotCov}}</code>,·one·for·each·function·in·the·module.·A244 tuples·<code·class="inline">{Function,{Cov,NotCov}}</code>,·one·for·each·function·in·the·module.·A
245 function·is·specified·by·its·module·name,·function·name·and·arity:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="8941529426-1">(</span><span·class="ss">channel</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">function</span><span·class="p"·data-group-id="8941529426-1">)</span><span·class="p">.</span><span·class="w">245 function·is·specified·by·its·module·name,·function·name·and·arity:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="2234826671-1">(</span><span·class="ss">channel</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">function</span><span·class="p"·data-group-id="2234826671-1">)</span><span·class="p">.</span><span·class="w">
246 </span><span·class="p"·data-group-id="8941529426-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8941529426-3">[</span><span·class="p"·data-group-id="8941529426-4">{</span><span·class="p"·data-group-id="8941529426-5">{</span><span·class="ss">channel<[·...·truncated·by·diffoscope;·len:·411,·SHA:·5336b3a2f9a8ee8f74dacb3e6c6e60218fd783c8ad870f07f8f3ac9aaa3b2931·...·]-4">}</span><span·class="p">,</span><span·class="w">246 </span><span·class="p"·data-group-id="2234826671-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2234826671-3">[</span><span·class="p"·data-group-id="2234826671-4">{</span><span·class="p"·data-group-id="2234826671-5">{</span><span·class="ss">channel<[·...·truncated·by·diffoscope;·len:·411,·SHA:·f2a47afc43af4bb56d85036ac007940ccae47660c457ba7414af154a55a70f1b·...·]-4">}</span><span·class="p">,</span><span·class="w">
247 ·····</span><span·class="p"·data-group-id="8941529426-7">{</span><span·class="p"·data-group-id="8941529426-8">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">stop</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="8941529426-8">}</s[·...·truncated·by·diffoscope;·len:·249,·SHA:·eef0ceab396f1efb40d637a39ed8c555a1935753f1848c67b6d0b2af6e37457c·...·]-7">}</span><span·class="p">,</span><span·class="w">247 ·····</span><span·class="p"·data-group-id="2234826671-7">{</span><span·class="p"·data-group-id="2234826671-8">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">stop</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="2234826671-8">}</s[·...·truncated·by·diffoscope;·len:·249,·SHA:·690b575985d4ac511f50ca5ad038cb2065a5898b7e247f6c2ba8fd921e519a12·...·]-7">}</span><span·class="p">,</span><span·class="w">
248 ·····</span><span·class="p"·data-group-id="8941529426-10">{</span><span·class="p"·data-group-id="8941529426-11">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="8941529426-11">[·...·truncated·by·diffoscope;·len:·255,·SHA:·ab142f3125f8feb166d4781b3124d58af925de1615d3072433c1ce9611b3ed10·...·]-10">}</span><span·class="p">,</span><span·class="w">248 ·····</span><span·class="p"·data-group-id="2234826671-10">{</span><span·class="p"·data-group-id="2234826671-11">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="2234826671-11">[·...·truncated·by·diffoscope;·len:·255,·SHA:·92366d0dbc1c29a373d9ce4ddaffa1b559b010d77a7f47e26727fbae9088780e·...·]-10">}</span><span·class="p">,</span><span·class="w">
249 ·····</span><span·class="p"·data-group-id="8941529426-13">{</span><span·class="p"·data-group-id="8941529426-14">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">free</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8941529426-14">}[·...·truncated·by·diffoscope;·len:·254,·SHA:·3cd4d543efc9c2908ca7104c6035dd4a0d17a3e695753c687c4ebc8bdb0cc6d0·...·]-13">}</span><span·class="p">,</span><span·class="w">249 ·····</span><span·class="p"·data-group-id="2234826671-13">{</span><span·class="p"·data-group-id="2234826671-14">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">free</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2234826671-14">}[·...·truncated·by·diffoscope;·len:·254,·SHA:·f687ade72274e7220616b42ec477c74a7caa81c19efd8ea0c6164bf8d4fc24ab·...·]-13">}</span><span·class="p">,</span><span·class="w">
250 ·····</span><span·class="p"·data-group-id="8941529426-16">{</span><span·class="p"·data-group-id="8941529426-17">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">init</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8941529426-17">}[·...·truncated·by·diffoscope;·len:·254,·SHA:·4f7a0c80d37db48554d9c90d302a19b70b53cd90bbb927edf9714370a4f2aabd·...·]-16">}</span><span·class="p">,</span><span·class="w">250 ·····</span><span·class="p"·data-group-id="2234826671-16">{</span><span·class="p"·data-group-id="2234826671-17">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">init</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2234826671-17">}[·...·truncated·by·diffoscope;·len:·254,·SHA:·1a339c067a74a6c7d0c74e83290b846c6ff1639dc7a639a044e32e8b5d130ea3·...·]-16">}</span><span·class="p">,</span><span·class="w">
251 ·····</span><span·class="p"·data-group-id="8941529426-19">{</span><span·class="p"·data-group-id="8941529426-20">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">handle_call</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="894152942[·...·truncated·by·diffoscope;·len:·261,·SHA:·f229a23c4d485b4f8848552425e36a3fe54dd62ccec54ae28bc7ceff489a75d5·...·]-19">}</span><span·class="p">,</span><span·class="w">251 ·····</span><span·class="p"·data-group-id="2234826671-19">{</span><span·class="p"·data-group-id="2234826671-20">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">handle_call</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="223482667[·...·truncated·by·diffoscope;·len:·261,·SHA:·1bbdb7ade45b0eda068a218c2155c274675530b87cb6c6e1097d2736e4a2d1bb·...·]-19">}</span><span·class="p">,</span><span·class="w">
252 ·····</span><span·class="p"·data-group-id="8941529426-22">{</span><span·class="p"·data-group-id="8941529426-23">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">terminate</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="8941529426-[·...·truncated·by·diffoscope;·len:·259,·SHA:·aac6e6090509605d9cc001e046db971a056046d37c4b8f37e9d9516fc09aeea1·...·]-22">}</span><span·class="p">,</span><span·class="w">252 ·····</span><span·class="p"·data-group-id="2234826671-22">{</span><span·class="p"·data-group-id="2234826671-23">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">terminate</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="2234826671-[·...·truncated·by·diffoscope;·len:·259,·SHA:·562b91de031676289d4c37276e3f31d3b14a0fb07bd280345949ff3a5da0bcc0·...·]-22">}</span><span·class="p">,</span><span·class="w">
253 ·····</span><span·class="p"·data-group-id="8941529426-25">{</span><span·class="p"·data-group-id="8941529426-26">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">channels</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="8941529426-2[·...·truncated·by·diffoscope;·len:·258,·SHA:·4e5031db208345ae0f9717e438e69f648a79fd91a4044e4e88510deb9324d4e1·...·]-25">}</span><span·class="p">,</span><span·class="w">253 ·····</span><span·class="p"·data-group-id="2234826671-25">{</span><span·class="p"·data-group-id="2234826671-26">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">channels</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="2234826671-2[·...·truncated·by·diffoscope;·len:·258,·SHA:·f58f1f79d44091704c47ba725c0da2904ed940ebe365c21f6863590235bf7063·...·]-25">}</span><span·class="p">,</span><span·class="w">
254 ·····</span><span·class="p"·data-group-id="8941529426-28">{</span><span·class="p"·data-group-id="8941529426-29">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8941529426-29">[·...·truncated·by·diffoscope;·len:·255,·SHA:·160e5cb8fdeb70e065adb0cbeb0c700ab0bef5d1414a6e392a09a36b5ccf7577·...·]-28">}</span><span·class="p">,</span><span·class="w">254 ·····</span><span·class="p"·data-group-id="2234826671-28">{</span><span·class="p"·data-group-id="2234826671-29">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2234826671-29">[·...·truncated·by·diffoscope;·len:·255,·SHA:·d45ab327e6276279cd8eb17b784322016fadfb41708f33fb271c280d8f48bf22·...·]-28">}</span><span·class="p">,</span><span·class="w">
255 ·····</span><span·class="p"·data-group-id="8941529426-31">{</span><span·class="p"·data-group-id="8941529426-32">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">free</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="8941529426-32">}[·...·truncated·by·diffoscope;·len:·361,·SHA:·266005b985b6211a70a999edbb762bc1efccc4565934032c45e8880c8df855d1·...·]-2">}</span></code></pre><p>For·<code·class="inline">channel</code>,·the·result·shows·that·the·uncovered·line·is·in·the·function255 ·····</span><span·class="p"·data-group-id="2234826671-31">{</span><span·class="p"·data-group-id="2234826671-32">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">free</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="2234826671-32">}[·...·truncated·by·diffoscope;·len:·361,·SHA:·65c7f925970dfbbe45ee82fd8e8e05fa18c030b3db57f2970e9c2bb5313783c0·...·]-2">}</span></code></pre><p>For·<code·class="inline">channel</code>,·the·result·shows·that·the·uncovered·line·is·in·the·function
256 <code·class="inline">channel:alloc/1</code>.</p><p>If·the·analysis·is·made·on·clause·level,·the·result·is·given·as·a·list·of·tuples256 <code·class="inline">channel:alloc/1</code>.</p><p>If·the·analysis·is·made·on·clause·level,·the·result·is·given·as·a·list·of·tuples
257 <code·class="inline">{Clause,{Cov,NotCov}}</code>,·one·for·each·function·clause·in·the·module.·A·clause·is257 <code·class="inline">{Clause,{Cov,NotCov}}</code>,·one·for·each·function·clause·in·the·module.·A·clause·is
258 specified·by·its·module·name,·function·name,·arity·and·position·within·the258 specified·by·its·module·name,·function·name,·arity·and·position·within·the
259 function·definition:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="3768570986-1">(</span><span·class="ss">channel</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">clause</span><span·class="p"·data-group-id="3768570986-1">)</span><span·class="p">.</span><span·class="w">259 function·definition:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="7502272849-1">(</span><span·class="ss">channel</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">clause</span><span·class="p"·data-group-id="7502272849-1">)</span><span·class="p">.</span><span·class="w">
260 </span><span·class="p"·data-group-id="3768570986-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3768570986-3">[</span><span·class="p"·data-group-id="3768570986-4">{</span><span·class="p"·data-group-id="3768570986-5">{</span><span·class="ss">channel<[·...·truncated·by·diffoscope;·len:·460,·SHA:·5822fcbe5f334e648cff123edacd5b3bd733138983e28b12c40946e33a0f0306·...·]-4">}</span><span·class="p">,</span><span·class="w">260 </span><span·class="p"·data-group-id="7502272849-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7502272849-3">[</span><span·class="p"·data-group-id="7502272849-4">{</span><span·class="p"·data-group-id="7502272849-5">{</span><span·class="ss">channel<[·...·truncated·by·diffoscope;·len:·460,·SHA:·dc74909078a8bb6d8ffd6f29d4b141c4cc40e7e5c1388cd3458cf64a8147086b·...·]-4">}</span><span·class="p">,</span><span·class="w">
261 ·····</span><span·class="p"·data-group-id="3768570986-7">{</span><span·class="p"·data-group-id="3768570986-8">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">stop</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·93c51dd9ca0cdd896e000a25445623b2945d10507d76be0887735f84de075f4a·...·]-7">}</span><span·class="p">,</span><span·class="w">261 ·····</span><span·class="p"·data-group-id="7502272849-7">{</span><span·class="p"·data-group-id="7502272849-8">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">stop</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·69ce5dc0d5b6e46f64fa20224ace90593bb07c5f0753301e7183dbf886ab3982·...·]-7">}</span><span·class="p">,</span><span·class="w">
262 ·····</span><span·class="p"·data-group-id="3768570986-10">{</span><span·class="p"·data-group-id="3768570986-11">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</sp[·...·truncated·by·diffoscope;·len:·304,·SHA:·5ce96e7de07c71595896572d9017056b5acba0079d01b97ccc78ce9e162ff9ed·...·]-10">}</span><span·class="p">,</span><span·class="w">262 ·····</span><span·class="p"·data-group-id="7502272849-10">{</span><span·class="p"·data-group-id="7502272849-11">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</sp[·...·truncated·by·diffoscope;·len:·304,·SHA:·4a2bb58834947136ab571aa6ab1db013bb69e91addd360fb08fc52f082335ed1·...·]-10">}</span><span·class="p">,</span><span·class="w">
263 ·····</span><span·class="p"·data-group-id="3768570986-13">{</span><span·class="p"·data-group-id="3768570986-14">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">free</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">1</spa[·...·truncated·by·diffoscope;·len:·303,·SHA:·ab87b01e9a9cfd7144d872a595775b5bd488e51b52645d3b744445c57cfa60cd·...·]-13">}</span><span·class="p">,</span><span·class="w">263 ·····</span><span·class="p"·data-group-id="7502272849-13">{</span><span·class="p"·data-group-id="7502272849-14">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">free</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">1</spa[·...·truncated·by·diffoscope;·len:·303,·SHA:·92caf59bf7427a1f700c4fb6e76bcac8ef31c91db23be51a65ab2012685d7ccc·...·]-13">}</span><span·class="p">,</span><span·class="w">
264 ·····</span><span·class="p"·data-group-id="3768570986-16">{</span><span·class="p"·data-group-id="3768570986-17">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">init</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">1</spa[·...·truncated·by·diffoscope;·len:·303,·SHA:·fc8d881f06d23dfc472543e73cb99579159873db079db847130cef4cd4e2b171·...·]-16">}</span><span·class="p">,</span><span·class="w">264 ·····</span><span·class="p"·data-group-id="7502272849-16">{</span><span·class="p"·data-group-id="7502272849-17">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">init</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">1</spa[·...·truncated·by·diffoscope;·len:·303,·SHA:·1902f7df9a7c31952bcd1000c2b16008a3c06217343ba62e2ed81b256f6b676b·...·]-16">}</span><span·class="p">,</span><span·class="w">
265 ·····</span><span·class="p"·data-group-id="3768570986-19">{</span><span·class="p"·data-group-id="3768570986-20">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">handle_call</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·310,·SHA:·a780c075ab91294b174b54755f3cf1be8d6abe941e636c8d03945e2dd579f2e4·...·]-19">}</span><span·class="p">,</span><span·class="w">265 ·····</span><span·class="p"·data-group-id="7502272849-19">{</span><span·class="p"·data-group-id="7502272849-20">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">handle_call</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·310,·SHA:·c0dccdf40015cfaf20a0386f8416632550f6db537861b87c1c2350c0e2e0eb69·...·]-19">}</span><span·class="p">,</span><span·class="w">
266 ·····</span><span·class="p"·data-group-id="3768570986-22">{</span><span·class="p"·data-group-id="3768570986-23">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">handle_call</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·310,·SHA:·39895a8b89e1f29b8651e8e87fd90d95c0f6bd0a463c97c17e87845545783d2c·...·]-22">}</span><span·class="p">,</span><span·class="w">266 ·····</span><span·class="p"·data-group-id="7502272849-22">{</span><span·class="p"·data-group-id="7502272849-23">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">handle_call</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·310,·SHA:·516c34550e5c65bbd4e373f3fd18c2da8a50ee7a5e5cae5934611007a60964bf·...·]-22">}</span><span·class="p">,</span><span·class="w">
267 ·····</span><span·class="p"·data-group-id="3768570986-25">{</span><span·class="p"·data-group-id="3768570986-26">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">handle_call</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·310,·SHA:·a28b4a8e1d1aadc4fb5c62d6db7faeb88cc5f6ab5fea20b3eba5debe491e85d6·...·]-25">}</span><span·class="p">,</span><span·class="w">267 ·····</span><span·class="p"·data-group-id="7502272849-25">{</span><span·class="p"·data-group-id="7502272849-26">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">handle_call</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·310,·SHA:·74d87e38700cafde908f453a5aa06f9fe7d64318c9824bc7c5fb368039625c27·...·]-25">}</span><span·class="p">,</span><span·class="w">
268 ·····</span><span·class="p"·data-group-id="3768570986-28">{</span><span·class="p"·data-group-id="3768570986-29">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">terminate</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">1[·...·truncated·by·diffoscope;·len:·308,·SHA:·fa2129188f3c822c4b3b3e1470d2e4f3343dc202ef367693c1b59229df927bac·...·]-28">}</span><span·class="p">,</span><span·class="w">268 ·····</span><span·class="p"·data-group-id="7502272849-28">{</span><span·class="p"·data-group-id="7502272849-29">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">terminate</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">1[·...·truncated·by·diffoscope;·len:·308,·SHA:·f7098e6474048aeede9654fd5bef661b19c70147818fa7c814c3e4495359475a·...·]-28">}</span><span·class="p">,</span><span·class="w">
269 ·····</span><span·class="p"·data-group-id="3768570986-31">{</span><span·class="p"·data-group-id="3768570986-32">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">channels</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1<[·...·truncated·by·diffoscope;·len:·307,·SHA:·1caf110481502972c22fe22244504a6a78a316b9c212ab720e261c2ac91b3ef8·...·]-31">}</span><span·class="p">,</span><span·class="w">269 ·····</span><span·class="p"·data-group-id="7502272849-31">{</span><span·class="p"·data-group-id="7502272849-32">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">channels</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1<[·...·truncated·by·diffoscope;·len:·307,·SHA:·0e446bfbd28c086a2b71acf480b7ed52c96d839a74b0dd1db27237bbc1d28c5d·...·]-31">}</span><span·class="p">,</span><span·class="w">
270 ·····</span><span·class="p"·data-group-id="3768570986-34">{</span><span·class="p"·data-group-id="3768570986-35">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">1</sp[·...·truncated·by·diffoscope;·len:·304,·SHA:·680367b15049f24bfd0543762e5ccd3b555b2bd5e09dbf5e6f22dae11b1fa2bd·...·]-34">}</span><span·class="p">,</span><span·class="w">270 ·····</span><span·class="p"·data-group-id="7502272849-34">{</span><span·class="p"·data-group-id="7502272849-35">{</span><span·class="ss">channel</span><span·class="p">,</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">1</sp[·...·truncated·by·diffoscope;·len:·304,·SHA:·ed51e024a37940251404142e30a92d6987da5209688c9815e885aa0c91197109·...·]-34">}</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 106741/177500 bytes (60.14%) of diff not shown.
843 B
html2text {}
Max HTML report size reached
4.94 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.1/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-15.2.7/doc/html/erlang.html#t:module/0">module</a>(),·Limit·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>576 ·················when·Mod·::·<a·href="../../../../erts-15.2.7/doc/html/erlang.html#t:module/0">module</a>(),·Limit·::·<a·href="../../../../erts-15.2.7/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="8569329519-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="85693[·...·truncated·by·diffoscope;·len:·651,·SHA:·ae2e969af72caca93ca75c1c408d91abc6a5bb33be47a97d76f511c7c81858e3·...·]-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="7470219796-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="74702[·...·truncated·by·diffoscope;·len:·651,·SHA:·b01e7e09e7ab52ce5ef734f54fcb8184de7f25a79a1b9b65bd7edcadb6cc854b·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1068 <p>Copyright·©·1996-2025·<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.1/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="7372726605-1">(</span><span·class="p"·data-group-id="7372726605-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="7372726605-2">(</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·cfbbd084f6680705d8a3896ea1b6e714d319b012bc1e6811b931249fb1c9634e·...·]-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="5299601639-1">(</span><span·class="p"·data-group-id="5299601639-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="5299601639-2">(</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·d01332165cc2443daaa1807315510b40367bcb5d4ab648de87e094382d696d72·...·]-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="7372726605-3">(</span><span·class="p"·data-group-id="7372726605-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="5299601639-3">(</span><span·class="p"·data-group-id="5299601639-3">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p"·data-group-id="7372726605-4">{</span><span·class="mi">539</span><span·class="p">,</span><span·class="w">162 </span><span·class="p"·data-group-id="5299601639-4">{</span><span·class="mi">539</span><span·class="p">,</span><span·class="w">
163 ·</span><span·class="p"·data-group-id="7372726605-5">[</span><span·class="p"·data-group-id="7372726605-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="5299601639-5">[</span><span·class="p"·data-group-id="5299601639-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="7372726605-7">[</span><span·class="p"·data-group-id="7372726605-8">{</span><span·class="p"·data-group-id="7372726605-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:·152,·SHA:·d4649adec13055770e29d7ff6092a401b858bbdefc1008c72a78f99468d4a1f4·...·]-8">}</span><span·class="p">,</span><span·class="w">164 ·········</span><span·class="p"·data-group-id="5299601639-7">[</span><span·class="p"·data-group-id="5299601639-8">{</span><span·class="p"·data-group-id="5299601639-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:·152,·SHA:·8d84781a604c83e17058aec83b11b2a0aa13e951b0c590292322db16c5eeefbe·...·]-8">}</span><span·class="p">,</span><span·class="w">
165 ··········</span><span·class="p"·data-group-id="7372726605-10">{</span><span·class="p"·data-group-id="7372726605-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="7372726605[·...·truncated·by·diffoscope;·len:·104,·SHA:·1d902a3f9af17e057c04538bc8eee86ca3730e5fe880b0d082573a330a347a3b·...·]-10">}</span><span·class="p">,</span><span·class="w">165 ··········</span><span·class="p"·data-group-id="5299601639-10">{</span><span·class="p"·data-group-id="5299601639-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="5299601639[·...·truncated·by·diffoscope;·len:·104,·SHA:·78ad9e89d1366b0019e635387974a831a16fb595551e459fcab5730cc62c89fc·...·]-10">}</span><span·class="p">,</span><span·class="w">
166 ··········</span><span·class="p"·data-group-id="7372726605-12">{</span><span·class="p"·data-group-id="7372726605-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="7372726605[·...·truncated·by·diffoscope;·len:·104,·SHA:·729ffefd892df9a343d5451be0a80445e60a6fe8a2ad6c63e41c0d73951944b7·...·]-12">}</span><span·class="p">,</span><span·class="w">166 ··········</span><span·class="p"·data-group-id="5299601639-12">{</span><span·class="p"·data-group-id="5299601639-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="5299601639[·...·truncated·by·diffoscope;·len:·104,·SHA:·b03e23b214dd7f03f5ecb9bf2cbfbf913ac8a7806f7e272248a10974bde916c9·...·]-12">}</span><span·class="p">,</span><span·class="w">
167 ··········</span><span·class="p"·data-group-id="7372726605-14">{</span><span·class="p"·data-group-id="7372726605-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="737272[·...·truncated·by·diffoscope;·len:·107,·SHA:·debaef12fcfa93b3cd1e27bd2692392e9248d7195a81743f7842d5f8aefc6306·...·]-14">}</span><span·class="p">,</span><span·class="w">167 ··········</span><span·class="p"·data-group-id="5299601639-14">{</span><span·class="p"·data-group-id="5299601639-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="529960[·...·truncated·by·diffoscope;·len:·107,·SHA:·82eb3fde7a116baf3bd4f777648c550c3848d20ec9db1df4cf25c4689147dbb8·...·]-14">}</span><span·class="p">,</span><span·class="w">
168 ··········</span><span·class="p"·data-group-id="7372726605-16">{</span><span·class="p"·data-group-id="7372726605-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="7372726605-[·...·truncated·by·diffoscope;·len:·102,·SHA:·6eb9b7cfe27a7b9c7074f38a07c69fc85e9e7e8b8cc4efb1b284c1c2c30f5292·...·]-16">}</span><span·class="p">,</span><span·class="w">168 ··········</span><span·class="p"·data-group-id="5299601639-16">{</span><span·class="p"·data-group-id="5299601639-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="5299601639-[·...·truncated·by·diffoscope;·len:·102,·SHA:·569597da80a44061192b484f0c207a80d83defc089b5f65fe3b540740aa422b5·...·]-16">}</span><span·class="p">,</span><span·class="w">
169 ··········</span><span·class="p"·data-group-id="7372726605-18">{</span><span·class="p"·data-group-id="7372726605-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="7372726[·...·truncated·by·diffoscope;·len:·106,·SHA:·ef221f4d470b6a471ab68b6cad600772e874c3cf1250eceace6765d9d7900fdb·...·]-18">}</span><span·class="p">,</span><span·class="w">169 ··········</span><span·class="p"·data-group-id="5299601639-18">{</span><span·class="p"·data-group-id="5299601639-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="5299601[·...·truncated·by·diffoscope;·len:·106,·SHA:·20974e4ee1d16cd2c14e6cd657338c1c0f944ace772ea1320fc36abbca4cedd4·...·]-18">}</span><span·class="p">,</span><span·class="w">
170 ··········</span><span·class="p"·data-group-id="7372726605-20">{</span><span·class="p"·data-group-id="7372726605-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="7372726605-21">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·ebf90ba678285449b7e52385a8fae5d1126dc0d831f4f71be424203d4e8a81c6·...·]-20">}</span><span·class="p">,</span><span·class="w">170 ··········</span><span·class="p"·data-group-id="5299601639-20">{</span><span·class="p"·data-group-id="5299601639-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="5299601639-21">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·b970f81ec3fb22b1f5602f38a04075f14115e3ab556e764dacf6ebd043202ad0·...·]-20">}</span><span·class="p">,</span><span·class="w">
171 ··········</span><span·class="p"·data-group-id="7372726605-22">{</span><span·class="p"·data-group-id="7372726605-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="7372726605-23">}</[·...·truncated·by·diffoscope;·len:·95,·SHA:·1ebe3f233a6d28a4d3cc747aaf8e0c39fda8d3e292bd8f4d4532afde924cda7a·...·]-22">}</span><span·class="p">,</span><span·class="w">171 ··········</span><span·class="p"·data-group-id="5299601639-22">{</span><span·class="p"·data-group-id="5299601639-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="5299601639-23">}</[·...·truncated·by·diffoscope;·len:·95,·SHA:·74492390c9fa6ff6e31e1542841113bc9e0c37e08802a2f9956bbf81fd9cbf0a·...·]-22">}</span><span·class="p">,</span><span·class="w">
172 ··········</span><span·class="p"·data-group-id="7372726605-24">{</span><span·class="p"·data-group-id="7372726605-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="73727266[·...·truncated·by·diffoscope;·len:·105,·SHA:·317314fda951f50b6dfe72b9800789133098df4354a939e22cee2112b08a5226·...·]-24">}</span><span·class="p">,</span><span·class="w">172 ··········</span><span·class="p"·data-group-id="5299601639-24">{</span><span·class="p"·data-group-id="5299601639-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="52996016[·...·truncated·by·diffoscope;·len:·105,·SHA:·49cb644031eea95f0aa61a590197a22b80f6452361ee04c51bac2a73d85ec3d8·...·]-24">}</span><span·class="p">,</span><span·class="w">
173 ··········</span><span·class="p"·data-group-id="7372726605-26">{</span><span·class="p"·data-group-id="7372726605-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="737272660[·...·truncated·by·diffoscope;·len:·104,·SHA:·b75074c2505863783928f362fea12ea369b90291a8bbcfdbba4b23ff1b468558·...·]-26">}</span><span·class="p">,</span><span·class="w">173 ··········</span><span·class="p"·data-group-id="5299601639-26">{</span><span·class="p"·data-group-id="5299601639-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="529960163[·...·truncated·by·diffoscope;·len:·104,·SHA:·f84ed271d1c00ede6f9a764b48c0f34bc2694796d45973d4a4301bbbdd254f35·...·]-26">}</span><span·class="p">,</span><span·class="w">
174 ··········</span><span·class="p"·data-group-id="7372726605-28">{</span><span·class="p"·data-group-id="7372726605-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="7372726605-29[·...·truncated·by·diffoscope;·len:·100,·SHA:·6cd22e5b4b42bf5209fcc81e6255718027adc5daf8b943e4beb4675fbe0f0f0e·...·]-28">}</span><span·class="p">,</span><span·class="w">174 ··········</span><span·class="p"·data-group-id="5299601639-28">{</span><span·class="p"·data-group-id="5299601639-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="5299601639-29[·...·truncated·by·diffoscope;·len:·100,·SHA:·50cd529a7d21c35bfeb9271f9a8d52860640297d8cb6ed816702613cf8565bf5·...·]-28">}</span><span·class="p">,</span><span·class="w">
175 ··········</span><span·class="p"·data-group-id="7372726605-30">{</span><span·class="p"·data-group-id="7372726605-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:·120,·SHA:·cc5b0c6e291e7ccce86c71cc917d1d8df57e7b01eabd53d664b691df9b8bde3c·...·]-30">}</span><span·class="p">,</span><span·class="w">175 ··········</span><span·class="p"·data-group-id="5299601639-30">{</span><span·class="p"·data-group-id="5299601639-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:·120,·SHA:·74e0e99eed80863df4e0bc3279e3208927b82bb2a4117f8350dc05b27c0b6091·...·]-30">}</span><span·class="p">,</span><span·class="w">
176 ··········</span><span·class="p"·data-group-id="7372726605-32">{</span><span·class="p"·data-group-id="7372726605-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:·227,·SHA:·a4f58951aa127dfd9c9b80f62c4df31a2514c8f49f29486e010467cd48db0287·...·]-6">}</span><span·class="p">,</span><span·class="w">176 ··········</span><span·class="p"·data-group-id="5299601639-32">{</span><span·class="p"·data-group-id="5299601639-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:·227,·SHA:·ac8908bf8bead300158f8959ed43a67cb200638fa8d237a28c137563dc3609d0·...·]-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="7372726605-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="7372726605-35">[</span><span·class="p"·data-group-id="7372726605-36">{</span><span·class="p"[·...·truncated·by·diffoscope;·len:·438,·SHA:·8570d35b5331c046851e2b243990a61fd8116d57244bf05b7c9d7ab4a20df37f·...·]-34">}</span><span·class="p">,</span><span·class="w">182 ··</span><span·class="p"·data-group-id="5299601639-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="5299601639-35">[</span><span·class="p"·data-group-id="5299601639-36">{</span><span·class="p"[·...·truncated·by·diffoscope;·len:·438,·SHA:·d7b5ca157beec7b3e0d4615a08fb1fdd802a9ffe4d4e543918258ef673e9f81c·...·]-34">}</span><span·class="p">,</span><span·class="w">
183 ··</span><span·class="p"·data-group-id="7372726605-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="7372726605-39">[</span><span·class="p"·data-group-id="7372726605-40">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·431,·SHA:·7f0fbe800d66b35b9b0bf0c9496904b085d8e054983611d613086b3053add309·...·]-38">}</span><span·class="p">,</span><span·class="w">183 ··</span><span·class="p"·data-group-id="5299601639-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="5299601639-39">[</span><span·class="p"·data-group-id="5299601639-40">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·431,·SHA:·95cf952644b7aba3df077b3651527d0cceb1e7336af17194aa919ffe924b7695·...·]-38">}</span><span·class="p">,</span><span·class="w">
184 ··</span><span·class="p"·data-group-id="7372726605-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="7372726605-43">[</span><span·class="p"·data-group-id="7372726605-44">{</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·416,·SHA:·bd9b26562ce51214968ea4141a22111cc518701c8f6cebfa48072333c1a5e139·...·]-42">}</span><span·class="p">,</span><span·class="w">184 ··</span><span·class="p"·data-group-id="5299601639-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="5299601639-43">[</span><span·class="p"·data-group-id="5299601639-44">{</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·416,·SHA:·bf9f549dfcc1c3e43e8a3822bcd34920087a21b71a95f489a73b05f4d4f6d28f·...·]-42">}</span><span·class="p">,</span><span·class="w">
185 ··</span><span·class="p"·data-group-id="7372726605-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="7372726605-47">[</span><span·class="p"·data-group-id="7372726605-48">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·533,·SHA:·bdf9279e40a3345ec6d7c041c5f86e429f8d2e6e3cf5cf604e6197866ba8daa5·...·]-4">}</span><span·class="gp·unselectable">185 ··</span><span·class="p"·data-group-id="5299601639-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="5299601639-47">[</span><span·class="p"·data-group-id="5299601639-48">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·533,·SHA:·69c821b19f40b3aebe87a5cbb73b2fa2f7bbe942e88009fe361d2b87cdd5d004·...·]-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="7372726605-50">(</span><span·class="ss">cprof</span><span·class="p"·data-group-id="7372726605-50">)</span><span·class="p">.</span><span·class="w">186 3&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="5299601639-50">(</span><span·class="ss">cprof</span><span·class="p"·data-group-id="5299601639-50">)</span><span·class="p">.</span><span·class="w">
187 </span><span·class="p"·data-group-id="7372726605-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="7372726605-52">[</span><span·class="p"·data-group-id="7372726605-53">{</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·831,·SHA:·34f0ab0ceaf2c2f79fb44478f1d1a3eef9f5559cd72693094edf02650470cf83·...·]-51">}</span><span·class="gp·unselectable">187 </span><span·class="p"·data-group-id="5299601639-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="5299601639-52">[</span><span·class="p"·data-group-id="5299601639-53">{</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·831,·SHA:·8c59fa5716c48e796f737e58670a6652bd06d17e27b842e93774112ee6ffcf03·...·]-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="7372726605-57">(</span><span·class="p"·data-group-id="7372726605-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="5299601639-57">(</span><span·class="p"·data-group-id="5299601639-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="3318922562-1">(</span><span·class="p"·data-group-id="3318922562-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:·5c0fcef2416fbea11cf7b0c563c6b5016d34e7e3c1ec2815256754f05444f164·...·]-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="5267796210-1">(</span><span·class="p"·data-group-id="5267796210-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:·0e78ade9d58c01c0c161c1691bc54300de66c63cc6d975fd03f8daa784cbbc43·...·]-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="3318922562-4">(</span><span·class="ss">calendar</span><span·class="p"·data-group-id="3318922562-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="5267796210-4">(</span><span·class="ss">calendar</span><span·class="p"·data-group-id="5267796210-4">)</span><span·class="p">.</span><span·class="w">
201 </span><span·class="p"·data-group-id="3318922562-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="5267796210-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="3318922562-6">[</span><span·class="p"·data-group-id="3318922562-7">{</span><span·class="p"·data-group-id="3318922562-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:·4d2479635c9b5a387ab3f17add3159bbfc6972cde46259efe521a9e365b5ac6d·...·]-7">}</span><span·class="p">,</span><span·class="w">202 ··········</span><span·class="p"·data-group-id="5267796210-6">[</span><span·class="p"·data-group-id="5267796210-7">{</span><span·class="p"·data-group-id="5267796210-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:·9cf483ee414aae5b43fa3d82cbed31bd60ea5a727ca94fbcc44978c6a0ced1fe·...·]-7">}</span><span·class="p">,</span><span·class="w">
203 ···········</span><span·class="p"·data-group-id="3318922562-9">{</span><span·class="p"·data-group-id="3318922562-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:·6666985d2e449dc95ce54bc31e08ca7a3f08fe0be7632bba0bb0eb6765a0ba76·...·]-9">}</span><span·class="p">,</span><span·class="w">203 ···········</span><span·class="p"·data-group-id="5267796210-9">{</span><span·class="p"·data-group-id="5267796210-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:·88fef992eca42f9d27a233be3cf836b555518fd96a0b4ef19b3489a13663c470·...·]-9">}</span><span·class="p">,</span><span·class="w">
204 ···········</span><span·class="p"·data-group-id="3318922562-11">{</span><span·class="p"·data-group-id="3318922562-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="331892[·...·truncated·by·diffoscope;·len:·107,·SHA:·1d96ca2120cf8757df3c1fdcd681ef9fb521dbf16968b59dc233af7bdcc5c837·...·]-11">}</span><span·class="p">,</span><span·class="w">204 ···········</span><span·class="p"·data-group-id="5267796210-11">{</span><span·class="p"·data-group-id="5267796210-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="526779[·...·truncated·by·diffoscope;·len:·107,·SHA:·aef0fa872e9a4c202c6b2a197656d11575c7bd80b3c7049ada0f8e7e93b271f0·...·]-11">}</span><span·class="p">,</span><span·class="w">
205 ···········</span><span·class="p"·data-group-id="3318922562-13">{</span><span·class="p"·data-group-id="3318922562-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="3318922[·...·truncated·by·diffoscope;·len:·106,·SHA:·af533248578c37b99d15e09664e96156fe08c8f6d638486b2740e48207800204·...·]-13">}</span><span·class="p">,</span><span·class="w">205 ···········</span><span·class="p"·data-group-id="5267796210-13">{</span><span·class="p"·data-group-id="5267796210-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="5267796[·...·truncated·by·diffoscope;·len:·106,·SHA:·ec7410f5dbe25fcbdebb24711ca2dbd1ea08e41864e218cce8173c00344a9a0a·...·]-13">}</span><span·class="p">,</span><span·class="w">
206 ···········</span><span·class="p"·data-group-id="3318922562-15">{</span><span·class="p"·data-group-id="3318922562-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="3318922562-16">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·fbc0f2d00b5584143bbd6b429ff62728614082351702e3e690354303cd83364a·...·]-15">}</span><span·class="p">,</span><span·class="w">206 ···········</span><span·class="p"·data-group-id="5267796210-15">{</span><span·class="p"·data-group-id="5267796210-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="5267796210-16">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·57935440f4f5ceec0162736a2f58b01533ecd866e2c4890d42779137c67a23d7·...·]-15">}</span><span·class="p">,</span><span·class="w">
207 ···········</span><span·class="p"·data-group-id="3318922562-17">{</span><span·class="p"·data-group-id="3318922562-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="3318922562-18">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·fbc0f2d00b5584143bbd6b429ff62728614082351702e3e690354303cd83364a·...·]-17">}</span><span·class="p">,</span><span·class="w">207 ···········</span><span·class="p"·data-group-id="5267796210-17">{</span><span·class="p"·data-group-id="5267796210-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="5267796210-18">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·57935440f4f5ceec0162736a2f58b01533ecd866e2c4890d42779137c67a23d7·...·]-17">}</span><span·class="p">,</span><span·class="w">
208 ···········</span><span·class="p"·data-group-id="3318922562-19">{</span><span·class="p"·data-group-id="3318922562-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="3318922562-20">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·fbc0f2d00b5584143bbd6b429ff62728614082351702e3e690354303cd83364a·...·]-19">}</span><span·class="p">,</span><span·class="w">208 ···········</span><span·class="p"·data-group-id="5267796210-19">{</span><span·class="p"·data-group-id="5267796210-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="5267796210-20">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·57935440f4f5ceec0162736a2f58b01533ecd866e2c4890d42779137c67a23d7·...·]-19">}</span><span·class="p">,</span><span·class="w">
209 ···········</span><span·class="p"·data-group-id="3318922562-21">{</span><span·class="p"·data-group-id="3318922562-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="3318[·...·truncated·by·diffoscope;·len:·109,·SHA:·9875cc7e1a8dcbd5efe8a934abbc16932640b6f177987809a44c8141e16fc677·...·]-21">}</span><span·class="p">,</span><span·class="w">209 ···········</span><span·class="p"·data-group-id="5267796210-21">{</span><span·class="p"·data-group-id="5267796210-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="5267[·...·truncated·by·diffoscope;·len:·109,·SHA:·032326231b49ad8c4156f1c2098dbd2b84b5caef8f4346948879598ba5484d89·...·]-21">}</span><span·class="p">,</span><span·class="w">
210 ···········</span><span·class="p"·data-group-id="3318922562-23">{</span><span·class="p"·data-group-id="3318922562-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:·f9f914ed6bc68a1cfe0f36f367e8550ac0be0697139739ee153f3e4f86f97021·...·]-5">}</span><span·class="gp·unselectable">210 ···········</span><span·class="p"·data-group-id="5267796210-23">{</span><span·class="p"·data-group-id="5267796210-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:·8f601b02f54f5c03588692567eb40ec1f59b0812f51049fa86523b2c62e2214b·...·]-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="3318922562-25">(</span><span·class="p"·data-group-id="3318922562-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="5267796210-25">(</span><span·class="p"·data-group-id="5267796210-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="0160524461-1">(</span><span·class="ss">sort</span><span·class="p"·data-group-id="0160524461-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="0160524461-2">(</span><span·class="p"·data-group-id="0160524461-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:·7f91345df426495f7facc0ad893a2c30a3ff6ef5883c410cd4eaf58ecbd34684·...·]">)</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="6574598401-1">(</span><span·class="ss">sort</span><span·class="p"·data-group-id="6574598401-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="6574598401-2">(</span><span·class="p"·data-group-id="6574598401-3">[</span><span·class="ss">do</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="6574598401-3">]</span><span·class="p"·data-group-id="6574598401-2">)</span><span·class="p">.</span><span·class="w">
  
223 </span><span·class="nf">do</span><span·class="p"·data-group-id="0160524461-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="0160524461-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="6574598401-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="6574598401-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="0160524461-5">(</span><span·class="p"·data-group-id="0160524461-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="6574598401-5">(</span><span·class="p"·data-group-id="6574598401-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="0160524461-6">(</span><span·class="p"·data-group-id="0160524461-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="6574598401-6">(</span><span·class="p"·data-group-id="6574598401-6">)</span><span·class="p">,</span><span·class="w">
226 ····</span><span·class="nf">do</span><span·class="p"·data-group-id="0160524461-7">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0160524461-8">[</span><span·class="p"·data-group-id="0160524461-8">]</span><span·class="p"·data-group-id="0160524461-7">)</span><span·class="p">.</span><span·class="w">226 ····</span><span·class="nf">do</span><span·class="p"·data-group-id="6574598401-7">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6574598401-8">[</span><span·class="p"·data-group-id="6574598401-8">]</span><span·class="p"·data-group-id="6574598401-7">)</span><span·class="p">.</span><span·class="w">
  
227 </span><span·class="nf">do</span><span·class="p"·data-group-id="0160524461-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="0160524461-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="6574598401-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="6574598401-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="0160524461-10">(</span><span·class="n">L</span><span·class="p"·data-group-id="0160524461-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="6574598401-10">(</span><span·class="n">L</span><span·class="p"·data-group-id="6574598401-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="0160524461-11">(</span><span·class="p"·data-group-id="0160524461-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="6574598401-11">(</span><span·class="p"·data-group-id="6574598401-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="0160524461-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="0160524461-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="6574598401-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="6574598401-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="0160524461-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="0160524461-14">[</span><span·class="nc">rand</span><span·class="p">:</span><span·[·...·truncated·by·diffoscope;·len:·717,·SHA:·a740713fba6f65fa3ad7163b321b6b8b18e258165a3695b014cfbd1c24f144f9·...·]-1">)</span><span·class="p">.</span><span·class="w">232 ····</span><span·class="nf">do</span><span·class="p"·data-group-id="6574598401-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="6574598401-14">[</span><span·class="nc">rand</span><span·class="p">:</span><span·[·...·truncated·by·diffoscope;·len:·717,·SHA:·4646045d823f54e285eac19e99be962a1c38e6428dbef1a58581cce5e9c29819·...·]-1">)</span><span·class="p">.</span><span·class="w">
233 </span><span·class="p"·data-group-id="0677735517-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">sort</span><span·class="p"·data-group-id="0677735517-2">}</span><span·class="gp·unselectable">233 </span><span·class="p"·data-group-id="1043643191-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">sort</span><span·class="p"·data-group-id="1043643191-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="0677735517-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="0677735517-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="1043643191-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="1043643191-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="0677735517-4">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="0677735517-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="1043643191-4">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="1043643191-4">)</span><span·class="p">.</span><span·class="w">
237 </span><span·class="p"·data-group-id="0677735517-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:·18d0746df528844b2d1dbe983b770bc7b614f66c4cd7d22d6b1fc1a1ecd795f1·...·]-5">]</span><span·class="gp·unselectable">237 </span><span·class="p"·data-group-id="1043643191-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:·3bdcee4998b94f5cc9e72cb526893e6b125dce0e2a9a94d42b640e657419032a·...·]-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="0677735517-6">(</span><span·class="p"·data-group-id="0677735517-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="1043643191-6">(</span><span·class="p"·data-group-id="1043643191-6">)</span><span·class="p">.</span><span·class="w">
239 </span><span·class="p"·data-group-id="0677735517-7">{</span><span·class="mi">13180</span><span·class="p">,</span><span·class="w">239 </span><span·class="p"·data-group-id="1043643191-7">{</span><span·class="mi">13180</span><span·class="p">,</span><span·class="w">
240 ·</span><span·class="p"·data-group-id="0677735517-8">[</span><span·class="p"·data-group-id="0677735517-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="1043643191-8">[</span><span·class="p"·data-group-id="1043643191-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="0677735517-10">[</span><span·class="p"·data-group-id="0677735517-11">{</span><span·class="p"·data-group-id="0677735517-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:·b146540a5b6a093687b080c1a39d5c98cb00ce858727506d88c403ca8bca2920·...·]-11">}</span><span·class="p">,</span><span·class="w">241 ·········</span><span·class="p"·data-group-id="1043643191-10">[</span><span·class="p"·data-group-id="1043643191-11">{</span><span·class="p"·data-group-id="1043643191-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:·8370ab3df5ba3c97486009f778f73865ef5fff5fb6f8b392c6b9990aaeb06472·...·]-11">}</span><span·class="p">,</span><span·class="w">
242 ··········</span><span·class="p"·data-group-id="0677735517-13">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-14[·...·truncated·by·diffoscope;·len:·102,·SHA:·77fba427a6f49190eeabf738bb332e0d4626dddefaf0c19e514cef5cbcf76c5c·...·]-13">}</span><span·class="p">,</span><span·class="w">242 ··········</span><span·class="p"·data-group-id="1043643191-13">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-14[·...·truncated·by·diffoscope;·len:·102,·SHA:·a1d5f249af217c7df2876296102f6e9a5ba32f98c9ca15b39462f48a1e7e8ae8·...·]-13">}</span><span·class="p">,</span><span·class="w">
243 ··········</span><span·class="p"·data-group-id="0677735517-15">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-16">[·...·truncated·by·diffoscope;·len:·100,·SHA:·70fdda6ac0751d3276951b58287450639fbd06fb440745d112ca50b7552418be·...·]-15">}</span><span·class="p">,</span><span·class="w">243 ··········</span><span·class="p"·data-group-id="1043643191-15">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-16">[·...·truncated·by·diffoscope;·len:·100,·SHA:·27fd6e0a820b18bf5f29122a8d68cf61fa2b6b01573e47edde3e975793ac3294·...·]-15">}</span><span·class="p">,</span><span·class="w">
244 ··········</span><span·class="p"·data-group-id="0677735517-17">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-18"[·...·truncated·by·diffoscope;·len:·101,·SHA:·6ab6b6b353159112b0b1ad2b385abb3d4b4508de9813d81e37b10152945b5f0d·...·]-17">}</span><span·class="p">,</span><span·class="w">244 ··········</span><span·class="p"·data-group-id="1043643191-17">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-18"[·...·truncated·by·diffoscope;·len:·101,·SHA:·e7df63cc5ca72d6a745cb5d38aaecd9c6e434feb2c51adb014b9ac056aed5932·...·]-17">}</span><span·class="p">,</span><span·class="w">
245 ··········</span><span·class="p"·data-group-id="0677735517-19">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-20"[·...·truncated·by·diffoscope;·len:·101,·SHA:·0d3c9929a05849bc2d77769d6ecf777a0961a3c568593073059bc2d8dac43493·...·]-19">}</span><span·class="p">,</span><span·class="w">245 ··········</span><span·class="p"·data-group-id="1043643191-19">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-20"[·...·truncated·by·diffoscope;·len:·101,·SHA:·420f7aad6b04108547ede81b7b6f27f68ac6546b3328addf80e239cdc3efd5c0·...·]-19">}</span><span·class="p">,</span><span·class="w">
246 ··········</span><span·class="p"·data-group-id="0677735517-21">{</span><span·class="p"·data-group-id="0677735517-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="0677735517[·...·truncated·by·diffoscope;·len:·105,·SHA:·9e7e41cdf8f5190ccb1f4e0e9b18c4099c676183c54a21a75d92f14b41348415·...·]-21">}</span><span·class="p">,</span><span·class="w">246 ··········</span><span·class="p"·data-group-id="1043643191-21">{</span><span·class="p"·data-group-id="1043643191-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="1043643191[·...·truncated·by·diffoscope;·len:·105,·SHA:·58d5d01ac8546ba7bf559df3a6c792648ad34535107d5ec28036dd77a52a2597·...·]-21">}</span><span·class="p">,</span><span·class="w">
247 ··········</span><span·class="p"·data-group-id="0677735517-23">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-24[·...·truncated·by·diffoscope;·len:·102,·SHA:·a013f2e33dc32606585b539d9d4e9d8b789c8f371793909f4bd0c943e21c492e·...·]-23">}</span><span·class="p">,</span><span·class="w">247 ··········</span><span·class="p"·data-group-id="1043643191-23">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-24[·...·truncated·by·diffoscope;·len:·102,·SHA:·37b103e49c81be864d1dff962754bf988678f6e053e97eab43d33505d5eb1268·...·]-23">}</span><span·class="p">,</span><span·class="w">
248 ··········</span><span·class="p"·data-group-id="0677735517-25">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-[·...·truncated·by·diffoscope;·len:·104,·SHA:·22e7d6491cd8a2b38e1eacc682d0f0ee08288a24c96549804b524154cd417744·...·]-25">}</span><span·class="p">,</span><span·class="w">248 ··········</span><span·class="p"·data-group-id="1043643191-25">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-[·...·truncated·by·diffoscope;·len:·104,·SHA:·e6a9fd0a58366fd27e4a82100c72da6389ddc5dfb8a71e42e7b269f215f0f2b5·...·]-25">}</span><span·class="p">,</span><span·class="w">
249 ··········</span><span·class="p"·data-group-id="0677735517-27">{</span><span·class="p"·data-group-id="0677735517-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="0677735517[·...·truncated·by·diffoscope;·len:·105,·SHA:·3be089c7db6b852643c3b963e5647f7fbf687505cef68d958b282e5397d9164f·...·]-27">}</span><span·class="p">,</span><span·class="w">249 ··········</span><span·class="p"·data-group-id="1043643191-27">{</span><span·class="p"·data-group-id="1043643191-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="1043643191[·...·truncated·by·diffoscope;·len:·105,·SHA:·d4402ef295617a8239924acc2a2c218ff8a89cbb05979f345d92b7bb853143fd·...·]-27">}</span><span·class="p">,</span><span·class="w">
250 ··········</span><span·class="p"·data-group-id="0677735517-29">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-[·...·truncated·by·diffoscope;·len:·104,·SHA:·709681ed663b6d64fcde57f1f26e32db782e4254febb9fe94d8219a094a6917d·...·]-29">}</span><span·class="p">,</span><span·class="w">250 ··········</span><span·class="p"·data-group-id="1043643191-29">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-[·...·truncated·by·diffoscope;·len:·104,·SHA:·9d7a0f274708522995cf917d68df1a4096e50939a2baf82595ab0ac69a819291·...·]-29">}</span><span·class="p">,</span><span·class="w">
251 ··········</span><span·class="p"·data-group-id="0677735517-31">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-32"[·...·truncated·by·diffoscope;·len:·101,·SHA:·0c21c7bd350810a8263868b0c5be166dab8a64a236512242721ed7c0b1257cd3·...·]-31">}</span><span·class="p">,</span><span·class="w">251 ··········</span><span·class="p"·data-group-id="1043643191-31">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-32"[·...·truncated·by·diffoscope;·len:·101,·SHA:·2fbdb4f00e6cfbfe8723601779e6f5823a57fc4016ea5d3810573729fade0730·...·]-31">}</span><span·class="p">,</span><span·class="w">
252 ··········</span><span·class="p"·data-group-id="0677735517-33">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-34"[·...·truncated·by·diffoscope;·len:·101,·SHA:·5f5b4a44e6a90426f54854f61e0c6006992a3ecb3976b3cd9be79136eece6ff6·...·]-33">}</span><span·class="p">,</span><span·class="w">252 ··········</span><span·class="p"·data-group-id="1043643191-33">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-34"[·...·truncated·by·diffoscope;·len:·101,·SHA:·fa54fbea227481fe608d46c9d011cb590bb928299774fc48c0e18fef0b6cda73·...·]-33">}</span><span·class="p">,</span><span·class="w">
253 ··········</span><span·class="p"·data-group-id="0677735517-35">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-36">[·...·truncated·by·diffoscope;·len:·100,·SHA:·59478ac2646634fb9e38d2d75fd86ebdaf1917c6cad86618db671ecaceb20f2d·...·]-35">}</span><span·class="p">,</span><span·class="w">253 ··········</span><span·class="p"·data-group-id="1043643191-35">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-36">[·...·truncated·by·diffoscope;·len:·100,·SHA:·e65635a08c213d82186a0a86a0d2fd1d0f38ce9066f14ac96b209ecbe57d4471·...·]-35">}</span><span·class="p">,</span><span·class="w">
254 ··········</span><span·class="p"·data-group-id="0677735517-37">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-38[·...·truncated·by·diffoscope;·len:·101,·SHA:·4d41050eff78e7ec1e7c06802cd71046df271a883b05b93bdd7fa12c547a497f·...·]-37">}</span><span·class="p">,</span><span·class="w">254 ··········</span><span·class="p"·data-group-id="1043643191-37">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-38[·...·truncated·by·diffoscope;·len:·101,·SHA:·81f520f35fd5d41c2c1e44f2ed005bfda852f4f8ebe5310af769b711369d835a·...·]-37">}</span><span·class="p">,</span><span·class="w">
255 ··········</span><span·class="p"·data-group-id="0677735517-39">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-40">[·...·truncated·by·diffoscope;·len:·99,·SHA:·db1dc606b32863426e88b8d9308246370011e58e4935e9b4e60798867966ba7d·...·]-39">}</span><span·class="p">,</span><span·class="w">255 ··········</span><span·class="p"·data-group-id="1043643191-39">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-40">[·...·truncated·by·diffoscope;·len:·99,·SHA:·d20e1578e19eb0a1538ccbe6a543a12e0ec42d8f01a3d1531327474686a71415·...·]-39">}</span><span·class="p">,</span><span·class="w">
256 ··········</span><span·class="p"·data-group-id="0677735517-41">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-42[·...·truncated·by·diffoscope;·len:·101,·SHA:·6f16ec57cd4cfd523b957ce4ec8e2cf67ad1cbfa50ed2396a5c090a8ab22dbaf·...·]-41">}</span><span·class="p">,</span><span·class="w">256 ··········</span><span·class="p"·data-group-id="1043643191-41">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-42[·...·truncated·by·diffoscope;·len:·101,·SHA:·757717daa09778ff579872d21ff2d4160f55bd6e32464271c9eb81dc89a22f12·...·]-41">}</span><span·class="p">,</span><span·class="w">
257 ··········</span><span·class="p"·data-group-id="0677735517-43">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-44">}[·...·truncated·by·diffoscope;·len:·98,·SHA:·3306690dea4f1cfc5b91349fee73bebe46937fec48982bb337de1509999f6751·...·]-43">}</span><span·class="p">,</span><span·class="w">257 ··········</span><span·class="p"·data-group-id="1043643191-43">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-44">}[·...·truncated·by·diffoscope;·len:·98,·SHA:·371549d4b9373375d929dde74f62bf1957811c79e56eca9b9f6cd78dff6b6238·...·]-43">}</span><span·class="p">,</span><span·class="w">
258 ··········</span><span·class="p"·data-group-id="0677735517-45">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-46">[·...·truncated·by·diffoscope;·len:·98,·SHA:·337071aa3303e6cc2e246eae636a6f21f8ba09a21a5a5ae1a642dc9c5b865440·...·]-45">}</span><span·class="p">,</span><span·class="w">258 ··········</span><span·class="p"·data-group-id="1043643191-45">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-46">[·...·truncated·by·diffoscope;·len:·98,·SHA:·35b37efb87059b78ba8e6080241bde03cc1204f4d8c8977015f50c5b908ac169·...·]-45">}</span><span·class="p">,</span><span·class="w">
259 ··········</span><span·class="p"·data-group-id="0677735517-47">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-48">}</[·...·truncated·by·diffoscope;·len:·203,·SHA:·7088c171587389179fee65ed7e919451c370efe6ffbc2fddf7332c0734091ddb·...·]-9">}</span><span·class="p">,</span><span·class="w">259 ··········</span><span·class="p"·data-group-id="1043643191-47">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-48">}</[·...·truncated·by·diffoscope;·len:·203,·SHA:·ff0c0a9d9cf39721740052263af97b38bdf8fcbaab81b96c10080e5c02e392b0·...·]-9">}</span><span·class="p">,</span><span·class="w">
260 ··</span><span·class="p"·data-group-id="0677735517-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="1043643191-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="0677735517-50">[</span><span·class="p"·data-group-id="0677735517-51">{</span><span·class="p"·data-group-id="0677735517-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:·389caad9a48b583e67bad9c99fe83bb34d385063972227a95bc3e2d76dfac993·...·]-51">}</span><span·class="p">,</span><span·class="w">261 ········</span><span·class="p"·data-group-id="1043643191-50">[</span><span·class="p"·data-group-id="1043643191-51">{</span><span·class="p"·data-group-id="1043643191-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:·035a15f144c0ce9036407c4fc7196f6113612b73da4154683099c56b41c1293e·...·]-51">}</span><span·class="p">,</span><span·class="w">
262 ·········</span><span·class="p"·data-group-id="0677735517-53">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-54">}[·...·truncated·by·diffoscope;·len:·100,·SHA:·52ed20d79b7f74944e383f2cd57161e245831c54baeafa3d9653516a839aff3e·...·]-53">}</span><span·class="p">,</span><span·class="w">262 ·········</span><span·class="p"·data-group-id="1043643191-53">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-54">}[·...·truncated·by·diffoscope;·len:·100,·SHA:·adb215d35bdacb92573ab08ed314a85e0d529433d43d531dc422a0b1939a2433·...·]-53">}</span><span·class="p">,</span><span·class="w">
263 ·········</span><span·class="p"·data-group-id="0677735517-55">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-56">[·...·truncated·by·diffoscope;·len:·101,·SHA:·6ab9f4c038df87ab4e32076f86582bffb799f429dee2a6d9048c5efafeb78e54·...·]-55">}</span><span·class="p">,</span><span·class="w">263 ·········</span><span·class="p"·data-group-id="1043643191-55">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-56">[·...·truncated·by·diffoscope;·len:·101,·SHA:·7519730302dad174c97b8b9b5b84918c15e63fc256ea53fb291dfab89db87bb6·...·]-55">}</span><span·class="p">,</span><span·class="w">
264 ·········</span><span·class="p"·data-group-id="0677735517-57">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-58">[·...·truncated·by·diffoscope;·len:·101,·SHA:·6ab9f4c038df87ab4e32076f86582bffb799f429dee2a6d9048c5efafeb78e54·...·]-57">}</span><span·class="p">,</span><span·class="w">264 ·········</span><span·class="p"·data-group-id="1043643191-57">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-58">[·...·truncated·by·diffoscope;·len:·101,·SHA:·7519730302dad174c97b8b9b5b84918c15e63fc256ea53fb291dfab89db87bb6·...·]-57">}</span><span·class="p">,</span><span·class="w">
265 ·········</span><span·class="p"·data-group-id="0677735517-59">{</span><span·class="p"·data-group-id="0677735517-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="0677735517[·...·truncated·by·diffoscope;·len:·214,·SHA:·52155a700ef4a52fe43d44bd8df9d51b34857c2afde4dde5d24d87058f912505·...·]-49">}</span><span·class="p">,</span><span·class="w">265 ·········</span><span·class="p"·data-group-id="1043643191-59">{</span><span·class="p"·data-group-id="1043643191-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="1043643191[·...·truncated·by·diffoscope;·len:·214,·SHA:·22eadcc0bb7cbf7c7d213f60e69bddbd5f8b458e1dcd8c638a24a830f2af9019·...·]-49">}</span><span·class="p">,</span><span·class="w">
266 ··</span><span·class="p"·data-group-id="0677735517-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="1043643191-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="0677735517-62">[</span><span·class="p"·data-group-id="0677735517-63">{</span><span·class="p"·data-group-id="0677735517-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:·4c009aed0096e6dce2c47a27f6251e06886926e0b5d10535e3909d5bb1dbc592·...·]-63">}</span><span·class="p">,</span><span·class="w">267 ··········</span><span·class="p"·data-group-id="1043643191-62">[</span><span·class="p"·data-group-id="1043643191-63">{</span><span·class="p"·data-group-id="1043643191-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:·9528054bc9367bffbc51c408ed55029ec8689f681828b7c8b838cc7709ddaa27·...·]-63">}</span><span·class="p">,</span><span·class="w">
268 ···········</span><span·class="p"·data-group-id="0677735517-65">{</span><span·class="p"·data-group-id="0677735517-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="06777355[·...·truncated·by·diffoscope;·len:·105,·SHA:·da1673f4276d83c3f29975e7ffb14f03326fe2346c47f80bbf4c9754e882b573·...·]-65">}</span><span·class="p">,</span><span·class="w">268 ···········</span><span·class="p"·data-group-id="1043643191-65">{</span><span·class="p"·data-group-id="1043643191-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="10436431[·...·truncated·by·diffoscope;·len:·105,·SHA:·bb09cd03dc8a6f8732de6bd248c8e620825745199004c35403a3a73d6f430176·...·]-65">}</span><span·class="p">,</span><span·class="w">
269 ···········</span><span·class="p"·data-group-id="0677735517-67">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-68">}</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0677735517-67">}</span><span·class="p"·data-group-id="0677735517-62">]</span><span·class="p"·data-group-id="0677735517-61">}</span><span·class="p">,</span><span·class="w"> 
270 ··</span><span·class="p"·data-group-id="0677735517-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="0677735517-70">[</span><span·class="p"·data-group-id="0677735517-71">{</span><span·class="p"·data-group-id="0677735517-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="0677735517-72">}</span><span·class="p">,</span><span·class="mi">1001</span><span·class="p"·data-group-id="0677735517-71">}</span><span·class="p"·data-group-id="0677735517-70">]</span><span·class="p"·data-group-id="0677735517-69">}</span><span·class="p">,</span><span·class="w"> 
271 ··</span><span·class="p"·data-group-id="0677735517-73">{</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="0677735517-74">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·623,·SHA:·3a8fd16a923b1f37831eb465b47d3b57bf1aed402f0e767b1564d3c5c5a6d95e·...·]">269 ···········</span><span·class="p"·data-group-id="1043643191-67">{</span><span·class="p"·data-group-id="1043643191-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:·325,·SHA:·77a6cbdfae22853f7656e20adfc22bf164ecf81481780c4989a12e4cccf6d766·...·]">
 270 ··</span><span·class="p"·data-group-id="1043643191-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="1043643191-70">[</span><span·class="p"·data-group-id="1043643191-71">{</span><span·class="p"·data-group-id="1043643191-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="1043643191-72">}</span><span·class="p">,</span><span·class="mi">1001</span><span·class="p"·data-group-id="1043643191-71">}</span><span·class="p"·data-group-id="1043643191-70">]</span><span·class="p"·data-group-id="1043643191-69">}</span><span·class="p">,</span><span·class="w">
 271 ··</span><span·class="p"·data-group-id="1043643191-73">{</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="1043643191-74">[</span><span·class="p"·data-group-id="1043643191-75">{</span><span·class="p"·data-group-id="1043643191-76">{</span><span·class="ss">erts_internal</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="1043643191-76">}</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1043643191-75">}</span><span·class="p"·data-group-id="1043643191-74">]</span><span·class="p"·data-group-id="1043643191-73">}</span><span·class="p"·data-group-id="1043643191-8">]</span><span·class="p"·data-group-id="1043643191-7">}</span><span·class="gp·unselectable">
272 5&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="0677735517-77">(</span><span·class="p"·data-group-id="0677735517-77">)</span><span·class="p">.</span><span·class="w">272 5&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="1043643191-77">(</span><span·class="p"·data-group-id="1043643191-77">)</span><span·class="p">.</span><span·class="w">
273 </span><span·class="mi">12625</span></code></pre><p>The·example·shows·some·details·of·how·<a·href="../../../../lib/stdlib-6.2.2/doc/html/lists.html#sort/1"><code·class="inline">lists:sort/1</code></a>·works.·It·used·6173273 </span><span·class="mi">12625</span></code></pre><p>The·example·shows·some·details·of·how·<a·href="../../../../lib/stdlib-6.2.2/doc/html/lists.html#sort/1"><code·class="inline">lists:sort/1</code></a>·works.·It·used·6173
Max diff block lines reached; 857/85614 bytes (1.00%) 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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>976 <p>Copyright·©·1996-2025·<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.1/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="6341711712-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="6341711712-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="6341711712-2">(</span><[·...·truncated·by·diffoscope;·len:·137,·SHA:·8696791441f03d6d00039a8cc3245897f90552443f853e0654a2f4d149391ac8·...·]-2">)</span><span·class="p">.</span><span·class="w">213 </span><span·class="nf">sum</span><span·class="p"·data-group-id="0408077991-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="0408077991-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="0408077991-2">(</span><[·...·truncated·by·diffoscope;·len:·137,·SHA:·0bb5edac519eed9047341667d0df4a2b126b2fc914c7ec3ab818f7059bbddfaa·...·]-2">)</span><span·class="p">.</span><span·class="w">
214 </span><span·class="nf">sum</span><span·class="p"·data-group-id="6341711712-3">(</span><span·class="p"·data-group-id="6341711712-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6341711712-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·462,·SHA:·4ad37f36a1e30f33770ca593ee173c633769296bd900252f4cd69cb5da85c156·...·]-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="0408077991-3">(</span><span·class="p"·data-group-id="0408077991-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0408077991-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·462,·SHA:·c985c06a4277c79545331169c58ebb291a959e41d3f2f9a96fa6f0f1dba2bb45·...·]-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="6341711712-6">(</span><span·class="p"·data-group-id="6341711712-7">[</span><span·class="p"·data-group-id="6341711712-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="6341711712-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="0408077991-6">(</span><span·class="p"·data-group-id="0408077991-7">[</span><span·class="p"·data-group-id="0408077991-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="0408077991-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="6341711712-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="6341711712-9">(</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·9a2ccc79e2bbe458eaa3817f67bbe127961cf7f753c813c2ff010c61c6fe8ccd·...·]-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="0408077991-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="0408077991-9">(</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·193dc08884f934d35352cc4e9cda60b8c010c27da680180c456e33599f6efc06·...·]-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="6341711712-10">(</span><span·class="p"·data-group-id="6341711712-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="0408077991-10">(</span><span·class="p"·data-group-id="0408077991-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="6341711712-11">(</span><span·class="p"·data-group-id="6341711712-11">)</span><span·class="w">·</span><span·class="p"·data-group-id="6341711712-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="0408077991-11">(</span><span·class="p"·data-group-id="0408077991-11">)</span><span·class="w">·</span><span·class="p"·data-group-id="0408077991-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="6341711712-12">(</span><span·class="n">L</span><span·class="p"·data-group-id="6341711712-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="6341711712-13">(</spa[·...·truncated·by·diffoscope;·len:·140,·SHA:·9ac41d330fea085c4254ab5d43cbe3e89577ff8864d1fb4315f024a38f450ba3·...·]-13">)</span><span·class="p">.</span><span·class="w">221 </span><span·class="nf">sum</span><span·class="p"·data-group-id="0408077991-12">(</span><span·class="n">L</span><span·class="p"·data-group-id="0408077991-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="0408077991-13">(</spa[·...·truncated·by·diffoscope;·len:·140,·SHA:·8e488bc3177bb2a2087b9ecc130458e9c1c7f2b9b29be407a62e47f43f554977·...·]-13">)</span><span·class="p">.</span><span·class="w">
222 </span><span·class="nf">sum</span><span·class="p"·data-group-id="6341711712-14">(</span><span·class="p"·data-group-id="6341711712-15">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6341711712-15">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·467,·SHA:·17653da06e663ceb49c9e4e6aa599b5c3309131775c9e75530c786f50e8932e7·...·]-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="0408077991-14">(</span><span·class="p"·data-group-id="0408077991-15">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0408077991-15">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·467,·SHA:·b6f942ba17b9da6a6721d84ef285b8e2a31f0743e62e813934dda50fb198ff58·...·]-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="6341711712-17">(</span><span·class="p"·data-group-id="6341711712-18">[</span><span·class="p"·data-group-id="6341711712-18">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="6341711712-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="0408077991-17">(</span><span·class="p"·data-group-id="0408077991-18">[</span><span·class="p"·data-group-id="0408077991-18">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="0408077991-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="6341711712-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="6341711712-20">(</[·...·truncated·by·diffoscope;·len:·46,·SHA:·68014af86ae3c1e4ec009e99683d4b9dda2071d59b77ff7d9ed46e76eb8cd1cd·...·]-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="0408077991-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="0408077991-20">(</[·...·truncated·by·diffoscope;·len:·46,·SHA:·7bbee54dd98e6f5661f8051f7890958968a2ccf9f44bc38292d62da94a40af5d·...·]-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="6341711712-21">(</span><span·class="p"·data-group-id="6341711712-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="0408077991-21">(</span><span·class="p"·data-group-id="0408077991-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="6341711712-22">(</span><span·class="p"·data-group-id="6341711712-22">)</span><span·class="w">·</span><span·class="p"·data-group-id="6341711712-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="0408077991-22">(</span><span·class="p"·data-group-id="0408077991-22">)</span><span·class="w">·</span><span·class="p"·data-group-id="0408077991-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>356 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>332 <p>Copyright·©·1996-2025·<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.1/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-6.2.2/doc/html/erl_scan.html"><code·class="inline">erl_scan</code></a>·and·<a·href="../../../../lib/stdlib-6.2.2/doc/html/erl_parse.html"><code·class="inline">erl_parse</code></a>,·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>,·or·<a·href="../../../../lib/stdlib-6.2.2/doc/html/io.html#read/2"><code·class="inline">io:read/2</code></a>.·The173 <a·href="../../../../lib/stdlib-6.2.2/doc/html/erl_scan.html"><code·class="inline">erl_scan</code></a>·and·<a·href="../../../../lib/stdlib-6.2.2/doc/html/erl_parse.html"><code·class="inline">erl_parse</code></a>,·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>,·or·<a·href="../../../../lib/stdlib-6.2.2/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.2.7/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="0979610020-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="0979610020-1">)</span><span·class="p">.</span><span·class="w">178 slightly·modified·benchmark·function·from·module·<a·href="../../../../lib/kernel-10.2.7/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="5833369421-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="5833369421-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="0979610020-2">(</span><span·class="p"·data-group-id="0979610020-3">[</span><span·class="ss">create_file_slow</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="0979610020-3">]</span><span·class="p"·data-group-id="09796100[·...·truncated·by·diffoscope;·len:·2,·SHA:·f5ca38f748a1d6eaf726b8a42fb575c3c71f1864a8143301782de13da2d9202b·...·]-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="5833369421-2">(</span><span·class="p"·data-group-id="5833369421-3">[</span><span·class="ss">create_file_slow</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="5833369421-3">]</span><span·class="p"·data-group-id="58333694[·...·truncated·by·diffoscope;·len:·2,·SHA:·6f4b6612125fb3a0daecd2799dfd6c9c299424fd920f9b308110a2c1fbd8f443·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
180 </span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="0979610020-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="0979610020-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·145,·SHA:·dfab15fd995996e17c089bd364ea959ceb206eefc7b5df25456818cd7bcc3d8b·...·]-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="5833369421-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="5833369421-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·145,·SHA:·0652596ab62a60afc64682fda4b6274fb65cf229f1193ab6bf904dc24e9c5e31·...·]-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="0979610020-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="0979610020-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">181 ····</span><span·class="p"·data-group-id="5833369421-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="5833369421-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="0979610020-7">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0979610020-8">[</span><span·class="ss">raw</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">write</span><s[·...·truncated·by·diffoscope;·len:·255,·SHA:·8fa88c279757da376a54a95de869986f48c259a296c71b9efe944fb22c77301b·...·]-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="5833369421-7">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5833369421-8">[</span><span·class="ss">raw</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">write</span><s[·...·truncated·by·diffoscope;·len:·255,·SHA:·34e454fff6ef389fe301379e02892c3bc90b5411dfd25f2e4357bb1b1a7f426b·...·]-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="0979610020-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="5833369421-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="0979610020-10">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="0979610020-11">(</span><span·class="n">X</span><span·class="p"·data-group-id="0979610020-11">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·258,·SHA:·8259b90687282959a15c42d2d44eb8c28870d9dea93f0d3b95506f7cdc848ff6·...·]-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="5833369421-10">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5833369421-11">(</span><span·class="n">X</span><span·class="p"·data-group-id="5833369421-11">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·258,·SHA:·afbac32a7fbf6885037f5a0de61ea314d50f48f9f2e52e0d4ee6340967a33003·...·]-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="0979610020-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="0979610020-13">)</span><span·class="p"·data-group-id="0979610020-10">)</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·781741dffd6f3b02a09a1f72fa516f83675d92be0080a807154111c025891133·...·]-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="5833369421-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="5833369421-13">)</span><span·class="p"·data-group-id="5833369421-10">)</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·b943839885e6398e0979b4bca87efdb9a999d56429b634574ad9f45fdead81b0·...·]-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="0979610020-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="0979610020-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="5833369421-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="5833369421-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="0979610020-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="0979610020-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="5833369421-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="5833369421-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="0979610020-16">(</span><span·class="n">FD</span><span·class="p"·data-group-id="0979610020-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="5833369421-16">(</span><span·class="n">FD</span><span·class="p"·data-group-id="5833369421-16">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="0979610020-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="0979610020-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="5833369421-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="5833369421-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="0979610020-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="0979610020-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="5833369421-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="5833369421-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="0979610020-19">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0979610020-20">&lt;&lt;</span><span·class="n">M</span><span·class="p">:</span><span·class="mi">32</span><span·class="o">/</span><[·...·truncated·by·diffoscope;·len:·133,·SHA:·18de935cf8cd8d1c924c66b0b21b2177d3eb6de6cf94e27b9ca4ddd0be2ad660·...·]-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="5833369421-19">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5833369421-20">&lt;&lt;</span><span·class="n">M</span><span·class="p">:</span><span·class="mi">32</span><span·class="o">/</span><[·...·truncated·by·diffoscope;·len:·133,·SHA:·e6df74ad55aba78dc2565e91a88ff8ced3df80a63edb3c01bc6d595c47a97d14·...·]-19">)</span><span·class="p">,</span><span·class="w">
196 ····</span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="0979610020-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:·772,·SHA:·20a679cd25d909b62317ee57b5820131e7cb40956a4ea0d51c94d0cbdc03f7bb·...·]-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="5833369421-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:·772,·SHA:·1025fbb8c51c4b4cb9bb15fc2ef54f58c7bd5df2a84ef4cca611f4c4d8d0c489·...·]-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="6633787793-3">(</span><span·class="p"·data-group-id="6633787793-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="8643847448-3">(</span><span·class="p"·data-group-id="8643847448-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="6633787793-4">(</span><span·class="p"·data-group-id="6633787793-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="8643847448-4">(</span><span·class="p"·data-group-id="8643847448-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="5378717805-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="4457992962-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="5378717805-2">[</span><span·class="p"·data-group-id="5378717805-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="5378717805-3">}</span><span·class="p">,</span><span·class="w">200 ·</span><span·class="p"·data-group-id="4457992962-2">[</span><span·class="p"·data-group-id="4457992962-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="4457992962-3">}</span><span·class="p">,</span><span·class="w">
201 ··</span><span·class="p"·data-group-id="5378717805-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="5378717805-4">}</span><span·class="p">,</span><span·class="w">201 ··</span><span·class="p"·data-group-id="4457992962-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="4457992962-4">}</span><span·class="p">,</span><span·class="w">
202 ··</span><span·class="p"·data-group-id="5378717805-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="5378717805-5">}</span><span·class="p">,</span><span·class="w">202 ··</span><span·class="p"·data-group-id="4457992962-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="4457992962-5">}</span><span·class="p">,</span><span·class="w">
203 ··</span><span·class="p"·data-group-id="5378717805-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="5378717805-6">}</span><span·class="p"·data-group-id="5378717805-2">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·92d8b68dbb92620a16753d0f8857dfbb344ad529f8dd623667a157bd0b53b56d·...·]-1">}</span><span·class="p">.</span><span·class="w">203 ··</span><span·class="p"·data-group-id="4457992962-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="4457992962-6">}</span><span·class="p"·data-group-id="4457992962-2">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·003d2d408820fc0573f888c7da5570780e6a673a7a80c1050122a5bbb1c0a0e8·...·]-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="5378717805-7">[</span><span·class="p"·data-group-id="5378717805-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:·231,·SHA:·bb9b3ad281e4f84fd1b4eec68804a5b94cb2df79fea4845f1064219bb7dd8169·...·]-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="4457992962-7">[</span><span·class="p"·data-group-id="4457992962-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:·231,·SHA:·f6354f6ed5dbc6e7525dff28b0dca972b6f45c113c77bbc00e6f5b0c68f7c17f·...·]-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="2408605557-1">[</span><span·class="p"·data-group-id="2408605557-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:·c4e47e26edfbeb6ba4e8070cd0337256be03ba8cb71e77a771dd331b2fadd62c·...·]-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="4237768122-1">[</span><span·class="p"·data-group-id="4237768122-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:·0613babc6ce1560c961bc946694a38bbe2e1ba328052fbfede15c26d22240f65·...·]-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="4704601348-1">{</span><span·class="p"·data-group-id="4704601348-2">[</span><span·class="p"·data-group-id="4704601348-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:·3143729e15f8e44f89540c2679d8c5b9ed5713989258bb6baf87964cdeab98e0·...·]-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="6540565815-1">{</span><span·class="p"·data-group-id="6540565815-2">[</span><span·class="p"·data-group-id="6540565815-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:·88f8bed13240894fc3bd6ed484c0b59807a8eaa9e77836151fefad3b304ae59f·...·]-2">]</span><span·class="p">,</span><span·class="w">
218 ·</span><span·class="p"·data-group-id="4704601348-4">{</span><span·class="w">·</span><span·class="p"·data-group-id="4704601348-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:·c293233bd7210f0ceb8aca1910ed53b18ea2b5fefb5482890e29fc75754f015b·...·]-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="6540565815-4">{</span><span·class="w">·</span><span·class="p"·data-group-id="6540565815-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:·5ddf58abdca80d61f5258c48d0ec5ac682aa69b00ec86780e26bc51647c54592·...·]-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="4704601348-6">[</span><span·class="p"·data-group-id="4704601348-7">{</span><span·class="p"·data-group-id="4704601348-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:·2e8c17fe137c6d8575722401b1f8b8620764f23b6153fce0d8820871e596f945·...·]-7">}</span><span·class="p">,</span><span·class="w">219 ·</span><span·class="p"·data-group-id="6540565815-6">[</span><span·class="p"·data-group-id="6540565815-7">{</span><span·class="p"·data-group-id="6540565815-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:·99e27edc1938548c50ca8060ab1d7849d4e2eae11c6882df51ea126cc0776338·...·]-7">}</span><span·class="p">,</span><span·class="w">
220 ··</span><span·class="p"·data-group-id="4704601348-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:·1046518766febdf18006ae79ce9edce1ff20da501ee62372815e8ebfbe74940b·...·]-1">}</span><span·class="p">.</span><span·class="w">220 ··</span><span·class="p"·data-group-id="6540565815-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:·b4f7b78d176ad7182faeeb940a302b52e6bded1fca3c5289b86598747b6fc061·...·]-1">}</span><span·class="p">.</span><span·class="w">
  
221 </span><span·class="p"·data-group-id="4704601348-10">{</span><span·class="p"·data-group-id="4704601348-11">[</span><span·class="p"·data-group-id="4704601348-12">{</span><span·class="p"·data-group-id="4704601348-13">{</span><span·class="ss">fprof</span><span·class="p">,</span><span·class="ss">a[·...·truncated·by·diffoscope;·len:·464,·SHA:·3186ae5bffee7db557a9147569229d5a3291b896f8f296c7c359a541da872be9·...·]-11">]</span><span·class="p">,</span><span·class="w">221 </span><span·class="p"·data-group-id="6540565815-10">{</span><span·class="p"·data-group-id="6540565815-11">[</span><span·class="p"·data-group-id="6540565815-12">{</span><span·class="p"·data-group-id="6540565815-13">{</span><span·class="ss">fprof</span><span·class="p">,</span><span·class="ss">a[·...·truncated·by·diffoscope;·len:·464,·SHA:·ff937252b7bb99dc1a6f1602d771bae0edf72ebf74d030b2f0e2750fe520f322·...·]-11">]</span><span·class="p">,</span><span·class="w">
222 ·</span><span·class="p"·data-group-id="4704601348-14">{</span><span·class="w">·</span><span·class="p"·data-group-id="4704601348-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:·f7fc9591886d43ab9afb5442ce110bae79c29df3fc5806263c166331f533c782·...·]-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="6540565815-14">{</span><span·class="w">·</span><span·class="p"·data-group-id="6540565815-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:·5b7d9012b1606b7f2c35764f4149a9245e69420a95a631495ef5285aadcfc53d·...·]-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="4704601348-16">[</span><span·class="p"·data-group-id="4704601348-17">{</span><span·class="p"·data-group-id="4704601348-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:·634f2d527ce820189aa1a7f196889250a6d3404b6e4a234cc6ec73493f15cad0·...·]-17">}</span><span·class="p">,</span><span·class="w">223 ·</span><span·class="p"·data-group-id="6540565815-16">[</span><span·class="p"·data-group-id="6540565815-17">{</span><span·class="p"·data-group-id="6540565815-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:·19f93f040b5f01c2962bf7930cccf3126b65643c23dcbec59f76cac6fa505d75·...·]-17">}</span><span·class="p">,</span><span·class="w">
224 ··</span><span·class="p"·data-group-id="4704601348-19">{</span><span·class="p"·data-group-id="4704601348-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="47046013[·...·truncated·by·diffoscope;·len:·302,·SHA:·8bf03a1c6f954aef1897c78b201a42edb87c40c5e31745a9d8d06386515cde8d·...·]-19">}</span><span·class="p">,</span><span·class="w">224 ··</span><span·class="p"·data-group-id="6540565815-19">{</span><span·class="p"·data-group-id="6540565815-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="65405658[·...·truncated·by·diffoscope;·len:·302,·SHA:·2790b4a34a298cc4b40e445352ccd8b95bdfdd415f3313e0c09c7f206aa462f3·...·]-19">}</span><span·class="p">,</span><span·class="w">
225 ··</span><span·class="p"·data-group-id="4704601348-21">{</span><span·class="p"·data-group-id="4704601348-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="4704601348-22">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·c7e06f9697eeba0beec1077a8ddf777282d0bfc7081c1b0f8e88ef31fd777a81·...·]-21">}</span><span·class="p">,</span><span·class="w">225 ··</span><span·class="p"·data-group-id="6540565815-21">{</span><span·class="p"·data-group-id="6540565815-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="6540565815-22">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·80103b2a517acdf2ac2fd454466b7c10d3f599c4392b683f968ad70d459500ad·...·]-21">}</span><span·class="p">,</span><span·class="w">
226 ··</span><span·class="p"·data-group-id="4704601348-23">{</span><span·class="p"·data-group-id="4704601348-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="4704601348-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·a0542dd78cb94000244d5a5bc7db1c07558df998ee30d31d67423e5775b1168d·...·]-23">}</span><span·class="p">,</span><span·class="w">226 ··</span><span·class="p"·data-group-id="6540565815-23">{</span><span·class="p"·data-group-id="6540565815-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="6540565815-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·8fa8c1905efc060c2fccd7c0d588b447976e4d6463ef0eb24469858c7a1a1a91·...·]-23">}</span><span·class="p">,</span><span·class="w">
227 ··</span><span·class="p"·data-group-id="4704601348-25">{</span><span·class="p"·data-group-id="4704601348-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="4704601348-26">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·1b425cd4a01f9f45803ce6ad51e8510c4bedcf9029f3b1b4bff5f383aa010942·...·]-25">}</span><span·class="p">,</span><span·class="w">227 ··</span><span·class="p"·data-group-id="6540565815-25">{</span><span·class="p"·data-group-id="6540565815-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="6540565815-26">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·b6a0a0dab73f41a5f697981661f0270aafa02f6cac1456fe9fe44c1d119636a0·...·]-25">}</span><span·class="p">,</span><span·class="w">
228 ··</span><span·class="p"·data-group-id="4704601348-27">{</span><span·class="p"·data-group-id="4704601348-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="4704601348-28">}</[·...·truncated·by·diffoscope;·len:·410,·SHA:·799bbf24049b9199eff96070e69bc1c1d1333ac9c09d3edab5137f9e3245d074·...·]-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="6540565815-27">{</span><span·class="p"·data-group-id="6540565815-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="6540565815-28">}</[·...·truncated·by·diffoscope;·len:·410,·SHA:·ed508cac7affda39eb4cbe9f80c8b595d05abb103b75aa8af871f313a0392d25·...·]-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.2.7/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.2.7/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.2.7/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.2.7/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-6.2.2/doc/html/lists.html#seq/2"><code·class="inline">lists:seq/2</code></a>·and·<a·href="../../../../lib/stdlib-6.2.2/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-6.2.2/doc/html/lists.html#seq/2"><code·class="inline">lists:seq/2</code></a>·and·<a·href="../../../../lib/stdlib-6.2.2/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="3272508015-1">{</span><span·class="p"·data-group-id="3272508015-2">[</span><span·class="p"·data-group-id="3272508015-3">{</span><span·class="p"·data-group-id="3272508015-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·34e557dab7714e10bc21d5adf83a9e8fa1dc28ccf2db99e0f5aaecdc0abce884·...·]-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="0215308628-1">{</span><span·class="p"·data-group-id="0215308628-2">[</span><span·class="p"·data-group-id="0215308628-3">{</span><span·class="p"·data-group-id="0215308628-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·978eb54c9feb806f6211b831dcd99e81fd7cffaeaf2d8f21375f412ba09b5181·...·]-3">}</span><span·class="p">,</span><span·class="w">
250 ··</span><span·class="p"·data-group-id="3272508015-5">{</span><span·class="p"·data-group-id="3272508015-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="3272508015[·...·truncated·by·diffoscope;·len:·352,·SHA:·07717850239b38f3fce85b4b705add384e5ca97195309b5bdc986b582cd251f9·...·]-2">]</span><span·class="p">,</span><span·class="w">250 ··</span><span·class="p"·data-group-id="0215308628-5">{</span><span·class="p"·data-group-id="0215308628-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="0215308628[·...·truncated·by·diffoscope;·len:·352,·SHA:·42c9321e847c9996650dc4bf34462343f97e08ba838f14355325083a37ab9ed0·...·]-2">]</span><span·class="p">,</span><span·class="w">
251 ·</span><span·class="p"·data-group-id="3272508015-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="3272508015-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:·2759a5f2d3b1f21bf033fc63025675bb840ceb129b0dace180dce50a814f818d·...·]-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="0215308628-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="0215308628-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:·10b180e526cd4ea85b7461ef6fc151ebaba993291a8a212fce5b45ed6e94e280·...·]-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="3272508015-9">[</span><span·class="p"·data-group-id="3272508015-10">{</span><span·class="p"·data-group-id="3272508015-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:·84442c6d82232dbc390040b86d1388543e7d6fc8cf017f74094d83bca770dc4c·...·]-10">}</span><span·class="p">,</span><span·class="w">252 ·</span><span·class="p"·data-group-id="0215308628-9">[</span><span·class="p"·data-group-id="0215308628-10">{</span><span·class="p"·data-group-id="0215308628-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:·0a9d4e2b845c301cad33ff2852d40c4bdb4358182b1daefa642a32411e7ed662·...·]-10">}</span><span·class="p">,</span><span·class="w">
253 ··</span><span·class="p"·data-group-id="3272508015-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:·8cb9d02b039d28c89164575cabf09a9e06c696375158eec118a718a69c2111fd·...·]-12">}</span><span·class="p">,</span><span·class="w">253 ··</span><span·class="p"·data-group-id="0215308628-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:·8f64ef9b4deb53f32b1409f0a20221446e839f9d3a4bc9d36d91a85f5ba32856·...·]-12">}</span><span·class="p">,</span><span·class="w">
254 ··</span><span·class="p"·data-group-id="3272508015-13">{</span><span·class="p"·data-group-id="3272508015-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="32725080[·...·truncated·by·diffoscope;·len:·409,·SHA:·1eea95807629ac845ef0c5fe92e6cfac79d5f9d0f3670d32c7810232b3cf5365·...·]-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="0215308628-13">{</span><span·class="p"·data-group-id="0215308628-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="02153086[·...·truncated·by·diffoscope;·len:·409,·SHA:·e9c253afa1c4bf01bf9ee04f6fc482c3ad0f3b291076c2b5793d2092d3eca1a4·...·]-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.2.7/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.2.7/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.2.7/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.2.7/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-15.2.7/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-15.2.7/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="1231728929-1">{</span><span·class="p"·data-group-id="1231728929-2">[</span><span·class="p"·data-group-id="1231728929-3">{</span><span·class="p"·data-group-id="1231728929-4">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write<[·...·truncated·by·diffoscope;·len:·405,·SHA:·74e14942810e3ba0ceef747d97fa46ea372bafcc675836ad5a123433be5221e3·...·]-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="4715391768-1">{</span><span·class="p"·data-group-id="4715391768-2">[</span><span·class="p"·data-group-id="4715391768-3">{</span><span·class="p"·data-group-id="4715391768-4">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write<[·...·truncated·by·diffoscope;·len:·405,·SHA:·905ed026be3b27a1d05e6b8f4ffa7ae0b3659e3fa9af1c48a743f8c776ea16d3·...·]-3">}</span><span·class="p">,</span><span·class="w">
263 ··</span><span·class="p"·data-group-id="1231728929-5">{</span><span·class="p"·data-group-id="1231728929-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="1231728929[·...·truncated·by·diffoscope;·len:·299,·SHA:·4e7efb0d0fa4f459fe3f4de0137ae0652aa460965c042c5b1a9a108189e62538·...·]-5">}</span><span·class="p">,</span><span·class="w">263 ··</span><span·class="p"·data-group-id="4715391768-5">{</span><span·class="p"·data-group-id="4715391768-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="4715391768[·...·truncated·by·diffoscope;·len:·299,·SHA:·6fad77b5e4be07fb77e78e18053264c6b50a7590d248b0610a9aa0aaf6400f39·...·]-5">}</span><span·class="p">,</span><span·class="w">
264 ··</span><span·class="p"·data-group-id="1231728929-7">{</span><span·class="p"·data-group-id="1231728929-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="123172892[·...·truncated·by·diffoscope;·len:·299,·SHA:·01d92080cd8a368c3f65148421b441945c00e795e2c327d598165f0b81445ef8·...·]-7">}</span><span·class="p">,</span><span·class="w">264 ··</span><span·class="p"·data-group-id="4715391768-7">{</span><span·class="p"·data-group-id="4715391768-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="471539176[·...·truncated·by·diffoscope;·len:·299,·SHA:·5da39ebd4e9d50c8e0b2b6557353d4026006cbb9eed95158ab253e984f004488·...·]-7">}</span><span·class="p">,</span><span·class="w">
265 ··</span><span·class="p"·data-group-id="1231728929-9">{</span><span·class="p"·data-group-id="1231728929-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="123[·...·truncated·by·diffoscope;·len:·301,·SHA:·cf914a3ea3da9abd6be8e523cad38260f909427d3f29e2893069ebb32e9c76da·...·]-9">}</span><span·class="p">,</span><span·class="w">265 ··</span><span·class="p"·data-group-id="4715391768-9">{</span><span·class="p"·data-group-id="4715391768-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="471[·...·truncated·by·diffoscope;·len:·301,·SHA:·7222275f198836b8793f17a5048531f2fb4014c91f50c0eca5679e3aaf783c1f·...·]-9">}</span><span·class="p">,</span><span·class="w">
266 ··</span><span·class="p"·data-group-id="1231728929-11">{</span><span·class="p"·data-group-id="1231728929-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="1231728929-12">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·20e13efa170810af3b7a36a1282e85721abdde83687f98526d4c6872cc20a7fa·...·]-11">}</span><span·class="p">,</span><span·class="w">266 ··</span><span·class="p"·data-group-id="4715391768-11">{</span><span·class="p"·data-group-id="4715391768-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="4715391768-12">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·39165d66e4de2d6c8658d9827a6c48027f1a10f5de14c2686b4355e2a8996d69·...·]-11">}</span><span·class="p">,</span><span·class="w">
267 ··</span><span·class="p"·data-group-id="1231728929-13">{</span><span·class="p"·data-group-id="1231728929-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="1231728929-14[·...·truncated·by·diffoscope;·len:·302,·SHA:·3b46919647e116077f50a1562f939c669fa304763ce3a7bf3f18f3f50d773a67·...·]-13">}</span><span·class="p">,</span><span·class="w">267 ··</span><span·class="p"·data-group-id="4715391768-13">{</span><span·class="p"·data-group-id="4715391768-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="4715391768-14[·...·truncated·by·diffoscope;·len:·302,·SHA:·004125e05d52c4b92a2ff2ea9c2e3a153927af8b06ebc898835c50e73748965d·...·]-13">}</span><span·class="p">,</span><span·class="w">
268 ··</span><span·class="p"·data-group-id="1231728929-15">{</span><span·class="p"·data-group-id="1231728929-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="123172892[·...·truncated·by·diffoscope;·len:·302,·SHA:·eb3e2673fc130a54fb76573a5214b8a2c38d58439469a34ac5769f331182ff71·...·]-15">}</span><span·class="p">,</span><span·class="w">268 ··</span><span·class="p"·data-group-id="4715391768-15">{</span><span·class="p"·data-group-id="4715391768-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="471539176[·...·truncated·by·diffoscope;·len:·302,·SHA:·3817fe91a56a9a85dbf97734f6ea0a6457ee1dafb4bc6fbccc0097a06f00b802·...·]-15">}</span><span·class="p">,</span><span·class="w">
269 ··</span><span·class="p"·data-group-id="1231728929-17">{</span><span·class="p"·data-group-id="1231728929-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="1231728[·...·truncated·by·diffoscope;·len:·302,·SHA:·3590ab0cd4cdd1e75a7d9ffeb3f344525fd9cedb858f875994ce011d3135d0ca·...·]-17">}</span><span·class="p">,</span><span·class="w">269 ··</span><span·class="p"·data-group-id="4715391768-17">{</span><span·class="p"·data-group-id="4715391768-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="4715391[·...·truncated·by·diffoscope;·len:·302,·SHA:·3031ba777fd9395946205543a981e29c1ca24d9957df7f193378bd8a1d1d750e·...·]-17">}</span><span·class="p">,</span><span·class="w">
270 ··</span><span·class="p"·data-group-id="1231728929-19">{</span><span·class="p"·data-group-id="1231728929-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:·aa6f789b98c884daf54b7d941b9ba8724dd36158467949e6f5e193bc067430af·...·]-19">}</span><span·class="p">,</span><span·class="w">270 ··</span><span·class="p"·data-group-id="4715391768-19">{</span><span·class="p"·data-group-id="4715391768-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:·34278142f0a50a4ccc4e2e0aaaabd897a91eea2bac32d386c3c424c179388624·...·]-19">}</span><span·class="p">,</span><span·class="w">
271 ··</span><span·class="p"·data-group-id="1231728929-21">{</span><span·class="p"·data-group-id="1231728929-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:·09c28e4b35944b60eaac3179461d717119f88d87eb3502f3459699b596f63c8f·...·]-21">}</span><span·class="p">,</span><span·class="w">271 ··</span><span·class="p"·data-group-id="4715391768-21">{</span><span·class="p"·data-group-id="4715391768-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:·f07d5e829fbc554ebd6153147ea935be3e421171bdd6f4257ae3be47cc631f85·...·]-21">}</span><span·class="p">,</span><span·class="w">
272 ··</span><span·class="p"·data-group-id="1231728929-23">{</span><span·class="p"·data-group-id="1231728929-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="1231728929-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·6b8ef5d7613f2d01ab93e5da1882456566945c54eaef6be21530d4fcfaa8f2e2·...·]-23">}</span><span·class="p">,</span><span·class="w">272 ··</span><span·class="p"·data-group-id="4715391768-23">{</span><span·class="p"·data-group-id="4715391768-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="4715391768-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·206488196d37b9d7542d452b019efbc5c163f308159328ddbad70c8db4546ed1·...·]-23">}</span><span·class="p">,</span><span·class="w">
273 ··</span><span·class="p"·data-group-id="1231728929-25">{</span><span·class="p"·data-group-id="1231728929-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:·a3a60c8ee9fa8748bce0dc0c50d852a211e6508b0e8800cfbcc527b76b9738c1·...·]-25">}</span><span·class="p">,</span><span·class="w">273 ··</span><span·class="p"·data-group-id="4715391768-25">{</span><span·class="p"·data-group-id="4715391768-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:·00d03aeda24017f624ea17d3e0267f6f24d8e69695fd9af97baa219d4e36a1ec·...·]-25">}</span><span·class="p">,</span><span·class="w">
274 ··</span><span·class="p"·data-group-id="1231728929-27">{</span><span·class="p"·data-group-id="1231728929-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="123172[·...·truncated·by·diffoscope;·len:·302,·SHA:·b2bbb0400aaf209ec5ad237448ddbca6799d4e7e584cf495868dc192179f6399·...·]-27">}</span><span·class="p">,</span><span·class="w">274 ··</span><span·class="p"·data-group-id="4715391768-27">{</span><span·class="p"·data-group-id="4715391768-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="471539[·...·truncated·by·diffoscope;·len:·302,·SHA:·0006f914b237ccde40c9c5e7d3abd18edcd464c4a9d40b2e35a2f832ff8850ce·...·]-27">}</span><span·class="p">,</span><span·class="w">
275 ··</span><span·class="p"·data-group-id="1231728929-29">{</span><span·class="p"·data-group-id="1231728929-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="12[·...·truncated·by·diffoscope;·len:·302,·SHA:·aea73a972952add57a5d5201ef155350234c10aae084bb112cc4645ec1cafa7f·...·]-29">}</span><span·class="p">,</span><span·class="w">275 ··</span><span·class="p"·data-group-id="4715391768-29">{</span><span·class="p"·data-group-id="4715391768-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="47[·...·truncated·by·diffoscope;·len:·302,·SHA:·df480cbdb8ebb2c5bf12b60288bf109b807b6054110d565e098b385e9643f1d5·...·]-29">}</span><span·class="p">,</span><span·class="w">
276 ··</span><span·class="p"·data-group-id="1231728929-31">{</span><span·class="p"·data-group-id="1231728929-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="1231728929-32">[·...·truncated·by·diffoscope;·len:·302,·SHA:·4bebdec10a38c57fef698a6fa8cd1d7312f52562045ce51feb9661465862fe1a·...·]-31">}</span><span·class="p">,</span><span·class="w">276 ··</span><span·class="p"·data-group-id="4715391768-31">{</span><span·class="p"·data-group-id="4715391768-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="4715391768-32">[·...·truncated·by·diffoscope;·len:·302,·SHA:·9417c2d5e01bb56a607f08adebdad821bb2c1abfbc5e2b8eac5ef1979d830b71·...·]-31">}</span><span·class="p">,</span><span·class="w">
277 ··</span><span·class="p"·data-group-id="1231728929-33">{</span><span·class="p"·data-group-id="1231728929-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="123172[·...·truncated·by·diffoscope;·len:·356,·SHA:·e779467388a9f33369baafbedadb13bb9e48f1a284dd7670ab1cff63312597a9·...·]-2">]</span><span·class="p">,</span><span·class="w">277 ··</span><span·class="p"·data-group-id="4715391768-33">{</span><span·class="p"·data-group-id="4715391768-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="471539[·...·truncated·by·diffoscope;·len:·356,·SHA:·b6e93cf2d81d5cb7e88185584b596c7a91bf11fbc7de40b02efa39b3828ad0c3·...·]-2">]</span><span·class="p">,</span><span·class="w">
278 ·</span><span·class="p"·data-group-id="1231728929-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:·833eaec2cfb3860c3277030b6b004c68a549dd7f169b250c98c9e014fff3e0bc·...·]-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="4715391768-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:·93e978d53645f07d658c3f48ecb648a4203d404cd113a024ae8484b6cbcf8a58·...·]-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="1231728929-36">[</span><span·class="w">·</span><span·class="p"·data-group-id="1231728929-36">]</span><span·class="p"·data-group-id="1231728929-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="4715391768-36">[</span><span·class="w">·</span><span·class="p"·data-group-id="4715391768-36">]</span><span·class="p"·data-group-id="4715391768-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="1665173400-1">{</span><span·class="p"·data-group-id="1665173400-2">[</span><span·class="p"·data-group-id="1665173400-3">{</span><span·class="p"·data-group-id="1665173400-4">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">d[·...·truncated·by·diffoscope;·len:·405,·SHA:·922090dec97a86f40a28adb7076d8df332fa4556bce4125099cf9d11d4c37fcc·...·]-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="5568828533-1">{</span><span·class="p"·data-group-id="5568828533-2">[</span><span·class="p"·data-group-id="5568828533-3">{</span><span·class="p"·data-group-id="5568828533-4">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">d[·...·truncated·by·diffoscope;·len:·405,·SHA:·ad27fd2cf678f17f252cf32d0c2881ecf916dbaf512379ea2614ed4d2518b059·...·]-3">}</span><span·class="p">,</span><span·class="w">
286 ··</span><span·class="p"·data-group-id="1665173400-5">{</span><span·class="p"·data-group-id="1665173400-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="1665173400-6">}[·...·truncated·by·diffoscope;·len:·299,·SHA:·3cdf7ba09cc73edb9bf565e0a70f2075c61bc5587d7310d5f2899271b27bb29a·...·]-5">}</span><span·class="p">,</span><span·class="w">286 ··</span><span·class="p"·data-group-id="5568828533-5">{</span><span·class="p"·data-group-id="5568828533-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="5568828533-6">}[·...·truncated·by·diffoscope;·len:·299,·SHA:·dd5bc68f551a44ed3ff47b5ab761557411618c6975e1d99e252c9022969d098b·...·]-5">}</span><span·class="p">,</span><span·class="w">
287 ··</span><span·class="p"·data-group-id="1665173400-7">{</span><span·class="p"·data-group-id="1665173400-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="1665173400-8">}</span[·...·truncated·by·diffoscope;·len:·352,·SHA:·aa220dcf75f20980668e1fbdf1c1cf700b677aa2c8f7da92f85635e183d28404·...·]-2">]</span><span·class="p">,</span><span·class="w">287 ··</span><span·class="p"·data-group-id="5568828533-7">{</span><span·class="p"·data-group-id="5568828533-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="5568828533-8">}</span[·...·truncated·by·diffoscope;·len:·352,·SHA:·9890ba4a807dc9412bfaa26e54991512edfad0b1162337154d6f1b53cf104f6e·...·]-2">]</span><span·class="p">,</span><span·class="w">
288 ·</span><span·class="p"·data-group-id="1665173400-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:·fdfe0d5e8458d063890dd933b06f28c69ff87407e9218d5e36fb54d5e336c3c6·...·]-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="5568828533-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:·15fda674a0c8f1b5880bb05a54e0d88bc242aa967bbe9e8678f97050a2462e6a·...·]-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="1665173400-10">[</span><span·class="w">·</span><span·class="p"·data-group-id="1665173400-10">]</span><span·class="p"·data-group-id="1665173400-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="5568828533-10">[</span><span·class="w">·</span><span·class="p"·data-group-id="5568828533-10">]</span><span·class="p"·data-group-id="5568828533-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="9307091291-1">{</span><span·class="p"·data-group-id="9307091291-2">[</span><span·class="p"·data-group-id="9307091291-3">{</span><span·class="p"·data-group-id="9307091291-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·c55a0aa88b3345f517a3182fe7fd1718345e37aa01b86750a2905d437e89bc2f·...·]-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="7482853464-1">{</span><span·class="p"·data-group-id="7482853464-2">[</span><span·class="p"·data-group-id="7482853464-3">{</span><span·class="p"·data-group-id="7482853464-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·f26167c23248d9011c49091a7ab0e967628f7be9d68d90684270aa77fc0b28ff·...·]-3">}</span><span·class="p">,</span><span·class="w">
295 ··</span><span·class="p"·data-group-id="9307091291-5">{</span><span·class="p"·data-group-id="9307091291-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="9307091291[·...·truncated·by·diffoscope;·len:·352,·SHA:·3a353720af0a120dbe904dbb39e7f19a31c0a37511ae0a0ea2dd66e97a129bdd·...·]-2">]</span><span·class="p">,</span><span·class="w">295 ··</span><span·class="p"·data-group-id="7482853464-5">{</span><span·class="p"·data-group-id="7482853464-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="7482853464[·...·truncated·by·diffoscope;·len:·352,·SHA:·cb2d38d93685dc787081c4fb2f6f8c39735df43a9b398874ae90a390d1a2552a·...·]-2">]</span><span·class="p">,</span><span·class="w">
296 ·</span><span·class="p"·data-group-id="9307091291-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="9307091291-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:·b8486689b74a6938f06939fed3cf933737c7a5746094687ecca81d5b208714cf·...·]-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="7482853464-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="7482853464-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:·41158c9b9c91a2c212459c78618b2e52ec10491824560a3f8eb164209213ddee·...·]-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="9307091291-9">[</span><span·class="p"·data-group-id="9307091291-10">{</span><span·class="p"·data-group-id="9307091291-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:·526f0361c0fbc766a763ca958696a40dfca4e747db7d3904b372f46fd96fd8e0·...·]-10">}</span><span·class="p">,</span><span·class="w">297 ·</span><span·class="p"·data-group-id="7482853464-9">[</span><span·class="p"·data-group-id="7482853464-10">{</span><span·class="p"·data-group-id="7482853464-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:·7b87b8d08b048136fd5768e623071106755973c8787ef846adfe7223239b4264·...·]-10">}</span><span·class="p">,</span><span·class="w">
298 ··</span><span·class="p"·data-group-id="9307091291-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:·4965319f2271ce342a24c3f44fdf71bb476fadff8d8650800e5f7f122d553f40·...·]-1">}</span><span·class="p">.</span></code></pre><p>Not·unexpectedly,·we·see·that·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>·was·called·from298 ··</span><span·class="p"·data-group-id="7482853464-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:·4235d9ca9b965bcfc9939ab0566d03c15a452756b02b4aedafa784455f6eef9d·...·]-1">}</span><span·class="p">.</span></code></pre><p>Not·unexpectedly,·we·see·that·<a·href="../../../../lib/kernel-10.2.7/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>·was·called·from
Max diff block lines reached; 46067/139429 bytes (33.04%) 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.1/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="2963140562-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="2963140562-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·2bac6e3f65da1396183e24e02b9dc54e366f78b04d81beac646e094850aca323·...·]-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="0016579623-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="0016579623-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·a0bf2be5f864cf6f9b1d98fe581aca104221fc7903ef3dd543bbf9033ce5b47c·...·]-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="2963140562-3">(</span><span·class="p"·data-group-id="2963140562-4">[</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2963140562-5">{</span><span·class="ss">tracer</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·203,·SHA:·1002994a33bb8ff1295537acd682073001c4e34e4f56dec47cb0aa95a63247a0·...·]-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="0016579623-3">(</span><span·class="p"·data-group-id="0016579623-4">[</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0016579623-5">{</span><span·class="ss">tracer</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·203,·SHA:·6b927e9df417478e6a895e015d076ff3d40e7e6c418fd98ec648e9ecf6de23b2·...·]-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="2963140562-6">(</span><span·class="ss">stop</span><span·class="p"·data-group-id="2963140562-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="0016579623-6">(</span><span·class="ss">stop</span><span·class="p"·data-group-id="0016579623-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>232 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1782 <p>Copyright·©·1996-2025·<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.1/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="4950875424-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">15.0</span><span·class="p"·data-group-id="4950875424-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="4950875424-2">[</span><span·class="mi">64</spa[·...·truncated·by·diffoscope;·len:·1287,·SHA:·8e30871768cadf09db5ec0cede3d801d45d9fcd978957b8ff00c9485dca5b53a·...·]-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="2263198986-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">15.0</span><span·class="p"·data-group-id="2263198986-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="2263198986-2">[</span><span·class="mi">64</spa[·...·truncated·by·diffoscope;·len:·1287,·SHA:·44bd0edc2498fb83c12951d20d49a57953fa460dca3c5a647db6a0b37806e5b0·...·]-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="4950875424-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:·bb20ff0999c5a61f8c9732aab6616b0b702ec0ef41822beb70506762119343fa·...·]-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="2263198986-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:·da4d0a2e9c3d0126ea18f949d6b20b913414902bb0326a68d006e0e5f1ddf2bd·...·]-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="4950875424-10">[</span><span·class="p"·data-group-id="4950875424-11">{</span><span·class="ss">db_nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4950875424-12">[</span><span·class="nf">node</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1155,·SHA:·8be9fcdb802cac00498eca789156c0414afe9f90a668dad650e41b2481ea48d9·...·]-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="2263198986-10">[</span><span·class="p"·data-group-id="2263198986-11">{</span><span·class="ss">db_nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2263198986-12">[</span><span·class="nf">node</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1155,·SHA:·a9543b8c95f0eb00a43c896df7d05bbddcb18b0212f86654b7842aa0e7fc363e·...·]-17">}</span><span·class="p">,</span><span·class="w">
239 ····</span><span·class="p"·data-group-id="4950875424-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="4950875424-20">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·465,·SHA:·f55b3ccea71dd296ac2b6598744e4074f57ffacc38788cc18c4dc1b2cc00de0d·...·]-22">}</span><span·class="p">,</span><span·class="w">239 ····</span><span·class="p"·data-group-id="2263198986-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="2263198986-20">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·465,·SHA:·c061c4ded7cefc8b3c8ace957076b5d7c6ce6e9cfd48da1e6f31fce232a9db53·...·]-22">}</span><span·class="p">,</span><span·class="w">
240 ····</span><span·class="p"·data-group-id="4950875424-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="4950875424-23">}</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·519,·SHA:·1cfe90733e428bea5bf0aabf7cf8d0c42fcf2909ee782effe9aa0312dcb97e06·...·]-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="2263198986-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="2263198986-23">}</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·519,·SHA:·099434210805523e345c8117a932847efc70484f69abe1d783c341b2d8a2f12e·...·]-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="4950875424-26">(</span><span·class="p"·data-group-id="4950875424-27">[</span><span·class="p"·data-group-id="4950875424-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:·da429b11562ef692f2027f744345a682558af66f2122f863e40e0ce1479f24c7·...·]-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="2263198986-26">(</span><span·class="p"·data-group-id="2263198986-27">[</span><span·class="p"·data-group-id="2263198986-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:·6c340f00a544141c308eff8a20c95aaab5c7f4353ac5f38d1ea4803ae4bffbda·...·]-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="6443576618-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6443576618-2">(</span><span·class="p"·data-group-id="6443576618-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·835,·SHA:·75b072b30f70fe4244f5daac78844a3f1fb49e69c21880d9b5211748f78e00c1·...·]8-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="5403075388-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5403075388-2">(</span><span·class="p"·data-group-id="5403075388-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·835,·SHA:·f11d4fa45e5a559085680bb0a82cab3b34199ab733a54c9bd24b1e2e084e36f0·...·]8-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="6443576618-7">}</span><span·class="p">|</span><span·class="n">Conf</span><span·class="p"·data-group-id="6443576618-6">]</span><span·class="p"·data-group-id="6443576618-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tps</span><sp[·...·truncated·by·diffoscope;·len:·137,·SHA:·bf2b66cd527552e7f8b944dd72c40077cbaefd2a45db05cc2c5bdf44fdc8fbe6·...·]8-1">)</span><span·class="p">.</span><span·class="w">248 ····</span><span·class="ss">true</span><span·class="p"·data-group-id="5403075388-7">}</span><span·class="p">|</span><span·class="n">Conf</span><span·class="p"·data-group-id="5403075388-6">]</span><span·class="p"·data-group-id="5403075388-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tps</span><sp[·...·truncated·by·diffoscope;·len:·137,·SHA:·b45fc1e79f82f789ead58b5f4e1ff1c2e5615f390d1895b192cb4b7026a9bbe6·...·]8-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="5243717003-1">(</span><span·class="ss">big</span><span·class="p"·data-group-id="5243717003-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="6025871943-1">(</span><span·class="ss">big</span><span·class="p"·data-group-id="6025871943-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="5243717003-2">(</span><span·class="p"·data-group-id="5243717003-3">[</span><span·class="ss">bang</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="5243717003-3">]</span><span·class="p"·data-group-id="5243717003-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="6025871943-2">(</span><span·class="p"·data-group-id="6025871943-3">[</span><span·class="ss">bang</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="6025871943-3">]</span><span·class="p"·data-group-id="6025871943-2">)</span><span·class="p">.</span><span·class="w">
  
355 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="5243717003-4">(</span><span·class="p"·data-group-id="5243717003-5">[</span><span·class="p"·data-group-id="5243717003-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5243717003-6">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·142,·SHA:·d404868bee267249ce6e5434f7948766dda64c82d7fad20cec3e0efd96778740·...·]3-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="6025871943-4">(</span><span·class="p"·data-group-id="6025871943-5">[</span><span·class="p"·data-group-id="6025871943-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-6">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·142,·SHA:·718a9ec99a2583ce19d7f95d9a1c5b97e0d172a152cd71240791eeb1880aa88a·...·]3-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="5243717003-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="5243717003-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="5243717003-8">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5243717003-9">[</span><span·class="p"·data-group-id="52[·...·truncated·by·diffoscope;·len:·145,·SHA:·438471faba15c459a8b964273efce7e0fa182dd11c35923005c65d389a674868·...·]</span><span·class="w">357 »       </span><span·class="p"·data-group-id="6025871943-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=[·...·truncated·by·diffoscope;·len:·86,·SHA:·3e40734f07250e4938e0d55ca6baf55b31dee75548729769c9d8da085d9f3d23·...·]</span><span·class="w">
 358 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="6025871943-8">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-9">[</span><span·class="p"·data-group-id="6025871943-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ReportTo</span><span·class="p"·data-group-id="6025871943-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="5243717003-10">(</span><span·class="p"·data-group-id="5243717003-11">[</span><span·class="p"·data-group-id="5243717003-11">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5243717003-12">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·148,·SHA:·0ee7bc570e15c66233c557505bb881b2ef8ac8251c4f27a805cfcc6897bcd00d·...·]3-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="6025871943-10">(</span><span·class="p"·data-group-id="6025871943-11">[</span><span·class="p"·data-group-id="6025871943-11">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-12">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·148,·SHA:·d21499a0135568761219a8638d07f7e8f081f07122944cb1ad21bbff06809fae·...·]3-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="5243717003-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="5243717003-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·405,·SHA:·ebf3d544443f5f3a18e1f82b5bd0e56f83a1cd076666581b01cfb8ecac7ed9fc·...·]3-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="6025871943-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="6025871943-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·405,·SHA:·a65436180eb57f69a67c1f399b5a1ab5a3563fbe94e21f34ca2040c4b07e6bc4·...·]3-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="5243717003-16">(</span><span·class="p"·data-group-id="5243717003-17">[</span><span·class="p"·data-group-id="5243717003-17">]</span><span·class="p">,</span><span·class="p"·data-group-id="5243717003-18">[</span><span·class="p"·data-group-id="5243717003-18">][·...·truncated·by·diffoscope;·len:·100,·SHA:·f77634a2e089ef6884dd66600f83626ec3564842f93ddb12d256f06e69477ddb·...·]3-16">)</span><span·class="p">;</span><span·class="w">362 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="6025871943-16">(</span><span·class="p"·data-group-id="6025871943-17">[</span><span·class="p"·data-group-id="6025871943-17">]</span><span·class="p">,</span><span·class="p"·data-group-id="6025871943-18">[</span><span·class="p"·data-group-id="6025871943-18">][·...·truncated·by·diffoscope;·len:·100,·SHA:·fa235c63c295e5a737d4369554289be292246f0416593301c5adb788265f53cf·...·]3-16">)</span><span·class="p">;</span><span·class="w">
363 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="5243717003-19">(</span><span·class="p"·data-group-id="5243717003-20">[</span><span·class="p"·data-group-id="5243717003-20">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5243717003-21">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·150,·SHA:·1a5be1ff973bc315404cda2b5ff679ee62f0e0f2f1744c3fb35f92b3c52dbf15·...·]3-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="6025871943-19">(</span><span·class="p"·data-group-id="6025871943-20">[</span><span·class="p"·data-group-id="6025871943-20">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-21">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·150,·SHA:·b67a936fdbb6a7973e3b409a93025a776da8c0c81501bc674a465235a50f6e2f·...·]3-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="5243717003-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="5243717003-23">(</span><span·class="p"·data-group-id="5243717003-23">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·e9eee36752c145fd9418fd8b72c7fb7a04da62b6830fbc8e8945591df285bf71·...·]3-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="6025871943-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="6025871943-23">(</span><span·class="p"·data-group-id="6025871943-23">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·98c41cb5a698614b0f64dffbb98700ff93fdfaff3894f2383172104992c669af·...·]3-22">}</span><span·class="p">,</span><span·class="w">
365 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="5243717003-24">(</span><span·class="p"·data-group-id="5243717003-25">[</span><span·class="p"·data-group-id="5243717003-25">]</span><span·class="p">,</span><span·class="p"·data-group-id="5243717003-26">[</span><span·class="p"·data-group-id="5243717003-26">][·...·truncated·by·diffoscope;·len:·100,·SHA:·f77634a2e089ef6884dd66600f83626ec3564842f93ddb12d256f06e69477ddb·...·]3-24">)</span><span·class="p">;</span><span·class="w">365 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="6025871943-24">(</span><span·class="p"·data-group-id="6025871943-25">[</span><span·class="p"·data-group-id="6025871943-25">]</span><span·class="p">,</span><span·class="p"·data-group-id="6025871943-26">[</span><span·class="p"·data-group-id="6025871943-26">][·...·truncated·by·diffoscope;·len:·100,·SHA:·fa235c63c295e5a737d4369554289be292246f0416593301c5adb788265f53cf·...·]3-24">)</span><span·class="p">;</span><span·class="w">
366 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="5243717003-27">(</span><span·class="p"·data-group-id="5243717003-28">[</span><span·class="p"·data-group-id="5243717003-28">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5243717003-29">[</span><span·class="n">Po</spa[·...·truncated·by·diffoscope;·len:·327,·SHA:·2e699ba23d55bcc503f79e131c146726e078535512a7254c60c51ff1b96717be·...·]3-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="6025871943-27">(</span><span·class="p"·data-group-id="6025871943-28">[</span><span·class="p"·data-group-id="6025871943-28">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-29">[</span><span·class="n">Po</spa[·...·truncated·by·diffoscope;·len:·327,·SHA:·863043d68b24c825cb00bcadcf081112093cdb880a1b4a08d8b4629b45eba713·...·]3-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="5243717003-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="5243717003-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">368 »       </span><span·class="p"·data-group-id="6025871943-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="6025871943-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="5243717003-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="5243717003-32">(</span><span·class="p"·data-group-id="5243717003-32">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·e9eee36752c145fd9418fd8b72c7fb7a04da62b6830fbc8e8945591df285bf71·...·]3-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="6025871943-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="6025871943-32">(</span><span·class="p"·data-group-id="6025871943-32">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·98c41cb5a698614b0f64dffbb98700ff93fdfaff3894f2383172104992c669af·...·]3-31">}</span><span·class="p">,</span><span·class="w">
370 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="5243717003-33">(</span><span·class="p"·data-group-id="5243717003-34">[</span><span·class="p"·data-group-id="5243717003-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:·72,·SHA:·e4626daebe395a610d741766b7f156f9df22c3d1560c9cd0a66cc5f79ee1be1d·...·]3-33">)</span><span·class="p">;</span><span·class="w">370 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="6025871943-33">(</span><span·class="p"·data-group-id="6025871943-34">[</span><span·class="p"·data-group-id="6025871943-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:·72,·SHA:·469bb7f9044e708fda33f517067828096de521d36e5c36713561054a4501f754·...·]3-33">)</span><span·class="p">;</span><span·class="w">
371 »       </span><span·class="p"·data-group-id="5243717003-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="5243717003-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="5243717003-36">(</span><span·class="p"·data-group-id="5243717003-37">[</span><span·class="p"·data-group-id="5243717003-37">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·147,·SHA:·7d6c0d4512f1c14ab086de18c911f995377a773259a0dc8104dfee4c6bb0d51b·...·]</span><span·class="w">371 »       </span><span·class="p"·data-group-id="6025871943-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="6025871943-35">}</span><span·class="w">·</span><span·class="p">[·...·truncated·by·diffoscope;·len:·5,·SHA:·31a8f0979e9ebe62f09113d719a31fed81f0619f574b0beaaf9c1578477711d7·...·]</span><span·class="w">
 372 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="6025871943-36">(</span><span·class="p"·data-group-id="6025871943-37">[</span><span·class="p"·data-group-id="6025871943-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="6025871943-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="5243717003-38">(</span><span·class="p"·data-group-id="5243717003-39">[</span><span·class="n">Pi</span><span·class="p">|</span><span·class="n">Pis</span><span·class="p"·data-group-id="5243717003-39">]</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="5243717003-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="5243717003-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="524[·...·truncated·by·diffoscope;·len:·508,·SHA:·9127d911c023493f6e089851ada31feef3790ec2df90c42364f79c3e52819564·...·]</span><span·class="w">374 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="6025871943-38">(</span><span·class="p"·data-group-id="6025871943-39">[</span><span·class="n">Pi</span><span·class="p">|</span><span·class="n">Pis</span><span·class="p"·data-group-id="60258[·...·truncated·by·diffoscope;·len:·274,·SHA:·5d97ae892f478d9f28368d55431e129ed995ff353ad293b020dcc2ad6f8a8c80·...·]</span><span·class="w">
 375 ····</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-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="6025871943-40">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">From</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-41">{</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="6025871943-42">(</span><span·class="p"·data-group-id="6025871943-42">)</span><span·class="p"·data-group-id="6025871943-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="5243717003-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="5243717003-44">(</span><span·class="p"·data-group-id="5243717003-44">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·e9eee36752c145fd9418fd8b72c7fb7a04da62b6830fbc8e8945591df285bf71·...·]3-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="6025871943-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="6025871943-44">(</span><span·class="p"·data-group-id="6025871943-44">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·98c41cb5a698614b0f64dffbb98700ff93fdfaff3894f2383172104992c669af·...·]3-43">}</span><span·class="p">,</span><span·class="w">
379 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="5243717003-45">(</span><span·class="n">Pis</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5243717003-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:·147,·SHA:·9333ec88301a31479da5ffe86cd91967c68822e8d4ef01c2a73a0123ce088003·...·]3-45">)</span><span·class="p">.</span><span·class="w">379 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="6025871943-45">(</span><span·class="n">Pis</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-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:·147,·SHA:·57b46e0e01ed3567994b18a303bb17284c1c3a281ce1fdc4c69063d6009298df·...·]3-45">)</span><span·class="p">.</span><span·class="w">
  
380 </span><span·class="nf">spawn_procs</span><span·class="p"·data-group-id="5243717003-47">(</span><span·class="n">N</span><span·class="p"·data-group-id="5243717003-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="6025871943-47">(</span><span·class="n">N</span><span·class="p"·data-group-id="6025871943-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="5243717003-48">[</span><span·class="p"·data-group-id="5243717003-48">]</span><span·class="p">;</span><span·class="w">381 ····</span><span·class="p"·data-group-id="6025871943-48">[</span><span·class="p"·data-group-id="6025871943-48">]</span><span·class="p">;</span><span·class="w">
382 </span><span·class="nf">spawn_procs</span><span·class="p"·data-group-id="5243717003-49">(</span><span·class="n">N</span><span·class="p"·data-group-id="5243717003-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="6025871943-49">(</span><span·class="n">N</span><span·class="p"·data-group-id="6025871943-49">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
383 ····</span><span·class="p"·data-group-id="5243717003-50">[</span><span·class="nf">spawn_link</span><span·class="p"·data-group-id="5243717003-51">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5243717003-52">(</span><span·class="p"·data-group-id="524371700[·...·truncated·by·diffoscope;·len:·952,·SHA:·0a3585f736b962b772375511f569de5665e28a6df03e3d2ae062078afb6c3e0d·...·]3-50">]</span><span·class="p">.</span><span·class="w">383 ····</span><span·class="p"·data-group-id="6025871943-50">[</span><span·class="nf">spawn_link</span><span·class="p"·data-group-id="6025871943-51">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-52">(</span><span·class="p"·data-group-id="602587194[·...·truncated·by·diffoscope;·len:·952,·SHA:·7e4cfcd14f7960440e6f597b674d19ee4787e0230d039d0aa0b0fe59e0ed409d·...·]3-50">]</span><span·class="p">.</span><span·class="w">
  
384 </span><span·class="nf">send_procs</span><span·class="p"·data-group-id="5243717003-57">(</span><span·class="p"·data-group-id="5243717003-58">[</span><span·class="p"·data-group-id="5243717003-58">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="5243717003-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="6025871943-57">(</span><span·class="p"·data-group-id="6025871943-58">[</span><span·class="p"·data-group-id="6025871943-58">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="6025871943-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="5243717003-59">(</span><span·class="p"·data-group-id="5243717003-60">[</span><span·class="n">P</span><span·class="p">|</span><span·class="n">Ps</span><span·class="p"·data-group-id="5243717003-60">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·62,·SHA:·973d2a527facdb387aae07d4cf2d20e50465ba9fe7291572676a6ac6d55d132a·...·]3-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="6025871943-59">(</span><span·class="p"·data-group-id="6025871943-60">[</span><span·class="n">P</span><span·class="p">|</span><span·class="n">Ps</span><span·class="p"·data-group-id="6025871943-60">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·62,·SHA:·b637b25b58dca317d6473e6932ac3543ed15d3a955caef0a72f1fc22c9cfe075·...·]3-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="5243717003-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="5243717003-61">)</span><span·class="p">.</span><span·class="w">388 ····</span><span·class="nf">send_procs</span><span·class="p"·data-group-id="6025871943-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="6025871943-61">)</span><span·class="p">.</span><span·class="w">
  
389 </span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="5243717003-62">(</span><span·class="p"·data-group-id="5243717003-63">[</span><span·class="p"·data-group-id="5243717003-63">]</span><span·class="p"·data-group-id="5243717003-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="6025871943-62">(</span><span·class="p"·data-group-id="6025871943-63">[</span><span·class="p"·data-group-id="6025871943-63">]</span><span·class="p"·data-group-id="6025871943-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="5243717003-64">(</span><span·class="p"·data-group-id="5243717003-65">[</span><span·class="n">M</span><span·class="p">|</span><span·class="n">Ms</span><span·class="p"·data-group-id="5243717003-65">]</span><span·class="p"·data-group-id="5243717003-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="6025871943-64">(</span><span·class="p"·data-group-id="6025871943-65">[</span><span·class="n">M</span><span·class="p">|</span><span·class="n">Ms</span><span·class="p"·data-group-id="6025871943-65">]</span><span·class="p"·data-group-id="6025871943-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="5243717003-66">(</span><span·class="n">Ms</span><span·class="p"·data-group-id="5243717003-66">)</span><span·class="w">394 »       ····</span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="6025871943-66">(</span><span·class="n">Ms</span><span·class="p"·data-group-id="6025871943-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="5243717003-67">(</span><span·class="n">N</span><span·class="p"·data-group-id="5243717003-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="5243717003-68">(</[·...·truncated·by·diffoscope;·len:·69,·SHA:·0510c93f165f95ef260661236c7f65adfa9fe18f7622e71f651c9c04515302fc·...·]3-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="6025871943-67">(</span><span·class="n">N</span><span·class="p"·data-group-id="6025871943-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="6025871943-68">(</[·...·truncated·by·diffoscope;·len:·69,·SHA:·8f1bc3e8f5c46e021790f1ec6b1c44e65faabfc9ae6cf88dc2448d994f5a2527·...·]3-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="5243717003-69">(</span><span·class="n">N</span><span·class="p"·data-group-id="5243717003-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="6025871943-69">(</span><span·class="n">N</span><span·class="p"·data-group-id="6025871943-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="5243717003-70">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5243717003-71">(</span><span·class="n">P</span><span·class="p"·data-group-id="5243717003-71">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·400,·SHA:·017cf12315f8791a08e7f54ed0370af4ba807612f6d9562527a94c2432a61455·...·]3-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="6025871943-70">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-71">(</span><span·class="n">P</span><span·class="p"·data-group-id="6025871943-71">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·400,·SHA:·04bc39c7d836282720f799bf83a85d4bf7e60015273599a77f9d9714e129d871·...·]3-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="5243717003-73">(</span><span·class="p"·data-group-id="5243717003-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="6025871943-73">(</span><span·class="p"·data-group-id="6025871943-73">)</span><span·class="p">,</span><span·class="w">
400 ····</span><span·class="nf">send_procs</span><span·class="p"·data-group-id="5243717003-74">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5243717003-75">{</span><span·class="ss">procs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Procs</spa[·...·truncated·by·diffoscope;·len:·280,·SHA:·590ed6ba7c41d2232ca466803c4d16fc8cb70dec2395da9e6e379d507a238909·...·]3-74">)</span><span·class="p">,</span><span·class="w">400 ····</span><span·class="nf">send_procs</span><span·class="p"·data-group-id="6025871943-74">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-75">{</span><span·class="ss">procs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Procs</spa[·...·truncated·by·diffoscope;·len:·280,·SHA:·fa24ed15db232af689a04849f3337f3c1b7e4779863380a31a92184da99512d7·...·]3-74">)</span><span·class="p">,</span><span·class="w">
401 ····</span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="5243717003-77">(</span><span·class="n">RMsgs</span><span·class="p"·data-group-id="5243717003-77">)</span><span·class="p">,</span><span·class="w">401 ····</span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="6025871943-77">(</span><span·class="n">RMsgs</span><span·class="p"·data-group-id="6025871943-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="5243717003-78">(</span><span·class="p"·data-group-id="5243717003-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="6025871943-78">(</span><span·class="p"·data-group-id="6025871943-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="5243717003-79">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5243717003-80">(</span><span·class="n">P</span><span·class="p"·data-group-id="5243717003-80">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·430,·SHA:·2bf9568c1517ac22fc4c6d3171c9eef2f85059ded29e424ce5b509c6bdd0bfa1·...·]3-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="6025871943-79">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6025871943-80">(</span><span·class="n">P</span><span·class="p"·data-group-id="6025871943-80">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·430,·SHA:·e9c573fddca4fa8bb9b844a6073f3fb27da5d711e42814f3a4f1923ed533d462·...·]3-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="5243717003-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="5243717003-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="6025871943-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="6025871943-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>464 <p>Copyright·©·1996-2025·<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.34 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.1/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="8761191246-1">{</span><span·class="ss">&#39;file1&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8761191246-2">[</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="p"·data-group-id="8761191246-3">{</span><span·cl[·...·truncated·by·diffoscope;·len:·229,·SHA:·a3c61f13770e9af450370c9d81d2151e3c893e44407cb1798d7c5e58a0d7ff75·...·]-1">}</span><span·class="p">.</span><span·class="w">145 <code·class="inline">debug_info</code>·flag.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8612262955-1">{</span><span·class="ss">&#39;file1&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8612262955-2">[</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="p"·data-group-id="8612262955-3">{</span><span·cl[·...·truncated·by·diffoscope;·len:·229,·SHA:·63540385c9e33fdc85fa39b25378bc8b373450e04142271fe5f3e23b0a121a98·...·]-1">}</span><span·class="p">.</span><span·class="w">
146 </span><span·class="p"·data-group-id="8761191246-4">{</span><span·class="ss">&#39;*&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8761191246-5">[</span><span·class="ss">debug_info</span><span·class="p"·data-group-id="8761191246-5">]</span><span·class="p"·data-group-id="87611[·...·truncated·by·diffoscope;·len:·5,·SHA:·9de3f8ba437d7812485a0cba332482697fc743622567d9b6ec60b4c801b3507d·...·]-4">}</span><span·class="p">.</span></code></pre><h2·id="module-see-also"·class="section-heading">146 </span><span·class="p"·data-group-id="8612262955-4">{</span><span·class="ss">&#39;*&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8612262955-5">[</span><span·class="ss">debug_info</span><span·class="p"·data-group-id="8612262955-5">]</span><span·class="p"·data-group-id="86122[·...·truncated·by·diffoscope;·len:·5,·SHA:·dc5d4c80bb7023ea02566564e593250185b9030a94749ac6d0cb0bf37185ddd7·...·]-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-8.6.1/doc/html/compile.html">The·Compiler·Application</a></p>152 <p><a·href="../../../../lib/compiler-8.6.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>383 <p>Copyright·©·1996-2025·<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.1/doc/html/notes.html
    
Offset 163, 51 lines modifiedOffset 163, 51 lines modified
163 </h2>163 </h2>
164 <h3·id="fixed-bugs-and-malfunctions-2"·class="section-heading">164 <h3·id="fixed-bugs-and-malfunctions-2"·class="section-heading">
165 ··<a·href="#fixed-bugs-and-malfunctions-2"·class="hover-link">165 ··<a·href="#fixed-bugs-and-malfunctions-2"·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">Fixed·Bugs·and·Malfunctions</span>168 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
169 </h3>169 </h3>
170 <ul><li><p>Dialyzer·warnings·due·to·type·specs·added·in·<a·href="../../../../lib/runtime_tools-2.1.1/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="0911137888-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="0911137888-1">)</span><span·class="p">.</span><span·class="w">170 <ul><li><p>Dialyzer·warnings·due·to·type·specs·added·in·<a·href="../../../../lib/runtime_tools-2.1.1/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="7719755411-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="7719755411-1">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0911137888-2">(</span><span·class="p"·data-group-id="0911137888-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:·113,·SHA:·8f3995cee8fd17a7cf10eee23ab88ea05b8533a1cc57fad5c1e92294b1a2dd77·...·]-2">)</span><span·class="p">.</span><span·class="w">171 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7719755411-2">(</span><span·class="p"·data-group-id="7719755411-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:·113,·SHA:·bb80aa5de08eb75b6692d0d1cd4195a783217ff765661735349a09a62a41bafd·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
172 </span><span·class="nf">bar</span><span·class="p"·data-group-id="0911137888-4">(</span><span·class="p"·data-group-id="0911137888-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:·90,·SHA:·ad97bfb2b4ad29f822eb4c483a825d2e97b8f3f69114bc11b3b0806c0abb5635·...·]-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·entries172 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7719755411-4">(</span><span·class="p"·data-group-id="7719755411-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:·90,·SHA:·70d0657942a38e58cae99b27e2ef8b0e1932a0338d803280b8ef49ed0b77a2a1·...·]-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
173 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="6473261979-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="6473261979-1">)</span><span·class="p">.</span><span·class="w">173 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="2391144773-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="2391144773-1">)</span><span·class="p">.</span><span·class="w">
174 </span><span·class="p"·data-group-id="6473261979-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="6473261979-2">}</span><span·class="gp·unselectable">174 </span><span·class="p"·data-group-id="2391144773-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="2391144773-2">}</span><span·class="gp·unselectable">
175 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="6473261979-3">(</span><span·class="p"·data-group-id="6473261979-3">)</span><span·class="p">.</span><span·class="w">175 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="2391144773-3">(</span><span·class="p"·data-group-id="2391144773-3">)</span><span·class="p">.</span><span·class="w">
176 </span><span·class="ss">ok</span><span·class="gp·unselectable">176 </span><span·class="ss">ok</span><span·class="gp·unselectable">
177 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="6473261979-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="6473261979-4">)</span><span·class="p">.</span><span·class="w">177 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="2391144773-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="2391144773-4">)</span><span·class="p">.</span><span·class="w">
178 </span><span·class="p"·data-group-id="6473261979-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6473261979-6">[</span><span·class="p"·data-group-id="6473261979-7">{</span><span·class="p"·data-group-id="6473261979-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·977,·SHA:·1ee0ce385b82566c158f7564acf1b84f5d89d8aff25c4a5523b0c6a138d4b875·...·]-5">}</span><span·class="gp·unselectable">178 </span><span·class="p"·data-group-id="2391144773-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2391144773-6">[</span><span·class="p"·data-group-id="2391144773-7">{</span><span·class="p"·data-group-id="2391144773-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·977,·SHA:·1dcfc747cb4d1616452c68053cd5a152a53d0e30866c335ad47a8dfbb13c1d4c·...·]-5">}</span><span·class="gp·unselectable">
179 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="6473261979-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="6473261979-13">)</span><span·class="p">.</span><span·class="w">179 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="2391144773-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="2391144773-13">)</span><span·class="p">.</span><span·class="w">
180 </span><span·class="p"·data-group-id="6473261979-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6473261979-15">[</span><span·class="p"·data-group-id="6473261979-16">{</span><span·class="p"·data-group-id="6473261979-17">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·1071,·SHA:·2bf7eab27a0721629b121a42c3592e6d43ada1d67483336f155a180f5f8b5984·...·]-1">)</span><span·class="p">.</span><span·class="w">180 </span><span·class="p"·data-group-id="2391144773-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2391144773-15">[</span><span·class="p"·data-group-id="2391144773-16">{</span><span·class="p"·data-group-id="2391144773-17">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·1071,·SHA:·5d488f732b7e2c437040d1ae76eff75061f32a37d2774fedd993c18ea4449905·...·]-1">)</span><span·class="p">.</span><span·class="w">
181 </span><span·class="p"·data-group-id="7390977262-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="7390977262-2">}</span><span·class="gp·unselectable">181 </span><span·class="p"·data-group-id="4442001345-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="4442001345-2">}</span><span·class="gp·unselectable">
182 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="7390977262-3">(</span><span·class="p"·data-group-id="7390977262-3">)</span><span·class="p">.</span><span·class="w">182 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="4442001345-3">(</span><span·class="p"·data-group-id="4442001345-3">)</span><span·class="p">.</span><span·class="w">
183 </span><span·class="ss">ok</span><span·class="gp·unselectable">183 </span><span·class="ss">ok</span><span·class="gp·unselectable">
184 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="7390977262-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="7390977262-4">)</span><span·class="p">.</span><span·class="w">184 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="4442001345-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="4442001345-4">)</span><span·class="p">.</span><span·class="w">
185 </span><span·class="p"·data-group-id="7390977262-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7390977262-6">[</span><span·class="p"·data-group-id="7390977262-7">{</span><span·class="p"·data-group-id="7390977262-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·455,·SHA:·0f0b33e109f6969ebdfe181013fc0ed387ba6bc02b95c071190804282ddf8755·...·]-5">}</span><span·class="gp·unselectable">185 </span><span·class="p"·data-group-id="4442001345-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4442001345-6">[</span><span·class="p"·data-group-id="4442001345-7">{</span><span·class="p"·data-group-id="4442001345-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·455,·SHA:·b4e9971ddc188fb3929184733c26c1f8de38e4b1dec4b8f1155160d47053592f·...·]-5">}</span><span·class="gp·unselectable">
186 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="7390977262-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="7390977262-10">)</span><span·class="p">.</span><span·class="w">186 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="4442001345-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="4442001345-10">)</span><span·class="p">.</span><span·class="w">
187 </span><span·class="p"·data-group-id="7390977262-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7390977262-12">[</span><span·class="p"·data-group-id="7390977262-13">{</span><span·class="p"·data-group-id="7390977262-14">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·307,·SHA:·6103a9a48e8cc753b9f3fb4922e6c830c2fd8cc056db23b92661563e55fc4137·...·]-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-1"·class="section-heading">187 </span><span·class="p"·data-group-id="4442001345-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4442001345-12">[</span><span·class="p"·data-group-id="4442001345-13">{</span><span·class="p"·data-group-id="4442001345-14">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·307,·SHA:·5f3e1e8ce10f29fc1323f562bb2315cadc18f032dfa4ceaebe2908834b011813·...·]-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-1"·class="section-heading">
188 ··<a·href="#improvements-and-new-features-1"·class="hover-link">188 ··<a·href="#improvements-and-new-features-1"·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">Improvements·and·New·Features</span>191 ··<span·class="text">Improvements·and·New·Features</span>
192 </h3>192 </h3>
193 <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;193 <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;
194 ···a194 ···a
195 ···b195 ···b
196 ···c196 ···c
197 ···&quot;</span><span·class="s">&quot;&quot;</span><span·class="p">.</span><span·class="w">197 ···&quot;</span><span·class="s">&quot;&quot;</span><span·class="p">.</span><span·class="w">
198 </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">198 </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">
199 </span><span·class="s">&quot;xyz&quot;</span><span·class="p">.</span><span·class="w">199 </span><span·class="s">&quot;xyz&quot;</span><span·class="p">.</span><span·class="w">
200 </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="6613101673-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="6613101673-2">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·457,·SHA:·2d3abfedf0b48dce3d84fa20273f9b5f4ae6ddaab831c1a39f0a0f1746f991b1·...·]3-1">)</span><span·class="p">.</span><span·class="w">200 </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="7749287143-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="7749287143-2">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·457,·SHA:·d054189116db549732287f9f7149f60bd9e0e423ccff0fa7a68be14eb3c03372·...·]3-1">)</span><span·class="p">.</span><span·class="w">
  
201 </span><span·class="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">201 </span><span·class="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">
202 </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="6613101673-4">[</span><span·class="w">·····</span><span·class="c1">%]</span><span·class="w">202 </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="7749287143-4">[</span><span·class="w">·····</span><span·class="c1">%]</span><span·class="w">
203 </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="6613101673-5">[</span><span·class="mf">100.00</span><span·class="p"·data-group-id="6613101673-5">]</span><span·class="w">203 </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="7749287143-5">[</span><span·class="mf">100.00</span><span·class="p"·data-group-id="7749287143-5">]</span><span·class="w">
204 ····························</span><span·class="mi">32</span><span·class="w">············</span><span·class="p"·data-group-id="6613101673-6">[</span><span·class="w">·</span><span·class="mf">100.0</span><span·class="p"·data-group-id="6613101673-6">]</span><span·class="w">204 ····························</span><span·class="mi">32</span><span·class="w">············</span><span·class="p"·data-group-id="7749287143-6">[</span><span·class="w">·</span><span·class="mf">100.0</span><span·class="p"·data-group-id="7749287143-6">]</span><span·class="w">
205 </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-8.6.1/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.2.7/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/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.2.7/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.2.7/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">205 </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-8.6.1/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.2.7/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../../lib/kernel-10.2.7/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.2.7/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.2.7/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">
206 ··<a·href="#tools-3-6"·class="hover-link">206 ··<a·href="#tools-3-6"·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">Tools·3.6</span>209 ··<span·class="text">Tools·3.6</span>
210 </h2>210 </h2>
211 <h3·id="improvements-and-new-features-2"·class="section-heading">211 <h3·id="improvements-and-new-features-2"·class="section-heading">
Offset 1528, 15 lines modifiedOffset 1528, 15 lines modified
1528 ······<p·class="built-using">1528 ······<p·class="built-using">
1529 ········Built·using1529 ········Built·using
1530 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1530 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1531 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1531 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1532 ······</p>1532 ······</p>
1533 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1533 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1534 ····</footer>1534 ····</footer>
1535 ··</div>1535 ··</div>
1536 </main>1536 </main>
1537 </div>1537 </div>
1538 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1538 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1539 ··<script>1539 ··<script>
1540 ··let·initialized·=·false;1540 ··let·initialized·=·false;
730 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>775 <p>Copyright·©·1996-2025·<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
879 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.1/doc/html/tools.epub
4.44 KB
zipinfo {}
Max HTML report size reached
164 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·Jul·06·2026·03:06:34,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·20:56:40,·uncompressed·size·20,·method=store
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
2.35 KB
OEBPS/content.opf
2.32 KB
OEBPS/content.opf
Max HTML report size reached
158 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.1/doc/html/tprof.html
    
Offset 156, 199 lines modifiedOffset 156, 199 lines modified
156 The·<code·class="inline">tprof</code>·results·will·probably·be·incorrect·when·the·profiled·code·was156 The·<code·class="inline">tprof</code>·results·will·probably·be·incorrect·when·the·profiled·code·was
157 reloading·during·a·profiling·session.</p></section><h2·id="module-ad-hoc-profiling"·class="section-heading">157 reloading·during·a·profiling·session.</p></section><h2·id="module-ad-hoc-profiling"·class="section-heading">
158 ··<a·href="#module-ad-hoc-profiling"·class="hover-link">158 ··<a·href="#module-ad-hoc-profiling"·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">Ad-hoc·profiling</span>161 ··<span·class="text">Ad-hoc·profiling</span>
162 </h2>162 </h2>
163 <p>Ad-hoc·profiling·is·convenient·for·profiling·a·single·function·call.</p><p>For·example:</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="7683695203-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="7683695203-2">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·458,·SHA:·ef31662feeebd6f4ad63429c83c8242c818460bd76e55b6372b68b43b05bdf05·...·]-1">)</span><span·class="p">.</span><span·class="w">163 <p>Ad-hoc·profiling·is·convenient·for·profiling·a·single·function·call.</p><p>For·example:</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="8895905371-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="8895905371-2">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·458,·SHA:·1f5149c648b4e2ff872d131b1fea601425eaff930ede487d822ff832a0d3257b·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
164 </span><span·class="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">164 </span><span·class="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">
165 </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="7683695203-4">[</span><span·class="w">·····</span><span·class="c1">%]</span><span·class="w">165 </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="8895905371-4">[</span><span·class="w">·····</span><span·class="c1">%]</span><span·class="w">
166 </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="7683695203-5">[</span><span·class="mf">100.00</span><span·class="p"·data-group-id="7683695203-5">]</span><span·class="w">166 </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="8895905371-5">[</span><span·class="mf">100.00</span><span·class="p"·data-group-id="8895905371-5">]</span><span·class="w">
167 ····························</span><span·class="mi">32</span><span·class="w">············</span><span·class="p"·data-group-id="7683695203-6">[</span><span·class="w">·</span><span·class="mf">100.0</span><span·class="p"·data-group-id="7683695203-6">]</span><span·class="w">167 ····························</span><span·class="mi">32</span><span·class="w">············</span><span·class="p"·data-group-id="8895905371-6">[</span><span·class="w">·</span><span·class="mf">100.0</span><span·class="p"·data-group-id="8895905371-6">]</span><span·class="w">
168 </span><span·class="ss">ok</span></code></pre><p>By·default·tracing·is·enabled·for·all·functions·in·all·modules.·When·funs168 </span><span·class="ss">ok</span></code></pre><p>By·default·tracing·is·enabled·for·all·functions·in·all·modules.·When·funs
169 are·created·in·the·interactive·shell,·parts·of·shell·code·are·also·traced:</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="0760803813-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0760803813-2">(</span><span·class="p"·data-group-id="0760803813-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">lists</s[·...·truncated·by·diffoscope;·len:·645,·SHA:·26c8ee4dcd175863e8eeeb99e65110d37589ed1f1c8622cf863e26e42b6a5645·...·]-1">)</span><span·class="p">.</span><span·class="w">169 are·created·in·the·interactive·shell,·parts·of·shell·code·are·also·traced:</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="6776606591-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6776606591-2">(</span><span·class="p"·data-group-id="6776606591-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">lists</s[·...·truncated·by·diffoscope;·len:·645,·SHA:·3fe4812e6179fbb8eae58f88ec87855a447131cf688f7994c9bfe5cb2bea8a06·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
170 </span><span·class="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.95</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">170 </span><span·class="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.95</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">
171 </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="0760803813-5">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">171 </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="6776606591-5">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">
172 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">do_apply</span><span·class="p">/</span><span·class="mi">7</span><span·class="w">············</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">······</span><span·class="mf">3.00</span><span·class="w">··</span><span·class="p"·data-group-id="0760803813-6">[</span><span·class="w">·</span><span·class="mf">3.61</span><span·class="p"·data-group-id="0760803813-6">]</span><span·class="w">172 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">do_apply</span><span·class="p">/</span><span·class="mi">7</span><span·class="w">············</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">······</span><span·class="mf">3.00</span><span·class="w">··</span><span·class="p"·data-group-id="6776606591-6">[</span><span·class="w">·</span><span·class="mf">3.61</span><span·class="p"·data-group-id="6776606591-6">]</span><span·class="w">
173 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">match_list</span><span·class="p">/</span><span·class="mi">6</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">······</span><span·class="mf">3.00</span><span·class="w">··</span><span·class="p"·data-group-id="0760803813-7">[</span><span·class="w">·</span><span·class="mf">3.61</span><span·class="p"·data-group-id="0760803813-7">]</span><span·class="w">173 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">match_list</span><span·class="p">/</span><span·class="mi">6</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">······</span><span·class="mf">3.00</span><span·class="w">··</span><span·class="p"·data-group-id="6776606591-7">[</span><span·class="w">·</span><span·class="mf">3.61</span><span·class="p"·data-group-id="6776606591-7">]</span><span·class="w">
174 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="ss">reverse</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">4</span><span·class="w">······</span><span·class="mf">4.00</span><span·class="w">··</span><span·class="p"·data-group-id="0760803813-8">[</span><span·class="w">·</span><span·class="mf">4.82</span><span·class="p"·data-group-id="0760803813-8">]</span><span·class="w">174 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="ss">reverse</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">4</span><span·class="w">······</span><span·class="mf">4.00</span><span·class="w">··</span><span·class="p"·data-group-id="6776606591-8">[</span><span·class="w">·</span><span·class="mf">4.82</span><span·class="p"·data-group-id="6776606591-8">]</span><span·class="w">
175 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">expr_list</span><span·class="p">/</span><span·class="mi">7</span><span·class="w">···········</span><span·class="mi">3</span><span·class="w">······</span><span·class="mi">7</span><span·class="w">······</span><span·class="mf">2.33</span><span·class="w">··</span><span·class="p"·data-group-id="0760803813-9">[</span><span·class="w">·</span><span·class="mf">8.43</span><span·class="p"·data-group-id="0760803813-9">]</span><span·class="w">175 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">expr_list</span><span·class="p">/</span><span·class="mi">7</span><span·class="w">···········</span><span·class="mi">3</span><span·class="w">······</span><span·class="mi">7</span><span·class="w">······</span><span·class="mf">2.33</span><span·class="w">··</span><span·class="p"·data-group-id="6776606591-9">[</span><span·class="w">·</span><span·class="mf">8.43</span><span·class="p"·data-group-id="6776606591-9">]</span><span·class="w">
176 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">ret_expr</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">············</span><span·class="mi">4</span><span·class="w">·····</span><span·class="mi">16</span><span·class="w">······</span><span·class="mf">4.00</span><span·class="w">··</span><span·class="p"·data-group-id="0760803813-10">[</span><span·class="mf">19.28</span><span·class="p"·data-group-id="0760803813-10">]</span><span·class="w">176 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">ret_expr</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">············</span><span·class="mi">4</span><span·class="w">·····</span><span·class="mi">16</span><span·class="w">······</span><span·class="mf">4.00</span><span·class="w">··</span><span·class="p"·data-group-id="6776606591-10">[</span><span·class="mf">19.28</span><span·class="p"·data-group-id="6776606591-10">]</span><span·class="w">
177 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">merge_bindings</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·····</span><span·class="mi">18</span><span·class="w">······</span><span·class="mf">6.00</span><span·class="w">··</span><span·class="p"·data-group-id="0760803813-11">[</span><span·class="mf">21.69</span><span·class="p"·data-group-id="0760803813-11">]</span><span·class="w">177 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">merge_bindings</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·····</span><span·class="mi">18</span><span·class="w">······</span><span·class="mf">6.00</span><span·class="w">··</span><span·class="p"·data-group-id="6776606591-11">[</span><span·class="mf">21.69</span><span·class="p"·data-group-id="6776606591-11">]</span><span·class="w">
178 </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="0760803813-12">[</span><span·class="mf">38.55</span><span·class="p"·data-group-id="0760803813-12">]</span><span·class="w">178 </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="6776606591-12">[</span><span·class="mf">38.55</span><span·class="p"·data-group-id="6776606591-12">]</span><span·class="w">
179 ·····································</span><span·class="mi">83</span><span·class="w">············</span><span·class="p"·data-group-id="0760803813-13">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="0760803813-13">]</span><span·class="w">179 ·····································</span><span·class="mi">83</span><span·class="w">············</span><span·class="p"·data-group-id="6776606591-13">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="6776606591-13">]</span><span·class="w">
180 </span><span·class="ss">ok</span></code></pre><p>However,·it·is·possible·to·limit·the·trace·to·specific·functions·or·modules:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="4181283496-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4181283496-2">(</span><span·class="p"·data-group-id="4181283496-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">lists</s[·...·truncated·by·diffoscope;·len:·248,·SHA:·4b0413ec867f3f0857b4c976f51ed4dd570e987757cbca06cdef510dffa347c5·...·]-3">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">180 </span><span·class="ss">ok</span></code></pre><p>However,·it·is·possible·to·limit·the·trace·to·specific·functions·or·modules:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="0589202952-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0589202952-2">(</span><span·class="p"·data-group-id="0589202952-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">lists</s[·...·truncated·by·diffoscope;·len:·248,·SHA:·e585f043814d0e8c122a758fe1f53e6cec7f29a010675257c84dad51b4c978f7·...·]-3">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
181 ·················</span><span·class="p"·data-group-id="4181283496-4">#{</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">call_memory</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pattern</span><span·class="w"[·...·truncated·by·diffoscope;·len:·559,·SHA:·9c7c71eae1306def73f77b4bac9ba98dafe4f42d570627250fd41d2ecf57fef0·...·]-1">)</span><span·class="p">.</span><span·class="w">181 ·················</span><span·class="p"·data-group-id="0589202952-4">#{</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">call_memory</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pattern</span><span·class="w"[·...·truncated·by·diffoscope;·len:·559,·SHA:·17c111bd952edd1c39b3c44f923c66c240d7fd2d7e019703de828aa4af2a7632·...·]-1">)</span><span·class="p">.</span><span·class="w">
182 </span><span·class="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.98</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">182 </span><span·class="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.98</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">
183 </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="4181283496-7">[</span><span·class="w">·····</span><span·class="c1">%]</span><span·class="w">183 </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="0589202952-7">[</span><span·class="w">·····</span><span·class="c1">%]</span><span·class="w">
184 </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="4181283496-8">[</span><span·class="mf">100.00</span><span·class="p"·data-group-id="4181283496-8">]</span><span·class="w">184 </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="0589202952-8">[</span><span·class="mf">100.00</span><span·class="p"·data-group-id="0589202952-8">]</span><span·class="w">
185 ····························</span><span·class="mi">32</span><span·class="w">············</span><span·class="p"·data-group-id="4181283496-9">[</span><span·class="w">·</span><span·class="mf">100.0</span><span·class="p"·data-group-id="4181283496-9">]</span><span·class="w">185 ····························</span><span·class="mi">32</span><span·class="w">············</span><span·class="p"·data-group-id="0589202952-9">[</span><span·class="w">·</span><span·class="mf">100.0</span><span·class="p"·data-group-id="0589202952-9">]</span><span·class="w">
  
186 </span><span·class="ss">ok</span></code></pre><p>Ad-hoc·profiling·results·can·be·printed·in·a·few·different·ways.·The·following186 </span><span·class="ss">ok</span></code></pre><p>Ad-hoc·profiling·results·can·be·printed·in·a·few·different·ways.·The·following
187 examples·use·the·<code·class="inline">test</code>·module·defined·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="6330779750-1">(</span><span·class="ss">test</span><span·class="p"·data-group-id="6330779750-1">)</span><span·class="p">.</span><span·class="w">187 examples·use·the·<code·class="inline">test</code>·module·defined·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="5194843523-1">(</span><span·class="ss">test</span><span·class="p"·data-group-id="5194843523-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="6330779750-2">(</span><span·class="p"·data-group-id="6330779750-3">[</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6330779750-3">]</span><span·class="p"·data-group-id="6330779750-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="5194843523-2">(</span><span·class="p"·data-group-id="5194843523-3">[</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5194843523-3">]</span><span·class="p"·data-group-id="5194843523-2">)</span><span·class="p">.</span><span·class="w">
189 </span><span·class="nf">test_spawn</span><span·class="p"·data-group-id="6330779750-4">(</span><span·class="p"·data-group-id="6330779750-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 </span><span·class="nf">test_spawn</span><span·class="p"·data-group-id="5194843523-4">(</span><span·class="p"·data-group-id="5194843523-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
190 ····</span><span·class="p"·data-group-id="6330779750-5">{</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="6330779750-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·691,·SHA:·ac9682c8c39637fae6323ff22e31e0477ce036d0901c9ab7a7c2d6ba0555505f·...·]-6">)</span><span·class="p">,</span><span·class="w">190 ····</span><span·class="p"·data-group-id="5194843523-5">{</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="5194843523-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·691,·SHA:·ac8657d94ee61ef3713c792261167b6ef832ec4c1bd441fb15624de6def9ad9e·...·]-6">)</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="k">receive</span><span·class="w">191 ····</span><span·class="k">receive</span><span·class="w">
192 ········</span><span·class="p"·data-group-id="6330779750-9">{</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:·151,·SHA:·46ba2b76961210490f9430a9bb5f4e31958d7f6173308a8df0159b224bd54de2·...·]-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 ········</span><span·class="p"·data-group-id="5194843523-9">{</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:·151,·SHA:·9ceef3b8f09ff92178273cfdad8cc54281f9c8aa74fd191b7db1509ea9a5acac·...·]-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ············</span><span·class="ss">done</span><span·class="w">193 ············</span><span·class="ss">done</span><span·class="w">
194 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>By·default·per-process·statistics·is·shown:</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="8057271831-1">(</span><span·class="ss">test</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">test_spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8057271831-2">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·365,·SHA:·aa1cf21264e40b2f90524cbc56912a0846ae3b719c1a44789fdddfe2ecd19a85·...·]-1">)</span><span·class="p">.</span><span·class="w">194 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>By·default·per-process·statistics·is·shown:</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="9058191292-1">(</span><span·class="ss">test</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">test_spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9058191292-2">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·365,·SHA:·f425efd5b4f125962f23528b93c42f7ab419740d678a2737890c693b3dd9d717·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
195 </span><span·class="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.176</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">23.66</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">195 </span><span·class="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.176</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">23.66</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">
196 </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="8057271831-4">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">196 </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="9058191292-4">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">
197 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_monitor</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="8057271831-5">[</span><span·class="w">·</span><span·class="mf">9.09</span><span·class="p"·data-group-id="8057271831-5">]</span><span·class="w">197 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_monitor</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="9058191292-5">[</span><span·class="w">·</span><span·class="mf">9.09</span><span·class="p"·data-group-id="9058191292-5">]</span><span·class="w">
198 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_opt</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="8057271831-6">[</span><span·class="mf">27.27</span><span·class="p"·data-group-id="8057271831-6">]</span><span·class="w">198 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_opt</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="9058191292-6">[</span><span·class="mf">27.27</span><span·class="p"·data-group-id="9058191292-6">]</span><span·class="w">
199 </span><span·class="nc">test</span><span·class="p">:</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">···········</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">14</span><span·class="w">········</span><span·class="mi">14</span><span·class="w">··</span><span·class="p"·data-group-id="8057271831-7">[</span><span·class="mf">63.64</span><span·class="p"·data-group-id="8057271831-7">]</span><span·class="w">199 </span><span·class="nc">test</span><span·class="p">:</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">···········</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">14</span><span·class="w">········</span><span·class="mi">14</span><span·class="w">··</span><span·class="p"·data-group-id="9058191292-7">[</span><span·class="mf">63.64</span><span·class="p"·data-group-id="9058191292-7">]</span><span·class="w">
200 ··································</span><span·class="mi">22</span><span·class="w">············</span><span·class="p"·data-group-id="8057271831-8">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="8057271831-8">]</span><span·class="w">200 ··································</span><span·class="mi">22</span><span·class="w">············</span><span·class="p"·data-group-id="9058191292-8">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="9058191292-8">]</span><span·class="w">
  
201 </span><span·class="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.177</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">76.34</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">201 </span><span·class="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.177</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">76.34</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">
202 </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="8057271831-9">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">202 </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="9058191292-9">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">
203 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">apply</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">7</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="8057271831-10">[</span><span·class="w">·</span><span·class="mf">9.86</span><span·class="p"·data-group-id="8057271831-10">]</span><span·class="w">203 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">apply</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">7</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="9058191292-10">[</span><span·class="w">·</span><span·class="mf">9.86</span><span·class="p"·data-group-id="9058191292-10">]</span><span·class="w">
204 </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">9</span><span·class="w">·····</span><span·class="mi">64</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="8057271831-11">[</span><span·class="mf">90.14</span><span·class="p"·data-group-id="8057271831-11">]</span><span·class="w">204 </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">9</span><span·class="w">·····</span><span·class="mi">64</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="9058191292-11">[</span><span·class="mf">90.14</span><span·class="p"·data-group-id="9058191292-11">]</span><span·class="w">
205 ·····························</span><span·class="mi">71</span><span·class="w">············</span><span·class="p"·data-group-id="8057271831-12">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="8057271831-12">]</span></code></pre><p>The·following·example·prints·the·combined·memory·allocation·of·all205 ·····························</span><span·class="mi">71</span><span·class="w">············</span><span·class="p"·data-group-id="9058191292-12">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="9058191292-12">]</span></code></pre><p>The·following·example·prints·the·combined·memory·allocation·of·all
206 processes,·sorted·by·the·total·number·of·allocated·words·in·descending206 processes,·sorted·by·the·total·number·of·allocated·words·in·descending
207 order:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="9789324697-1">(</span><span·class="ss">test</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">test_spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9789324697-2">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·3732278a5fce669634dd9d90e6c69adf5384fc04c54286faae2ece3dd0a1a252·...·]-2">]</span><span·class="p">,</span><span·class="w">207 order:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="8908982384-1">(</span><span·class="ss">test</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">test_spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8908982384-2">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·8d6adb35343f4b97052483bea84d9a22d7d798d26c467cc7fff633fddc60451e·...·]-2">]</span><span·class="p">,</span><span·class="w">
208 ·················</span><span·class="p"·data-group-id="9789324697-3">#{</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">call_memory</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">report</span><span·class="w">[·...·truncated·by·diffoscope;·len:·560,·SHA:·1eeccccd59e6fd9e60bd64fc1418c1ff636a2dbe07b84aaac1130c471f84c01d·...·]-1">)</span><span·class="p">.</span><span·class="w">208 ·················</span><span·class="p"·data-group-id="8908982384-3">#{</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">call_memory</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">report</span><span·class="w">[·...·truncated·by·diffoscope;·len:·560,·SHA:·ad0e16a2c24561199f47721cdbdef6d6910dc66a5a07543dd512b2259a65f6a3·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
209 </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="9789324697-6">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">209 </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="8908982384-6">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">
210 </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">9</span><span·class="w">·····</span><span·class="mi">64</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="9789324697-7">[</span><span·class="mf">68.82</span><span·class="p"·data-group-id="9789324697-7">]</span><span·class="w">210 </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">9</span><span·class="w">·····</span><span·class="mi">64</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="8908982384-7">[</span><span·class="mf">68.82</span><span·class="p"·data-group-id="8908982384-7">]</span><span·class="w">
211 </span><span·class="nc">test</span><span·class="p">:</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">···········</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">14</span><span·class="w">········</span><span·class="mi">14</span><span·class="w">··</span><span·class="p"·data-group-id="9789324697-8">[</span><span·class="mf">15.05</span><span·class="p"·data-group-id="9789324697-8">]</span><span·class="w">211 </span><span·class="nc">test</span><span·class="p">:</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">···········</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">14</span><span·class="w">········</span><span·class="mi">14</span><span·class="w">··</span><span·class="p"·data-group-id="8908982384-8">[</span><span·class="mf">15.05</span><span·class="p"·data-group-id="8908982384-8">]</span><span·class="w">
212 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">apply</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">··············</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">7</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="9789324697-9">[</span><span·class="w">·</span><span·class="mf">7.53</span><span·class="p"·data-group-id="9789324697-9">]</span><span·class="w">212 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">apply</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">··············</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">7</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="8908982384-9">[</span><span·class="w">·</span><span·class="mf">7.53</span><span·class="p"·data-group-id="8908982384-9">]</span><span·class="w">
213 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_opt</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="9789324697-10">[</span><span·class="w">·</span><span·class="mf">6.45</span><span·class="p"·data-group-id="9789324697-10">]</span><span·class="w">213 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_opt</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="8908982384-10">[</span><span·class="w">·</span><span·class="mf">6.45</span><span·class="p"·data-group-id="8908982384-10">]</span><span·class="w">
214 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_monitor</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="9789324697-11">[</span><span·class="w">·</span><span·class="mf">2.15</span><span·class="p"·data-group-id="9789324697-11">]</span><span·class="w">214 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_monitor</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="8908982384-11">[</span><span·class="w">·</span><span·class="mf">2.15</span><span·class="p"·data-group-id="8908982384-11">]</span><span·class="w">
215 ··································</span><span·class="mi">93</span><span·class="w">············</span><span·class="p"·data-group-id="9789324697-12">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="9789324697-12">]</span></code></pre><p>The·profiling·data·can·also·be·collected·for·further·inspection:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·un[·...·truncated·by·diffoscope;·len:·438,·SHA:·66bfd70195bc95c3d3a5e2568d547ba7969b22db6e55c2614dd534685a55bd3f·...·]-2">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">test</span><span·class="p">:</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">215 ··································</span><span·class="mi">93</span><span·class="w">············</span><span·class="p"·data-group-id="8908982384-12">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="8908982384-12">]</span></code></pre><p>The·profiling·data·can·also·be·collected·for·further·inspection:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·un[·...·truncated·by·diffoscope;·len:·438,·SHA:·9a447c967627613ca3f112d8f156f059cf407e8b771fbccfcb6dff9d7706cf90·...·]-2">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">test</span><span·class="p">:</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
216 ·······································</span><span·class="p"·data-group-id="9985168548-3">#{</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">call_memory</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">report</span><span·class="w">[·...·truncated·by·diffoscope;·len:·184,·SHA:·acdc9ff2e0f48b3a84b5b4964ca8f4ee50805be7f620e6897d8a5ba0c5223fa6·...·]-2">)</span><span·class="p">.</span><span·class="w">216 ·······································</span><span·class="p"·data-group-id="4635172323-3">#{</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">call_memory</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">report</span><span·class="w">[·...·truncated·by·diffoscope;·len:·184,·SHA:·08ab97e3c0eaaeb7e743cd28aa698998d3808073449c4d9fb58737a5c84a6e8d·...·]-2">)</span><span·class="p">.</span><span·class="w">
217 </span><span·class="o">&lt;</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="o">&gt;</span><span·class="gp·unselectable">217 </span><span·class="o">&lt;</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="o">&gt;</span><span·class="gp·unselectable">
218 4&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9985168548-4">(</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="9985168548-5">(</span><span·class="n">ProfileData</span><span·class="p">,</span><span·class="w">·</span><span·class="ss[·...·truncated·by·diffoscope;·len:·377,·SHA:·dc9a8f605fc55820bccb8185b4bd7931ea878609b5a2667e69ca57200d23f33a·...·]-4">)</span><span·class="p">.</span><span·class="w">218 4&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4635172323-4">(</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="4635172323-5">(</span><span·class="n">ProfileData</span><span·class="p">,</span><span·class="w">·</span><span·class="ss[·...·truncated·by·diffoscope;·len:·377,·SHA:·743132746c755e155152dc706f74c90181eab7e1a0213a61af5ced5df09162cd·...·]-4">)</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.223</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">23.66</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</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.223</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">23.66</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</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="9985168548-7">[</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="4635172323-7">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">
221 </span><span·class="nc">test</span><span·class="p">:</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">···········</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">14</span><span·class="w">········</span><span·class="mi">14</span><span·class="w">··</span><span·class="p"·data-group-id="9985168548-8">[</span><span·class="mf">63.64</span><span·class="p"·data-group-id="9985168548-8">]</span><span·class="w">221 </span><span·class="nc">test</span><span·class="p">:</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">···········</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">14</span><span·class="w">········</span><span·class="mi">14</span><span·class="w">··</span><span·class="p"·data-group-id="4635172323-8">[</span><span·class="mf">63.64</span><span·class="p"·data-group-id="4635172323-8">]</span><span·class="w">
222 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_opt</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="9985168548-9">[</span><span·class="mf">27.27</span><span·class="p"·data-group-id="9985168548-9">]</span><span·class="w">222 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_opt</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="4635172323-9">[</span><span·class="mf">27.27</span><span·class="p"·data-group-id="4635172323-9">]</span><span·class="w">
223 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_monitor</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="9985168548-10">[</span><span·class="w">·</span><span·class="mf">9.09</span><span·class="p"·data-group-id="9985168548-10">]</span><span·class="w">223 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_monitor</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="4635172323-10">[</span><span·class="w">·</span><span·class="mf">9.09</span><span·class="p"·data-group-id="4635172323-10">]</span><span·class="w">
224 ··································</span><span·class="mi">22</span><span·class="w">············</span><span·class="p"·data-group-id="9985168548-11">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="9985168548-11">]</span><span·class="w">224 ··································</span><span·class="mi">22</span><span·class="w">············</span><span·class="p"·data-group-id="4635172323-11">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="4635172323-11">]</span><span·class="w">
  
225 </span><span·class="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.224</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">76.34</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">225 </span><span·class="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.224</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">76.34</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">
226 </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="9985168548-12">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">226 </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="4635172323-12">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">
227 </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">9</span><span·class="w">·····</span><span·class="mi">64</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="9985168548-13">[</span><span·class="mf">90.14</span><span·class="p"·data-group-id="9985168548-13">]</span><span·class="w">227 </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">9</span><span·class="w">·····</span><span·class="mi">64</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="4635172323-13">[</span><span·class="mf">90.14</span><span·class="p"·data-group-id="4635172323-13">]</span><span·class="w">
228 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">apply</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">7</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="9985168548-14">[</span><span·class="w">·</span><span·class="mf">9.86</span><span·class="p"·data-group-id="9985168548-14">]</span><span·class="w">228 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">apply</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">7</span><span·class="w">·········</span><span·class="mi">7</span><span·class="w">··</span><span·class="p"·data-group-id="4635172323-14">[</span><span·class="w">·</span><span·class="mf">9.86</span><span·class="p"·data-group-id="4635172323-14">]</span><span·class="w">
229 ·····························</span><span·class="mi">71</span><span·class="w">············</span><span·class="p"·data-group-id="9985168548-15">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="9985168548-15">]</span></code></pre><p>Which·processes·that·are·profiled·depends·on·the·profiling·type.</p><ul><li><p><code·class="inline">call_count</code>·(default)·counts·calls·in·all·processes.</p></li><li><p><code·class="inline">call_time</code>·and·<code·class="inline">call_memory</code>·limits·the·profiling·to·the·processes229 ·····························</span><span·class="mi">71</span><span·class="w">············</span><span·class="p"·data-group-id="4635172323-15">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="4635172323-15">]</span></code></pre><p>Which·processes·that·are·profiled·depends·on·the·profiling·type.</p><ul><li><p><code·class="inline">call_count</code>·(default)·counts·calls·in·all·processes.</p></li><li><p><code·class="inline">call_time</code>·and·<code·class="inline">call_memory</code>·limits·the·profiling·to·the·processes
230 spawned·from·the·user-provided·function·(using·the·<code·class="inline">set_on_spawn</code>230 spawned·from·the·user-provided·function·(using·the·<code·class="inline">set_on_spawn</code>
231 option·for·<a·href="../../../../lib/kernel-10.2.7/doc/html/trace.html#process/4"><code·class="inline">trace:process/4</code></a>).</p></li></ul><p><code·class="inline">call_time</code>·and·<code·class="inline">call_memory</code>·can·be·restricted·to·profile·a·single·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="5736286546-1">(</span><span·class="ss">test</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">test_spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5736286546-2">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·3fa49f4b96dff753973e5efcdd158a9f8f03baf81803205ff40d1e7383e4d410·...·]-2">]</span><span·class="p">,</span><span·class="w">231 option·for·<a·href="../../../../lib/kernel-10.2.7/doc/html/trace.html#process/4"><code·class="inline">trace:process/4</code></a>).</p></li></ul><p><code·class="inline">call_time</code>·and·<code·class="inline">call_memory</code>·can·be·restricted·to·profile·a·single·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="9694103265-1">(</span><span·class="ss">test</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">test_spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9694103265-2">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·161f06611ebbe67ede2e5825703723469340526c1824976fe14466e8c57a1e03·...·]-2">]</span><span·class="p">,</span><span·class="w">
232 ·················</span><span·class="p"·data-group-id="5736286546-3">#{</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">call_memory</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">set_on_spawn</span><span·clas[·...·truncated·by·diffoscope;·len:·189,·SHA:·d074efe2a5e4eccda10482fda0e0c3cdfd0e6af1ef0ae800da13a6af01da693f·...·]-1">)</span><span·class="p">.</span><span·class="w">232 ·················</span><span·class="p"·data-group-id="9694103265-3">#{</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">call_memory</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">set_on_spawn</span><span·clas[·...·truncated·by·diffoscope;·len:·189,·SHA:·0e7843017631309d926fea39f5313b3599750599bfeadacea1c1c1e9a9beca21·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
233 </span><span·class="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.183</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="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">233 </span><span·class="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.183</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="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">
234 </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="5736286546-4">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">234 </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="9694103265-4">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">
235 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_monitor</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="5736286546-5">[</span><span·class="w">·</span><span·class="mf">9.09</span><span·class="p"·data-group-id="5736286546-5">]</span><span·class="w">235 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_monitor</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="9694103265-5">[</span><span·class="w">·</span><span·class="mf">9.09</span><span·class="p"·data-group-id="9694103265-5">]</span><span·class="w">
236 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_opt</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="5736286546-6">[</span><span·class="mf">27.27</span><span·class="p"·data-group-id="5736286546-6">]</span><span·class="w">236 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">spawn_opt</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="9694103265-6">[</span><span·class="mf">27.27</span><span·class="p"·data-group-id="9694103265-6">]</span><span·class="w">
237 </span><span·class="nc">test</span><span·class="p">:</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">···········</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">14</span><span·class="w">········</span><span·class="mi">14</span><span·class="w">··</span><span·class="p"·data-group-id="5736286546-7">[</span><span·class="mf">63.64</span><span·class="p"·data-group-id="5736286546-7">]</span></code></pre><p><a·href=""·id="pg_example"></a></p><p>Erlang·programs·can·perform·expensive·operations·in·other·processes237 </span><span·class="nc">test</span><span·class="p">:</span><span·class="ss">test_spawn</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">···········</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">14</span><span·class="w">········</span><span·class="mi">14</span><span·class="w">··</span><span·class="p"·data-group-id="9694103265-7">[</span><span·class="mf">63.64</span><span·class="p"·data-group-id="9694103265-7">]</span></code></pre><p><a·href=""·id="pg_example"></a></p><p>Erlang·programs·can·perform·expensive·operations·in·other·processes
238 than·the·original·one.·You·can·include·multiple,·new,·or·even·all238 than·the·original·one.·You·can·include·multiple,·new,·or·even·all
239 processes·in·the·trace·when·measuring·time·or·memory:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">7&gt;·</span><span·class="nc">pg</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="7614416729-1">(</span><span·class="p"·data-group-id="7614416729-1">)</span><span·class="p">.</span><span·class="w">239 processes·in·the·trace·when·measuring·time·or·memory:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">7&gt;·</span><span·class="nc">pg</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="2192316040-1">(</span><span·class="p"·data-group-id="2192316040-1">)</span><span·class="p">.</span><span·class="w">
240 </span><span·class="p"·data-group-id="7614416729-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.252</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="7614416729-2">}</span><span·class="gp·unselectable">240 </span><span·class="p"·data-group-id="2192316040-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.252</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="2192316040-2">}</span><span·class="gp·unselectable">
241 8&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="7614416729-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7614416729-4">(</span><span·class="p"·data-group-id="7614416729-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">pg</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="7614416729-5">(</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="7614416729-6">(</span><span·class="p"·data-group-id="7614416729-6">)</span><span·class="p"·data-group-id="7614416729-5">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w"> 
242 ·················</span><span·class="p"·data-group-id="7614416729-7">#{</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">call_memory</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·371,·SHA:·135c4f4a3774b6b32fd078d36fe8e6583c157f3a71b11acebb947f61a793920e·...·]</span><span·class="w">241 8&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="2192316040-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2192316040-4">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·565,·SHA:·9ef1cf6f61fcae0ac0c5f5e70111febe5d1daeff08571bf3a1e28f65f1963f5a·...·]</span><span·class="w">
 242 ·················</span><span·class="p"·data-group-id="2192316040-7">#{</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">call_memory</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">rootset</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2192316040-8">[</span><span·class="ss">pg</span><span·class="p"·data-group-id="2192316040-8">]</span><span·class="p"·data-group-id="2192316040-7">}</span><span·class="p"·data-group-id="2192316040-3">)</span><span·class="p">.</span><span·class="w">
243 </span><span·class="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.252</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">52.86</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">243 </span><span·class="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.252</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">52.86</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">
244 </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="7614416729-9">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">244 </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="2192316040-9">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">
245 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">leave_local_update_ets</span><span·class="p">/</span><span·class="mi">5</span><span·class="w">·······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-10">[</span><span·class="w">·</span><span·class="mf">1.80</span><span·class="p"·data-group-id="7614416729-10">]</span><span·class="w">245 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">leave_local_update_ets</span><span·class="p">/</span><span·class="mi">5</span><span·class="w">·······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">2</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-10">[</span><span·class="w">·</span><span·class="mf">1.80</span><span·class="p"·data-group-id="2192316040-10">]</span><span·class="w">
246 </span><span·class="nc">gen</span><span·class="p">:</span><span·class="ss">reply</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·······················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-11">[</span><span·class="w">·</span><span·class="mf">2.70</span><span·class="p"·data-group-id="7614416729-11">]</span><span·class="w">246 </span><span·class="nc">gen</span><span·class="p">:</span><span·class="ss">reply</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·······················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-11">[</span><span·class="w">·</span><span·class="mf">2.70</span><span·class="p"·data-group-id="2192316040-11">]</span><span·class="w">
247 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">monitor</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">··················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-12">[</span><span·class="w">·</span><span·class="mf">2.70</span><span·class="p"·data-group-id="7614416729-12">]</span><span·class="w">247 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">monitor</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">··················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-12">[</span><span·class="w">·</span><span·class="mf">2.70</span><span·class="p"·data-group-id="2192316040-12">]</span><span·class="w">
248 </span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="ss">try_handle_call</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-13">[</span><span·class="w">·</span><span·class="mf">2.70</span><span·class="p"·data-group-id="7614416729-13">]</span><span·class="w">248 </span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="ss">try_handle_call</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">······</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-13">[</span><span·class="w">·</span><span·class="mf">2.70</span><span·class="p"·data-group-id="2192316040-13">]</span><span·class="w">
249 </span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="ss">try_dispatch</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">·········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-14">[</span><span·class="w">·</span><span·class="mf">2.70</span><span·class="p"·data-group-id="7614416729-14">]</span><span·class="w">249 </span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="ss">try_dispatch</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">·········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-14">[</span><span·class="w">·</span><span·class="mf">2.70</span><span·class="p"·data-group-id="2192316040-14">]</span><span·class="w">
250 </span><span·class="nc">maps</span><span·class="p">:</span><span·class="ss">iterator</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">···················</span><span·class="mi">2</span><span·class="w">······</span><span·class="mi">4</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-15">[</span><span·class="w">·</span><span·class="mf">3.60</span><span·class="p"·data-group-id="7614416729-15">]</span><span·class="w">250 </span><span·class="nc">maps</span><span·class="p">:</span><span·class="ss">iterator</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">···················</span><span·class="mi">2</span><span·class="w">······</span><span·class="mi">4</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-15">[</span><span·class="w">·</span><span·class="mf">3.60</span><span·class="p"·data-group-id="2192316040-15">]</span><span·class="w">
251 </span><span·class="nc">maps</span><span·class="p">:</span><span·class="ss">take</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·······················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-16">[</span><span·class="w">·</span><span·class="mf">5.41</span><span·class="p"·data-group-id="7614416729-16">]</span><span·class="w">251 </span><span·class="nc">maps</span><span·class="p">:</span><span·class="ss">take</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·······················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-16">[</span><span·class="w">·</span><span·class="mf">5.41</span><span·class="p"·data-group-id="2192316040-16">]</span><span·class="w">
252 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">join_local_update_ets</span><span·class="p">/</span><span·class="mi">5</span><span·class="w">········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">8</span><span·class="w">·········</span><span·class="mi">8</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-17">[</span><span·class="w">·</span><span·class="mf">7.21</span><span·class="p"·data-group-id="7614416729-17">]</span><span·class="w">252 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">join_local_update_ets</span><span·class="p">/</span><span·class="mi">5</span><span·class="w">········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">8</span><span·class="w">·········</span><span·class="mi">8</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-17">[</span><span·class="w">·</span><span·class="mf">7.21</span><span·class="p"·data-group-id="2192316040-17">]</span><span·class="w">
253 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">handle_info</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">··················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">8</span><span·class="w">·········</span><span·class="mi">8</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-18">[</span><span·class="w">·</span><span·class="mf">7.21</span><span·class="p"·data-group-id="7614416729-18">]</span><span·class="w">253 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">handle_info</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">··················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">8</span><span·class="w">·········</span><span·class="mi">8</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-18">[</span><span·class="w">·</span><span·class="mf">7.21</span><span·class="p"·data-group-id="2192316040-18">]</span><span·class="w">
254 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">handle_call</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">··················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">9</span><span·class="w">·········</span><span·class="mi">9</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-19">[</span><span·class="w">·</span><span·class="mf">8.11</span><span·class="p"·data-group-id="7614416729-19">]</span><span·class="w">254 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">handle_call</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">··················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">9</span><span·class="w">·········</span><span·class="mi">9</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-19">[</span><span·class="w">·</span><span·class="mf">8.11</span><span·class="p"·data-group-id="2192316040-19">]</span><span·class="w">
255 </span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">7</span><span·class="w">·················</span><span·class="mi">2</span><span·class="w">······</span><span·class="mi">9</span><span·class="w">·········</span><span·class="mi">4</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-20">[</span><span·class="w">·</span><span·class="mf">8.11</span><span·class="p"·data-group-id="7614416729-20">]</span><span·class="w">255 </span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">7</span><span·class="w">·················</span><span·class="mi">2</span><span·class="w">······</span><span·class="mi">9</span><span·class="w">·········</span><span·class="mi">4</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-20">[</span><span·class="w">·</span><span·class="mf">8.11</span><span·class="p"·data-group-id="2192316040-20">]</span><span·class="w">
256 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="ss">lookup</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">······················</span><span·class="mi">2</span><span·class="w">·····</span><span·class="mi">10</span><span·class="w">·········</span><span·class="mi">5</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-21">[</span><span·class="w">·</span><span·class="mf">9.01</span><span·class="p"·data-group-id="7614416729-21">]</span><span·class="w">256 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="ss">lookup</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">······················</span><span·class="mi">2</span><span·class="w">·····</span><span·class="mi">10</span><span·class="w">·········</span><span·class="mi">5</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-21">[</span><span·class="w">·</span><span·class="mf">9.01</span><span·class="p"·data-group-id="2192316040-21">]</span><span·class="w">
257 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">join_local</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">···················</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">11</span><span·class="w">········</span><span·class="mi">11</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-22">[</span><span·class="w">·</span><span·class="mf">9.91</span><span·class="p"·data-group-id="7614416729-22">]</span><span·class="w">257 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">join_local</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">···················</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">11</span><span·class="w">········</span><span·class="mi">11</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-22">[</span><span·class="w">·</span><span·class="mf">9.91</span><span·class="p"·data-group-id="2192316040-22">]</span><span·class="w">
258 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">notify_group</span><span·class="p">/</span><span·class="mi">5</span><span·class="w">·················</span><span·class="mi">2</span><span·class="w">·····</span><span·class="mi">16</span><span·class="w">·········</span><span·class="mi">8</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-23">[</span><span·class="mf">14.41</span><span·class="p"·data-group-id="7614416729-23">]</span><span·class="w">258 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">notify_group</span><span·class="p">/</span><span·class="mi">5</span><span·class="w">·················</span><span·class="mi">2</span><span·class="w">·····</span><span·class="mi">16</span><span·class="w">·········</span><span·class="mi">8</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-23">[</span><span·class="mf">14.41</span><span·class="p"·data-group-id="2192316040-23">]</span><span·class="w">
259 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">setelement</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">···············</span><span·class="mi">2</span><span·class="w">·····</span><span·class="mi">16</span><span·class="w">·········</span><span·class="mi">8</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-24">[</span><span·class="mf">14.41</span><span·class="p"·data-group-id="7614416729-24">]</span><span·class="w">259 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">setelement</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">···············</span><span·class="mi">2</span><span·class="w">·····</span><span·class="mi">16</span><span·class="w">·········</span><span·class="mi">8</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-24">[</span><span·class="mf">14.41</span><span·class="p"·data-group-id="2192316040-24">]</span><span·class="w">
260 ·······································</span><span·class="mi">111</span><span·class="w">············</span><span·class="p"·data-group-id="7614416729-25">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="7614416729-25">]</span><span·class="w">260 ·······································</span><span·class="mi">111</span><span·class="w">············</span><span·class="p"·data-group-id="2192316040-25">[</span><span·class="mf">100.0</span><span·class="p"·data-group-id="2192316040-25">]</span><span·class="w">
  
261 </span><span·class="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.255</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">47.14</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">261 </span><span·class="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.255</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">47.14</span><span·class="w">·</span><span·class="c1">%·of·total·allocations·***</span><span·class="w">
262 </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="7614416729-26">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">262 </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="2192316040-26">[</span><span·class="w">····</span><span·class="c1">%]</span><span·class="w">
263 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">match_list</span><span·class="p">/</span><span·class="mi">6</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-27">[</span><span·class="w">·</span><span·class="mf">3.03</span><span·class="p"·data-group-id="7614416729-27">]</span><span·class="w">263 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">match_list</span><span·class="p">/</span><span·class="mi">6</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-27">[</span><span·class="w">·</span><span·class="mf">3.03</span><span·class="p"·data-group-id="2192316040-27">]</span><span·class="w">
264 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">monitor</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">···············</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-28">[</span><span·class="w">·</span><span·class="mf">3.03</span><span·class="p"·data-group-id="7614416729-28">]</span><span·class="w">264 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">monitor</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">···············</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">3</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-28">[</span><span·class="w">·</span><span·class="mf">3.03</span><span·class="p"·data-group-id="2192316040-28">]</span><span·class="w">
265 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="ss">reverse</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">················</span><span·class="mi">2</span><span·class="w">······</span><span·class="mi">4</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-29">[</span><span·class="w">·</span><span·class="mf">4.04</span><span·class="p"·data-group-id="7614416729-29">]</span><span·class="w">265 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="ss">reverse</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">················</span><span·class="mi">2</span><span·class="w">······</span><span·class="mi">4</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-29">[</span><span·class="w">·</span><span·class="mf">4.04</span><span·class="p"·data-group-id="2192316040-29">]</span><span·class="w">
266 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">join</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">······················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">4</span><span·class="w">·········</span><span·class="mi">4</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-30">[</span><span·class="w">·</span><span·class="mf">4.04</span><span·class="p"·data-group-id="7614416729-30">]</span><span·class="w">266 </span><span·class="nc">pg</span><span·class="p">:</span><span·class="ss">join</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">······················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">4</span><span·class="w">·········</span><span·class="mi">4</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-30">[</span><span·class="w">·</span><span·class="mf">4.04</span><span·class="p"·data-group-id="2192316040-30">]</span><span·class="w">
267 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">add_bindings</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">5</span><span·class="w">·········</span><span·class="mi">5</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-31">[</span><span·class="w">·</span><span·class="mf">5.05</span><span·class="p"·data-group-id="7614416729-31">]</span><span·class="w">267 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">add_bindings</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">········</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">5</span><span·class="w">·········</span><span·class="mi">5</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-31">[</span><span·class="w">·</span><span·class="mf">5.05</span><span·class="p"·data-group-id="2192316040-31">]</span><span·class="w">
268 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">do_apply</span><span·class="p">/</span><span·class="mi">7</span><span·class="w">············</span><span·class="mi">2</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-32">[</span><span·class="w">·</span><span·class="mf">6.06</span><span·class="p"·data-group-id="7614416729-32">]</span><span·class="w">268 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">do_apply</span><span·class="p">/</span><span·class="mi">7</span><span·class="w">············</span><span·class="mi">2</span><span·class="w">······</span><span·class="mi">6</span><span·class="w">·········</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-32">[</span><span·class="w">·</span><span·class="mf">6.06</span><span·class="p"·data-group-id="2192316040-32">]</span><span·class="w">
269 </span><span·class="nc">gen</span><span·class="p">:</span><span·class="ss">call</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">·····················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">8</span><span·class="w">·········</span><span·class="mi">8</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-33">[</span><span·class="w">·</span><span·class="mf">8.08</span><span·class="p"·data-group-id="7614416729-33">]</span><span·class="w">269 </span><span·class="nc">gen</span><span·class="p">:</span><span·class="ss">call</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">·····················</span><span·class="mi">1</span><span·class="w">······</span><span·class="mi">8</span><span·class="w">·········</span><span·class="mi">8</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-33">[</span><span·class="w">·</span><span·class="mf">8.08</span><span·class="p"·data-group-id="2192316040-33">]</span><span·class="w">
270 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">expr_list</span><span·class="p">/</span><span·class="mi">7</span><span·class="w">···········</span><span·class="mi">4</span><span·class="w">·····</span><span·class="mi">10</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-34">[</span><span·class="mf">10.10</span><span·class="p"·data-group-id="7614416729-34">]</span><span·class="w">270 </span><span·class="nc">erl_eval</span><span·class="p">:</span><span·class="ss">expr_list</span><span·class="p">/</span><span·class="mi">7</span><span·class="w">···········</span><span·class="mi">4</span><span·class="w">·····</span><span·class="mi">10</span><span·class="w">·········</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-34">[</span><span·class="mf">10.10</span><span·class="p"·data-group-id="2192316040-34">]</span><span·class="w">
271 </span><span·class="nc">gen</span><span·class="p">:</span><span·class="ss">do_call</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">··················</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">16</span><span·class="w">········</span><span·class="mi">16</span><span·class="w">··</span><span·class="p"·data-group-id="7614416729-35">[</span><span·class="mf">16.16</span><span·class="p"·data-group-id="7614416729-35">]</span><span·class="w">271 </span><span·class="nc">gen</span><span·class="p">:</span><span·class="ss">do_call</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">··················</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">16</span><span·class="w">········</span><span·class="mi">16</span><span·class="w">··</span><span·class="p"·data-group-id="2192316040-35">[</span><span·class="mf">16.16</span><span·class="p"·data-group-id="2192316040-35">]</span><span·class="w">
Max diff block lines reached; 54942/160641 bytes (34.20%) of diff not shown.
641 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.1/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3581 <p>Copyright·©·1996-2025·<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.1/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="2341522184-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="2341522184-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="0131521654-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="0131521654-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="2341522184-2">(</span><span·class="p"·data-group-id="2341522184-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="2341522184-3">]</span><span·class="p"·data-group-id="2341522184-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="0131521654-2">(</span><span·class="p"·data-group-id="0131521654-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="0131521654-3">]</span><span·class="p"·data-group-id="0131521654-2">)</span><span·class="p">.</span><span·class="w">
  
146 </span><span·class="nf">t</span><span·class="p"·data-group-id="2341522184-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="2341522184-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="0131521654-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="0131521654-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="2341522184-5">(</span><span·class="n">A</span><span·class="p"·data-group-id="2341522184-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="0131521654-5">(</span><span·class="n">A</span><span·class="p"·data-group-id="0131521654-5">)</span><span·class="p">.</span><span·class="w">
  
148 </span><span·class="nf">t2</span><span·class="p"·data-group-id="2341522184-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="2341522184-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="0131521654-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="0131521654-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="5251501802-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="5251501802-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="4013214721-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="4013214721-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="5251501802-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="5251501802-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="4013214721-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="4013214721-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="0770843417-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="0770843417-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="8574264897-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="8574264897-1">)</span><span·class="w">
157 </span><span·class="p"·data-group-id="0770843417-2">[</span><span·class="p"·data-group-id="0770843417-3">{</span><span·class="ss">deprecated</span><span·class="p">,</span><span·class="p"·data-group-id="0770843417-4">[</span><span·class="p"·data-group-id="0770843417-4">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·fca1745cd7faf7603f6230fd61a443c135c3ca4726a72e952bcfb8a8974c8ffb·...·]7-3">}</span><span·class="p">,</span><span·class="w">157 </span><span·class="p"·data-group-id="8574264897-2">[</span><span·class="p"·data-group-id="8574264897-3">{</span><span·class="ss">deprecated</span><span·class="p">,</span><span·class="p"·data-group-id="8574264897-4">[</span><span·class="p"·data-group-id="8574264897-4">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·bad1736c734666e91b9a8bac72db6be7aff32742f94fa8ed467a75967c5b6ead·...·]7-3">}</span><span·class="p">,</span><span·class="w">
158 ·</span><span·class="p"·data-group-id="0770843417-5">{</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="p"·data-group-id="0770843417-6">[</span><span·class="p"·data-group-id="0770843417-7">{</span><span·class="p"·data-group-id="0770843417-8">{</span><span·class="ss">m[·...·truncated·by·diffoscope;·len:·574,·SHA:·210457f61a470d4ac94b7a64e465aac0d5412c3dac537912a52260c8bb1bf04f·...·]7-5">}</span><span·class="p">,</span><span·class="w">158 ·</span><span·class="p"·data-group-id="8574264897-5">{</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="p"·data-group-id="8574264897-6">[</span><span·class="p"·data-group-id="8574264897-7">{</span><span·class="p"·data-group-id="8574264897-8">{</span><span·class="ss">m[·...·truncated·by·diffoscope;·len:·574,·SHA:·eec23124ce176f5b4ab6bfd623d4c1ddce0c23aa5c063c7a965fb6ee4b55fd77·...·]7-5">}</span><span·class="p">,</span><span·class="w">
159 ·</span><span·class="p"·data-group-id="0770843417-10">{</span><span·class="ss">unused</span><span·class="p">,</span><span·class="p"·data-group-id="0770843417-11">[</span><span·class="p"·data-group-id="0770843417-12">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="s[·...·truncated·by·diffoscope;·len:·263,·SHA:·65ff94d1161c2fe40355b3beb7f3d48f9f5c2575c584d5ea79b95e8fbbd7e5ab·...·]7-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="8574264897-10">{</span><span·class="ss">unused</span><span·class="p">,</span><span·class="p"·data-group-id="8574264897-11">[</span><span·class="p"·data-group-id="8574264897-12">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="s[·...·truncated·by·diffoscope;·len:·263,·SHA:·f9f9c4a9cd4303179b579941596463ea505841f32eee8771d5abbac75ff8f117·...·]7-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="8540404506-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="8540404506-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="6991681137-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="6991681137-1">)</span><span·class="p">.</span><span·class="w">
175 </span><span·class="p"·data-group-id="8540404506-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="8540404506-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="6991681137-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="6991681137-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="3834836426-1">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3834836426-2">[</span><span·class="p"·data-group-id="3834836426-3">{</span><span·class="ss">verbose</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·415,·SHA:·2abde33facb09cf2579031ddf59fe3411e5b737af537947e5beac5e679f0896f·...·]-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="5290061235-1">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5290061235-2">[</span><span·class="p"·data-group-id="5290061235-3">{</span><span·class="ss">verbose</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·415,·SHA:·19b46d10854db87e7ed5a59b0656709d8d9b77e10f558563425eb4bd5084fa6a·...·]-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="3834836426-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="3834836426-6">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·326,·SHA:·0719680a91ceff9606fe26b26987f1b8f2a2b450ce0aad93f491e9f824345118·...·]-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="5290061235-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="5290061235-6">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·326,·SHA:·af0224f1720ddec61029791aa83c969d38ecdf7b03b03267f56843d56e73ea28·...·]-5">)</span><span·class="p">.</span><span·class="w">
184 </span><span·class="p"·data-group-id="3834836426-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">otp</span><span·class="p"·data-group-id="3834836426-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="5290061235-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">otp</span><span·class="p"·data-group-id="5290061235-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.2.7/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.2.7/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="7960006082-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="7960006082-1">)</span><span·class="p">.</span><span·class="w"> 
187 </span><span·class="p"·data-group-id="7960006082-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7960006082-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</sp[·...·truncated·by·diffoscope;·len:·619,·SHA:·c04ffb2e6058e47166034f42a5bb2e31ad85f2e3a907a399dfc394c00525d2eb·...·]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">xre[·...·truncated·by·diffoscope;·len:·330,·SHA:·36f1f3240cf94e182ca30ccac3bc0bd16acc6efb60473fb56efd99bf053c1147·...·]
 187 </span><span·class="p"·data-group-id="1987626604-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1987626604-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1987626604-3">]</span><span·class="p"·data-group-id="1987626604-2">}</span></code></pre><p>We·can·now·continue·with·further·analyses,·or·we·can·delete·the·Xref·server:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2399473777-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="2399473777-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">analyze/2,3</a>·functions·for·a·complete·list·of·predefined190 the·<a·href="xref.html#analyze">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="8410324189-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="8410324189-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="8063368574-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="8063368574-1">)</span><span·class="p">.</span><span·class="w">
195 </span><span·class="p"·data-group-id="8410324189-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8410324189-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="8410324189-3">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·2a904f778bfc44a1aa2e144ffe3ff97b5ca4fdfe62572282426a367592a102bd·...·]-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="8063368574-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8063368574-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="8063368574-3">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·cda8f0d9ec4e8f471729dd950d926bd38e6c168b9bf652c0126a534a35c75745·...·]-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="4405015846-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="4405015846-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="2201897138-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="2201897138-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="4405015846-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="4405015846-3">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·7318dad47de11df5e68387c12ec154e50565a627a4c8564251534bcdc70ae76a·...·]-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="2201897138-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="2201897138-3">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·36595ab4b3a86c2ac975bef6566986876703b6bfff494311ce7acfcdd3f1ee02·...·]-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="1869772298-1">(</span><span·class="n">S</span><span·class="p"·data-group-id="1869772298-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="8016563990-1">(</span><span·class="n">S</span><span·class="p"·data-group-id="8016563990-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
272 ··</span><span·class="p"·data-group-id="1869772298-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="1869772298-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·285,·SHA:·f7c1d1ce8e09b9106a27d5f48c7eee08dbb41e4dcd2d89b12e0eb500ae891c2a·...·]-3">)</span><span·class="p">,</span><span·class="w">272 ··</span><span·class="p"·data-group-id="8016563990-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="8016563990-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·285,·SHA:·ed0cb559c59ce0be02ddad6ac51c101e2aaf3b238fd91d38fee71481152a9aee·...·]-3">)</span><span·class="p">,</span><span·class="w">
273 ··</span><span·class="p"·data-group-id="1869772298-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="1869772298-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·270,·SHA:·403c702e942cea35817fb5401c08a9161068365dde1b0c6985600ab6dbf8d4ed·...·]-5">)</span><span·class="p">,</span><span·class="w">273 ··</span><span·class="p"·data-group-id="8016563990-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="8016563990-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·270,·SHA:·3a7df54b664846009b7a6202355de229cca2f727902f18a9c05f7744323182ba·...·]-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="1869772298-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="1869772298-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="8016563990-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="8016563990-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="1869772298-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="1869772298-8">[</span><span·class="n">M</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·199d207405b0a825ab9a8373166e2f4c863d646b4c2d6294162db1bd8afd3c71·...·]-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="8016563990-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="8016563990-8">[</span><span·class="n">M</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·ef5ebd5aead7a1dd2fc66ccc27c5e4276402956824f1ce830b3445a61441cf03·...·]-7">)</span><span·class="p">,</span><span·class="w">
276 ······</span><span·class="p"·data-group-id="1869772298-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="1869772298-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·450,·SHA:·0ca5195099fc926b889bba53d33c5c88fb4271a3237249ee83c3605766edd51c·...·]-10">)</span><span·class="p">,</span><span·class="w">276 ······</span><span·class="p"·data-group-id="8016563990-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="8016563990-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·450,·SHA:·a6f6f609be1aa099b9885171a272dd00a01228d817c5f4f7096295260e2f5ec9·...·]-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="1869772298-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="1869772298-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="8016563990-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="8016563990-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="1869772298-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="1869772298-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="8016563990-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="8016563990-13">)</span><span·class="p">,</span><span·class="w">
281 ··</span><span·class="p"·data-group-id="1869772298-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="1869772298-14">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·291,·SHA:·f0eaf397cc0f4521b75790ea41290695193062710ade5e6776b0df6ba1a3ba93·...·]-15">)</span><span·class="p">,</span><span·class="w">281 ··</span><span·class="p"·data-group-id="8016563990-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="8016563990-14">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·291,·SHA:·a696585d7edc62cb33f08930007ea32b718b9fc7c1c01aacff5e75bb610eab36·...·]-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="1869772298-16">(</span><span·class="p"·data-group-id="1869772298-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="1869772298-17">)</span><[·...·truncated·by·diffoscope;·len:·138,·SHA:·3a4354328bc5579195d7d1f826d4b3838ad06f1ca8f321c8eead39bcd8765463·...·]-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="8016563990-16">(</span><span·class="p"·data-group-id="8016563990-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="8016563990-17">)</span><[·...·truncated·by·diffoscope;·len:·138,·SHA:·dfd0beaa17a66aa9e325ff62434528ff126b434a99f1cc5c513128a16bfe9b57·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>355 <p>Copyright·©·1996-2025·<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>
Max diff block lines reached; 40/42413 bytes (0.09%) of diff not shown.
775 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2419 <p>Copyright·©·1996-2025·<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.2 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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="2537709020-1">(</span><span·class="p"·data-group-id="2537709020-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="9615176577-1">(</span><span·class="p"·data-group-id="9615176577-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="2537709020-2">(</span><span·class="ss">wxVERTICAL</span><span·class="p"·data-group-id="2537709020-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="9615176577-2">(</span><span·class="ss">wxVERTICAL</span><span·class="p"·data-group-id="9615176577-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="0238728433-1">(</span><span·class="p"·data-group-id="0238728433-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="2848229052-1">(</span><span·class="p"·data-group-id="2848229052-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="0238728433-2">(</span><span·class="n">MyWin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0238728433-3">[</span><span·class="p"·data-group-id="0238728433-4">{</span><span·class="ss">dir</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·204,·SHA:·296df33b4dc658f29e4e095e3ed20c70cfce6fdf4df29549b1cb472b216d2296·...·]-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="2848229052-2">(</span><span·class="n">MyWin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2848229052-3">[</span><span·class="p"·data-group-id="2848229052-4">{</span><span·class="ss">dir</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·204,·SHA:·64c0f437a3e59213aa0a3d33d49bb81056e8687684b434759357d686c965637b·...·]-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="0238728433-5">(</span><span·class="n">MyWin</span><span·class="p"·data-group-id="0238728433-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="2848229052-5">(</span><span·class="n">MyWin</span><span·class="p"·data-group-id="2848229052-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-6.2.2/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-6.2.2/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="7508232617-1">(</span><span·class="p"·data-group-id="7508232617-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="0109059944-1">(</span><span·class="p"·data-group-id="0109059944-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="7508232617-2">(</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">null</span><span·class="p"·data-group-id="7508232617-3">(</span><span·class="p"·data-group-id="7508232617-3">)</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·309,·SHA:·aeac32cc7423788ddcdf32966bffeb77adf170c1bb3deba0083e4593a49cfd2e·...·]-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="0109059944-2">(</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">null</span><span·class="p"·data-group-id="0109059944-3">(</span><span·class="p"·data-group-id="0109059944-3">)</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·309,·SHA:·d2d001a3037fefaf9c933a602c79938dfedeab7f268f88db3b98ca1f8a3dace0·...·]-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="7508232617-5">(</span><span·class="p"·data-group-id="7508232617-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="0109059944-5">(</span><span·class="p"·data-group-id="0109059944-5">)</span><span·class="p">,</span><span·class="w">
201 ··</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7508232617-6">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7508232617-7">(</span><span·class="p"·data-group-id="7508232617-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="0109059944-6">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0109059944-7">(</span><span·class="p"·data-group-id="0109059944-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="7508232617-8">(</span><span·class="n">Env</span><span·class="p"·data-group-id="7508232617-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="0109059944-8">(</span><span·class="n">Env</span><span·class="p"·data-group-id="0109059944-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="7508232617-6">)</span><span·class="p">,</span><span·class="w">205 ········</span><span·class="k">end</span><span·class="p"·data-group-id="0109059944-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>309 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>39152 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1750 <p>Copyright·©·1996-2025·<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.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/doc/html/notes.html
    
Offset 1078, 15 lines modifiedOffset 1078, 15 lines modified
1078 ······<p·class="built-using">1078 ······<p·class="built-using">
1079 ········Built·using1079 ········Built·using
1080 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1080 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1081 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1081 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1082 ······</p>1082 ······</p>
1083 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1083 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1084 ····</footer>1084 ····</footer>
1085 ··</div>1085 ··</div>
1086 </main>1086 </main>
1087 </div>1087 </div>
1088 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1088 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1089 ··<script>1089 ··<script>
1090 ··let·initialized·=·false;1090 ··let·initialized·=·false;
744 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2025·<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.28 MB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/doc/html/wx.epub
39.3 KB
zipinfo {}
Max HTML report size reached
1.21 MB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1414 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>543 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>422 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>411 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>460 <p>Copyright·©·1996-2025·<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.66 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1414 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>789 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1370 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>542 <p>Copyright·©·1996-2025·<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.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3896 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>311 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>456 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1322 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>536 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>423 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>921 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>464 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>721 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>554 <p>Copyright·©·1996-2025·<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.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>399 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>896 <p>Copyright·©·1996-2025·<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.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1345 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1003 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>384 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>947 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>750 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>507 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>352 <p>Copyright·©·1996-2025·<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.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>641 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1313 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>318 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>772 <p>Copyright·©·1996-2025·<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.58 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>301 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>545 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>531 <p>Copyright·©·1996-2025·<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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>502 <p>Copyright·©·1996-2025·<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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>566 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>349 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1249 <p>Copyright·©·1996-2025·<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.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>669 <p>Copyright·©·1996-2025·<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.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>396 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>323 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1126 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>468 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3871 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>390 <p>Copyright·©·1996-2025·<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.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>257 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>341 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>575 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>926 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>520 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>574 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>680 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>294 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>425 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>351 <p>Copyright·©·1996-2025·<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.58 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>580 <p>Copyright·©·1996-2025·<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.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>649 <p>Copyright·©·1996-2025·<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.36 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>384 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>907 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>349 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>577 <p>Copyright·©·1996-2025·<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.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>565 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>513 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>820 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>357 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1162 <p>Copyright·©·1996-2025·<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.42 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>816 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>425 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>642 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>348 <p>Copyright·©·1996-2025·<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.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1239 <p>Copyright·©·1996-2025·<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.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>223 <p>Copyright·©·1996-2025·<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.61 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>433 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>529 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>446 <p>Copyright·©·1996-2025·<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.41 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>713 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1067 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>221 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2124 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>221 <p>Copyright·©·1996-2025·<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.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>603 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>691 <p>Copyright·©·1996-2025·<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.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1129 <p>Copyright·©·1996-2025·<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.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>221 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>686 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>8036 <p>Copyright·©·1996-2025·<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.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1119 <p>Copyright·©·1996-2025·<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.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1050 <p>Copyright·©·1996-2025·<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.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>425 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>309 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>384 <p>Copyright·©·1996-2025·<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.61 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>584 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>385 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>529 <p>Copyright·©·1996-2025·<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.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>419 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>309 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>334 <p>Copyright·©·1996-2025·<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.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>310 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>382 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>622 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>716 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>464 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>923 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>350 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1304 <p>Copyright·©·1996-2025·<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.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>435 <p>Copyright·©·1996-2025·<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.61 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>581 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>526 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3686 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>936 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>293 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>828 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>910 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>582 <p>Copyright·©·1996-2025·<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.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>798 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3113 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>806 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1217 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>670 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>570 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1312 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1314 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>312 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>639 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>396 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>799 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>461 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>296 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2145 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1395 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>433 <p>Copyright·©·1996-2025·<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.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1370 <p>Copyright·©·1996-2025·<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.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>390 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>485 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>312 <p>Copyright·©·1996-2025·<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.58 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>350 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>298 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1987 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>388 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>609 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>824 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>902 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>353 <p>Copyright·©·1996-2025·<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.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>428 <p>Copyright·©·1996-2025·<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.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1414 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>315 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>302 <p>Copyright·©·1996-2025·<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.4 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>610 <p>Copyright·©·1996-2025·<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.66 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>377 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>474 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>354 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>829 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>759 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>494 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>509 <p>Copyright·©·1996-2025·<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.58 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>220 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>504 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>505 <p>Copyright·©·1996-2025·<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.41 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1040 <p>Copyright·©·1996-2025·<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.62 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>422 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1215 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>992 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>695 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1186 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>480 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>379 <p>Copyright·©·1996-2025·<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.39 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1088 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>573 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1158 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2025·<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.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>665 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>764 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>312 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>778 <p>Copyright·©·1996-2025·<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.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>399 <p>Copyright·©·1996-2025·<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.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>390 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1040 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>499 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>386 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>473 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>395 <p>Copyright·©·1996-2025·<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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2247 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>718 <p>Copyright·©·1996-2025·<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.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1616 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>915 <p>Copyright·©·1996-2025·<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.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>670 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>720 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>383 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>501 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1300 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>555 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>482 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>391 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>551 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>612 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1054 <p>Copyright·©·1996-2025·<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.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>502 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>16759 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1177 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>298 <p>Copyright·©·1996-2025·<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.43 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>468 <p>Copyright·©·1996-2025·<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.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>427 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>506 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>290 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1767 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2415 <p>Copyright·©·1996-2025·<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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>468 <p>Copyright·©·1996-2025·<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.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>464 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>556 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1985 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>490 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1314 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1100 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3496 <p>Copyright·©·1996-2025·<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.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>615 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1496 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>991 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2234 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>471 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>7840 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>294 <p>Copyright·©·1996-2025·<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.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>313 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>295 <p>Copyright·©·1996-2025·<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.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1422 <p>Copyright·©·1996-2025·<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.4.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1307 <p>Copyright·©·1996-2025·<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.4.3/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="7499918159-1">(</span><span·class="ss">myDialog</span><span·class="p"·data-group-id="7499918159-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="1227023456-1">(</span><span·class="ss">myDialog</span><span·class="p"·data-group-id="1227023456-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="7499918159-2">(</span><span·class="p"·data-group-id="7499918159-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:·8f97cf2a6a6518e0f4b4d6096e2f3a217da29b20b074b2868c4910f05faafd0f·...·]-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="1227023456-2">(</span><span·class="p"·data-group-id="1227023456-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:·f6d9da588601daeb82a38fecc6b79b1652ca25cc62299df6cdaa1e9f87e97a6f·...·]-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="7499918159-4">(</span><span·class="p"·data-group-id="7499918159-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="1227023456-4">(</span><span·class="p"·data-group-id="1227023456-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="7499918159-5">]</span><span·class="p"·data-group-id="7499918159-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="1227023456-5">]</span><span·class="p"·data-group-id="1227023456-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="7499918159-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="7499918159-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="1227023456-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="1227023456-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="7499918159-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="7499918159-8">[</span><span·class="n">Parent</span><span·class="p">,</span><span·class="n">Id</span><s[·...·truncated·by·diffoscope;·len:·246,·SHA:·0ea435c0b55c77dea1fdb7053fb2f4852baaccdfffd5154a108788fd6e1011a2·...·]-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="1227023456-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="1227023456-8">[</span><span·class="n">Parent</span><span·class="p">,</span><span·class="n">Id</span><s[·...·truncated·by·diffoscope;·len:·246,·SHA:·5aa312dec7636a3e143638026344e970633d56c24ed4fd8b336ff70e7059e60b·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
147 ··</span><span·class="nf">show</span><span·class="p"·data-group-id="7499918159-10">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="7499918159-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="1227023456-10">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="1227023456-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="7499918159-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="7499918159-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="1227023456-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="1227023456-11">)</span><span·class="p">.</span><span·class="w">
  
149 ··</span><span·class="nf">destroy</span><span·class="p"·data-group-id="7499918159-12">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="7499918159-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="1227023456-12">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="1227023456-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="7499918159-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="7499918159-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="1227023456-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="1227023456-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="7499918159-14">(</span><span·class="p"·data-group-id="7499918159-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="7499918159-15">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·05384f1ce7fad6da7e35953b7a055678db75ceca386c55fd35133fd13577b9fe·...·]-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="1227023456-14">(</span><span·class="p"·data-group-id="1227023456-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="1227023456-15">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·8d695c4c540fd4a54d1d5e6761862354efe3f4f752a590fcb2f56ab83085237f·...·]-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="7499918159-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:·fc0a40f0d5c7aaebb6e78418726fefe94ac1c825c9bea9461835035d7eba8b5c·...·]-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="1227023456-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:·7741386df79e705a7ca685a215f5129af4527454f1a1d977701fbd4bbc7a8fca·...·]-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="7499918159-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="7499918159-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="1227023456-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="1227023456-18">)</span><span·class="p">,</span><span·class="w">
156 ·····</span><span·class="p"·data-group-id="7499918159-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="7499918159-19">}</span><span·class="p">.</span><span·class="w">156 ·····</span><span·class="p"·data-group-id="1227023456-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="1227023456-19">}</span><span·class="p">.</span><span·class="w">
  
157 ··</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="7499918159-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:·a3ccd438a3afe0b3003d659f912cb129a15661efa053b9db73f133f19dbd557c·...·]-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="1227023456-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:·260826dd4a6effa243400146047640628ead9c477aefe0765ebc9886096b5090·...·]-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="7499918159-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="7499918159-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="1227023456-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="1227023456-21">)</span><span·class="p">,</span><span·class="w">
159 ·····</span><span·class="p"·data-group-id="7499918159-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="7499918159-22">}</span><span·class="p">;</span><span·class="w">159 ·····</span><span·class="p"·data-group-id="1227023456-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="1227023456-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="7499918159-23">(</span><span·class="o">#</span><span·class="ss">wx</span><span·class="p"·data-group-id="7499918159-24">{</span><span·class="p"·data-group-id="7499918159-24">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·561db24cbbeb415fc8218548c3f359e8993118bc3e45e67e09394db03ad6e8c1·...·]-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="1227023456-23">(</span><span·class="o">#</span><span·class="ss">wx</span><span·class="p"·data-group-id="1227023456-24">{</span><span·class="p"·data-group-id="1227023456-24">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·b9902101239860a078f3fc590678eb51b9125a223fa7b281aa6466e30a94643b·...·]-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="7499918159-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="7499918159-26">[</span><span·class="p"·data-group-id="7499918159-26">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·660a5c9a308dd509c496650990b714fcd536a9b60c278097aab191a856c485a3·...·]-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="1227023456-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="1227023456-26">[</span><span·class="p"·data-group-id="1227023456-26">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·383e3ef0fb37d8418723d87500c1e801350d8e79dd4ad3dbf38d7c610071ddeb·...·]-25">)</span><span·class="p">,</span><span·class="w">
163 ·····</span><span·class="p"·data-group-id="7499918159-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="7499918159-27">}</span><span·class="p">;</span><span·class="w">163 ·····</span><span·class="p"·data-group-id="1227023456-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="1227023456-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1324 <p>Copyright·©·1996-2025·<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
628 B
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.3/doc/html/.build
    
Offset 26, 15 lines modifiedOffset 26, 15 lines modified
26 dist/lato-latin-300-normal-YUMVEFOL.woff226 dist/lato-latin-300-normal-YUMVEFOL.woff2
27 dist/lato-latin-400-normal-W7754I4D.woff227 dist/lato-latin-400-normal-W7754I4D.woff2
28 dist/lato-latin-700-normal-2XVSBPG4.woff228 dist/lato-latin-700-normal-2XVSBPG4.woff2
29 dist/lato-latin-ext-300-normal-VPGGJKJL.woff229 dist/lato-latin-ext-300-normal-VPGGJKJL.woff2
30 dist/lato-latin-ext-400-normal-N27NCBWW.woff230 dist/lato-latin-ext-400-normal-N27NCBWW.woff2
31 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff231 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
32 dist/remixicon-NKANDIL5.woff232 dist/remixicon-NKANDIL5.woff2
33 dist/search_data-858AE55F.js33 dist/search_data-D5ABE7FE.js
34 dist/sidebar_items-328F15F8.js34 dist/sidebar_items-328F15F8.js
35 index.html35 index.html
36 notes.html36 notes.html
37 search.html37 search.html
38 xmerl.html38 xmerl.html
39 xmerl_eventp.html39 xmerl_eventp.html
40 xmerl_examples.html40 xmerl_examples.html
1.4 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>144 <p>Copyright·©·1996-2025·<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.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>236 <p>Copyright·©·1996-2025·<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.3/doc/html/notes.html
    
Offset 1371, 15 lines modifiedOffset 1371, 15 lines modified
1371 ······<p·class="built-using">1371 ······<p·class="built-using">
1372 ········Built·using1372 ········Built·using
1373 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1373 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1374 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1374 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1375 ······</p>1375 ······</p>
1376 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1376 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1377 ····</footer>1377 ····</footer>
1378 ··</div>1378 ··</div>
1379 </main>1379 </main>
1380 </div>1380 </div>
1381 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1381 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1382 ··<script>1382 ··<script>
1383 ··let·initialized·=·false;1383 ··let·initialized·=·false;
564 B
html2text {}
Max HTML report size reached
1.68 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.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-858AE55F.js"></script>124 <script·src="dist/search_data-D5ABE7FE.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 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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>142 <p>Copyright·©·1996-2025·<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.3/doc/html/xmerl.html
    
Offset 1087, 15 lines modifiedOffset 1087, 15 lines modified
1087 ······<p·class="built-using">1087 ······<p·class="built-using">
1088 ········Built·using1088 ········Built·using
1089 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1089 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1090 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1090 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1091 ······</p>1091 ······</p>
1092 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1092 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1093 ····</footer>1093 ····</footer>
1094 ··</div>1094 ··</div>
1095 </main>1095 </main>
1096 </div>1096 </div>
1097 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1097 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1098 ··<script>1098 ··<script>
1099 ··let·initialized·=·false;1099 ··let·initialized·=·false;
713 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>543 <p>Copyright·©·1996-2025·<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.3/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="9437167362-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="9437167362-2">(</span><span·class="p"·data-group-id="9437167362-2">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·494,·SHA:·262dd993d1d1159478634a958dbf2e65b726b8ce8195a0a0e233a510e9aad145·...·]-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="6008735178-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="6008735178-2">(</span><span·class="p"·data-group-id="6008735178-2">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·494,·SHA:·16db769e44fb6c304b1a621da4c035250514c2fd1d6e8730571e0fddabe8338f·...·]-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="9557196757-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="9557196757-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="3864003005-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="3864003005-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="9557196757-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="9557196757-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="3864003005-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="3864003005-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="9557196757-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="9557196757-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="3864003005-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="3864003005-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="9557196757-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="9557196757-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="3864003005-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="3864003005-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="3792519114-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="3792519114-2">(</span><span·class="p"·data-group-id="3792519114-2">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·490,·SHA:·f977e59cdb9e9bad3cae3e9e89a1b65ba88edc5d2504c4599c7bf7c457ae5153·...·]-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="3328605289-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="3328605289-2">(</span><span·class="p"·data-group-id="3328605289-2">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·490,·SHA:·09c70b4c4e94cc24e57bbcc3e3fe25f5ef7b212ef4d14a8e6f5f64b59c513b4c·...·]-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="4147495758-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="4147495758-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="1306477543-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="1306477543-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="4147495758-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="4147495758-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="1306477543-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="1306477543-2">)</span><span·class="p">,</span><span·class="w">
157 ···</span><span·class="p"·data-group-id="4147495758-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="4147495758-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class=[·...·truncated·by·diffoscope;·len:·242,·SHA:·7bdf0e90f6a312c032a08e0ca21382501da15f4fab197c49ee6ea207c42c12f0·...·]-4">)</span><span·class="p">,</span><span·class="w">157 ···</span><span·class="p"·data-group-id="1306477543-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="1306477543-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class=[·...·truncated·by·diffoscope;·len:·242,·SHA:·57b4efb2877a7829e66fd8c45445163a538e2f682f6e244b9c0e40d7567b459f·...·]-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="4147495758-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="4147495758-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="1306477543-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="1306477543-5">)</span><span·class="p">,</span><span·class="w">
159 ···</span><span·class="p"·data-group-id="4147495758-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="4147495758-6">}</span><span·class="w">159 ···</span><span·class="p"·data-group-id="1306477543-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="1306477543-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="6517665985-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="6517665985-2">(</span><span·class="p"·data-group-id="6517665985-2">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·493,·SHA:·4dbe56b7b1e39487aa5a2ef40405df09df0438856c5caf45c0f613df8e68913c·...·]5-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="8420825795-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="8420825795-2">(</span><span·class="p"·data-group-id="8420825795-2">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·493,·SHA:·0d1a7556312922f8ee6d7fb46a3593667443940c42d0e8ae4e8aa4bb9932d7c4·...·]5-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="0719204578-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0719204578-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:·668f43bc980230ecfa34a5b9212e4a02eb1af7f3e9002837e5b28a5b913694f4·...·]-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">165 ···</span><span·class="p"·data-group-id="6051576917-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6051576917-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:·26f10e3e0a2606fd51faf96471c459a177f24f390536d1a80d2e0aed2c522d75·...·]-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
166 ···</span><span·class="p"·data-group-id="0719204578-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0719204578-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:·e61f5c1c20e928460a327a4316b5d743dca1228a2bef5cbd991b031dba5052a2·...·]-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">166 ···</span><span·class="p"·data-group-id="6051576917-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6051576917-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:·3f18dfc61e40d2b5383ad8af44a546de37517be6f6b0db33fa998d3f546373d3·...·]-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
167 ···</span><span·class="p"·data-group-id="0719204578-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="071920457[·...·truncated·by·diffoscope;·len:·331,·SHA:·33e1927f5b186234755439e5ca0cd2f4021146d5953abcc686197bb071dff86d·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">167 ···</span><span·class="p"·data-group-id="6051576917-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="605157691[·...·truncated·by·diffoscope;·len:·331,·SHA:·a1c3efd636119c728496db7b705feca9c62b254ac1dadcc5396ed8db02a4c501·...·]-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="2695947798-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="2695947798-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="4645577856-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="4645577856-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="2695947798-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="2695947798-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="4645577856-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="4645577856-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="1837810266-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="1837810266-2">(</span><span·class="p"·data-group-id="1837810266-2">)</span><span·class="[·...·truncated·by·diffoscope;·len:·515,·SHA:·c0e39c2eec888aff3ea9c6faf5404a2d8efd9c9263749fca1a8a1a271296cec7·...·]-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="3822202675-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="3822202675-2">(</span><span·class="p"·data-group-id="3822202675-2">)</span><span·class="[·...·truncated·by·diffoscope;·len:·515,·SHA:·a917754ff3e64a3cf0d8b8715a9c919a2129d8f667dda0e8e47984d22b45e2a8·...·]-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="7731672142-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="7731672142-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="2301750651-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="2301750651-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="7731672142-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="7731672142-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="2301750651-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="2301750651-2">)</span><span·class="p">,</span><span·class="w">
173 ···</span><span·class="p"·data-group-id="7731672142-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="7731672142-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·165,·SHA:·82a90fd6053a7e48b8bdbee1687fa99cc5b6370ac0c5cadcf26ee3703807add8·...·]-4">)</span><span·class="p">,</span><span·class="w">173 ···</span><span·class="p"·data-group-id="2301750651-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="2301750651-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·165,·SHA:·0a0b59375b9b3bfdbf7237452206e8d9d735148f3cee59ddb4eab1ab3bf240c1·...·]-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="7731672142-5">[</span><span·class="p"·data-group-id="7731672142-5">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 ······</span><span·class="p"·data-group-id="2301750651-5">[</span><span·class="p"·data-group-id="2301750651-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="7731672142-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="7731672142-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="2301750651-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="2301750651-6">)</span><span·class="p">,</span><span·class="w">
177 ·········</span><span·class="n">Exception</span><span·class="p"·data-group-id="7731672142-7">(</span><span·class="n">GlobalState2</span><span·class="p"·data-group-id="7731672142-7">)</span><span·class="p">;</span><span·class="w">177 ·········</span><span·class="n">Exception</span><span·class="p"·data-group-id="2301750651-7">(</span><span·class="n">GlobalState2</span><span·class="p"·data-group-id="2301750651-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="7731672142-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="7731672142-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·171,·SHA:·66d610a223133a15674dc57e601a2d094a7de4c773c8b507491beae31534eddf·...·]-9">)</span><span·class="p">,</span><span·class="w">179 ·········</span><span·class="p"·data-group-id="2301750651-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="2301750651-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·171,·SHA:·aad32ccdfc949f53f8d5deed014264a63357b67990a209e8d7e9c1a30013e99b·...·]-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="7731672142-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="7731672142-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="2301750651-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="2301750651-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="7731672142-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="7731672142-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="2301750651-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="2301750651-11">)</span><span·class="p">,</span><span·class="w">
182 ·········</span><span·class="n">Continue</span><span·class="p"·data-group-id="7731672142-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="7731672142-12">)</span><span·class="w">182 ·········</span><span·class="n">Continue</span><span·class="p"·data-group-id="2301750651-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="2301750651-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="0677385105-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="0677385105-2">(</span><span·class="p"·data-group-id="0677385105-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="0677385105-3">(</span><span·class="p"·data-group-id="0677385105-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RulesState</span><span·class="p"·data-group-id="0677385105-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w"> 
185 </span><span·class="p"·data-group-id="0677385105-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:·13e807cb8eda7264cdb17dae00bb2fe7345da75f83917fa236311a0ab4df432c·...·]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="0468307934-1">{</span><span·class="ss">rules</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·717,·SHA:·295f6995a9b67ba516792a9240da64a9018fb41fcf6a033e4a8fea30baf8fc95·...·]
 185 </span><span·class="p"·data-group-id="0468307934-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="0468307934-5">(</span><span·class="p"·data-group-id="0468307934-5">)</span><span·class="p"·data-group-id="0468307934-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="1031013102-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:·76,·SHA:·0fc5eb6867770ff3b1c6f030e8c1e0195b933fd01877f6139cd978a3fba05564·...·]-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="9861278354-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:·76,·SHA:·59c3b9f02309562eb9a4cb2433df168b25a726daaf8ae6cb3ab9de43171def17·...·]-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="1031013102-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="1031013102-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="9861278354-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="9861278354-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="5210034604-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="5210034604-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="8475070590-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="8475070590-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="5210034604-2">[</span><span·class="n">Elem</span><span·class="p"·data-group-id="5210034604-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="8475070590-2">[</span><span·class="n">Elem</span><span·class="p"·data-group-id="8475070590-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="5210034604-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="5210034604-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="8475070590-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="8475070590-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="7081785880-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="7081785880-2">(</span><span·class="p"·data-group-id="7081785880-2">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·3ab4d4f2ad5d979f7490795d6b6c4dd738a1adfaf1ce780ed8e9d4ed9ef10b15·...·]-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="1475705643-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="1475705643-2">(</span><span·class="p"·data-group-id="1475705643-2">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·0b75dd505a7c58acf339ecebce1f2e5668ec84aa26ad47b4cf80797f87ee3d7e·...·]-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="0608457651-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="0608457651-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="7379004825-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="7379004825-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ···</span><span·class="p"·data-group-id="0608457651-2">{</span><span·class="p"·data-group-id="0608457651-3">[</span><span·class="n">ParsedEntity</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="0608457651-3">]</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·80,·SHA:·bfd3233393d00c2ee658fa98098c56bec6216f15ae893a192347b8285cbb3605·...·]-2">}</span><span·class="p">.</span><span·class="w">206 ···</span><span·class="p"·data-group-id="7379004825-2">{</span><span·class="p"·data-group-id="7379004825-3">[</span><span·class="n">ParsedEntity</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="7379004825-3">]</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·80,·SHA:·2570173bd03c0202f0a2dc5a68db609d738cccc549019c93faaed50c51e31c2e·...·]-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="0608457651-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="0608457651-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="7379004825-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="7379004825-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ···</span><span·class="p"·data-group-id="0608457651-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="0608457651-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="7379004825-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="7379004825-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="5232345594-1">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="5232345594-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="6033726914-1">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="6033726914-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="9717704530-1">(</span><span·class="ss">tmp</span><span·class="p"·data-group-id="9717704530-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="7210218099-1">(</span><span·class="ss">tmp</span><span·class="p"·data-group-id="7210218099-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="9717704530-2">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="9717704530-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="7210218099-2">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="7210218099-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="9717704530-3">(</span><span·class="p"·data-group-id="9717704530-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:·243,·SHA:·4ced2e941b6ea3c2190e8bc93f055b2a60d48067e89bf2e28502ada3e3315fc3·...·]-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="7210218099-3">(</span><span·class="p"·data-group-id="7210218099-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:·243,·SHA:·98374efcf2eeff75f03f885b757170928b2cc35478b4db409d9ca4092755e5ff·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
226 </span><span·class="nf">file1</span><span·class="p"·data-group-id="9717704530-5">(</span><span·class="n">F</span><span·class="p"·data-group-id="9717704530-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:·123,·SHA:·26018b3f5dbcab957346f7b232204efa91fc0cb5683fc2aeeb0d2bf689bb1698·...·]-6">)</span><span·class="p">.</span><span·class="w">226 </span><span·class="nf">file1</span><span·class="p"·data-group-id="7210218099-5">(</span><span·class="n">F</span><span·class="p"·data-group-id="7210218099-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:·123,·SHA:·d35871674d2ecd04cd5658bb2ceab38c7f882184d7fe02b6d0ab5a6013b14698·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
227 </span><span·class="nf">file2</span><span·class="p"·data-group-id="9717704530-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="9717704530-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:·471,·SHA:·c05b2b36f5a5768b8bc3c43aa0581db7068a20cd6874424c6db7e41d5aaf1046·...·]-8">)</span><span·class="p">.</span><span·class="w">227 </span><span·class="nf">file2</span><span·class="p"·data-group-id="7210218099-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="7210218099-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:·471,·SHA:·f921c76e920c017e8fa12c366f2a276e7006e1b5330bc0af439ab9d3d0260584·...·]-8">)</span><span·class="p">.</span><span·class="w">
  
228 </span><span·class="nf">file3</span><span·class="p"·data-group-id="9717704530-11">(</span><span·class="n">F</span><span·class="p"·data-group-id="9717704530-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:·888,·SHA:·dbfb9bbe0f3078524d16cba4c3eed4442f5ebbd647a222dca66bb7d1a64aa08c·...·]-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="7210218099-11">(</span><span·class="n">F</span><span·class="p"·data-group-id="7210218099-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:·888,·SHA:·ef73fd1dfa75300f3a4db26c95519bc4c8d5843f0bce1a6f56a3b7f1f3a89132·...·]-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="9717704530-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="7210218099-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="9717704530-15">[</span><span·class="p"·data-group-id="9717704530-16">{</span><span·class="ss">space</span><span·class="p">,</span><span·class="ss">normalize</span><span·class="p"·data-group-id="9717704530-16">}</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·263,·SHA:·320ac1049f413f2646a38a9801ecec934c540912b73284aaaa4fdd0ab4ddcb0f·...·]-15">]</span><span·class="p">)</span><span·class="p">.</span></code></pre>230 </span><span·class="p"·data-group-id="7210218099-15">[</span><span·class="p"·data-group-id="7210218099-16">{</span><span·class="ss">space</span><span·class="p">,</span><span·class="ss">normalize</span><span·class="p"·data-group-id="7210218099-16">}</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·263,·SHA:·01467503e3282a8c51620f3ed2d6b51d1607159e0c8d6a5dbef8440a18ad622d·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>279 <p>Copyright·©·1996-2025·<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.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>776 <p>Copyright·©·1996-2025·<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.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1104 <p>Copyright·©·1996-2025·<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.3/doc/html/xmerl_ug.html
    
Offset 189, 24 lines modifiedOffset 189, 24 lines modified
189 first·element·in·each·tuple·is·the·name·of·the·parent·element.·The·list·is·in189 first·element·in·each·tuple·is·the·name·of·the·parent·element.·The·list·is·in
190 reverse·order.</p><p>The·record·<code·class="inline">#xmlAttribute{}</code>·holds·the·name·and·value·of·an·attribute190 reverse·order.</p><p>The·record·<code·class="inline">#xmlAttribute{}</code>·holds·the·name·and·value·of·an·attribute
191 in·the·fields·<code·class="inline">name</code>·and·<code·class="inline">value</code>.·All·attributes·of·an·element·is·a·list·of191 in·the·fields·<code·class="inline">name</code>·and·<code·class="inline">value</code>.·All·attributes·of·an·element·is·a·list·of
192 <code·class="inline">#xmlAttribute{}</code>·in·the·field·<code·class="inline">attributes</code>·of·the·<code·class="inline">#xmlElement{}</code>·record.</p><p>The·<code·class="inline">content</code>·field·of·the·top·element·is·a·list·of·records·that·shows·the192 <code·class="inline">#xmlAttribute{}</code>·in·the·field·<code·class="inline">attributes</code>·of·the·<code·class="inline">#xmlElement{}</code>·record.</p><p>The·<code·class="inline">content</code>·field·of·the·top·element·is·a·list·of·records·that·shows·the
193 structure·and·data·of·the·document.·If·it·is·a·simple·document·like:</p><pre><code·class="text">&lt;?xml·version=&quot;1.0&quot;?&gt;193 structure·and·data·of·the·document.·If·it·is·a·simple·document·like:</p><pre><code·class="text">&lt;?xml·version=&quot;1.0&quot;?&gt;
194 &lt;dog&gt;194 &lt;dog&gt;
195 Grand·Danois195 Grand·Danois
196 &lt;/dog&gt;</code></pre><p>The·parse·result·will·be:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="9769997124-1">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">dog</span><span·class="p">,</span><span·class="w">196 &lt;/dog&gt;</code></pre><p>The·parse·result·will·be:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="5777392416-1">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">dog</span><span·class="p">,</span><span·class="w">
197 ············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">197 ············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
198 ············</span><span·class="ss">parents</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9769997124-2">[</span><span·class="p"·data-group-id="9769997124-2">]</span><span·class="p">,</span><span·class="w">198 ············</span><span·class="ss">parents</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5777392416-2">[</span><span·class="p"·data-group-id="5777392416-2">]</span><span·class="p">,</span><span·class="w">
199 ············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">199 ············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
200 ············</span><span·class="ss">attributes</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9769997124-3">[</span><span·class="p"·data-group-id="9769997124-3">]</span><span·class="p">,</span><span·class="w">200 ············</span><span·class="ss">attributes</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5777392416-3">[</span><span·class="p"·data-group-id="5777392416-3">]</span><span·class="p">,</span><span·class="w">
201 ············</span><span·class="ss">content</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9769997124-4">[</span><span·class="p"·data-group-id="9769997124-5">{</span><span·class="ss">xmlText</span><span·class="p">,</span><span·class="p"·data-group-id="9769997124-6">[</span><span·class="p"·data-group-id="9769997124-7">{</span><span·class="ss">dog[·...·truncated·by·diffoscope;·len:·329,·SHA:·c1330fd2ee66ed3ea5df1d807c892a96e0515f7d7cef7d811d92b26eea5e5c60·...·]-8">]</span><span·class="p">,</span><span·class="s">&quot;\201 ············</span><span·class="ss">content</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5777392416-4">[</span><span·class="p"·data-group-id="5777392416-5">{</span><span·class="ss">xmlText</span><span·class="p">,</span><span·class="p"·data-group-id="5777392416-6">[</span><span·class="p"·data-group-id="5777392416-7">{</span><span·class="ss">dog[·...·truncated·by·diffoscope;·len:·329,·SHA:·a01e0c57b282b8a05d655fece05fc216bf615bf63692c96b52a08b40bd7f3100·...·]-8">]</span><span·class="p">,</span><span·class="s">&quot;\
202 Grand·Danois\202 Grand·Danois\
203 &quot;</span><span·class="p">,</span><span·class="ss">text</span><span·class="p"·data-group-id="9769997124-5">}</span><span·class="p"·data-group-id="9769997124-4">]</span><span·class="p">,</span><span·class="w">203 &quot;</span><span·class="p">,</span><span·class="ss">text</span><span·class="p"·data-group-id="5777392416-5">}</span><span·class="p"·data-group-id="5777392416-4">]</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">204 ············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
205 ············</span><span·class="p"·data-group-id="9769997124-1">}</span></code></pre><p>Where·the·content·of·the·top·element·is:205 ············</span><span·class="p"·data-group-id="5777392416-1">}</span></code></pre><p>Where·the·content·of·the·top·element·is:
206 <code·class="inline">[{xmlText,[{dog,1}],1,[],&quot;\·Grand·Danois\·&quot;,text}]</code>.·Text·will·be·returned·in206 <code·class="inline">[{xmlText,[{dog,1}],1,[],&quot;\·Grand·Danois\·&quot;,text}]</code>.·Text·will·be·returned·in
207 <code·class="inline">xmlText</code>·records.·Though,·usually·documents·are·more·complex,·and·the·content207 <code·class="inline">xmlText</code>·records.·Though,·usually·documents·are·more·complex,·and·the·content
208 of·the·top·element·will·in·that·case·be·a·nested·structure·with·<code·class="inline">#xmlElement{}</code>208 of·the·top·element·will·in·that·case·be·a·nested·structure·with·<code·class="inline">#xmlElement{}</code>
209 records·that·in·turn·may·have·complex·content.·All·of·this·reflects·the209 records·that·in·turn·may·have·complex·content.·All·of·this·reflects·the
210 structure·of·the·XML·document.</p><p>Space·characters·between·mark-up·as·<code·class="inline">space</code>,·<code·class="inline">tab</code>·and·<code·class="inline">line·feed</code>·are210 structure·of·the·XML·document.</p><p>Space·characters·between·mark-up·as·<code·class="inline">space</code>,·<code·class="inline">tab</code>·and·<code·class="inline">line·feed</code>·are
211 normalized·and·returned·as·xmlText·records.</p><h3·id="errors"·class="section-heading">211 normalized·and·returned·as·xmlText·records.</p><h3·id="errors"·class="section-heading">
212 ··<a·href="#errors"·class="hover-link">212 ··<a·href="#errors"·class="hover-link">
Offset 267, 49 lines modifiedOffset 267, 49 lines modified
  
267 &lt;!--·Date·of·the·format·yyyy.mm.dd·--&gt;267 &lt;!--·Date·of·the·format·yyyy.mm.dd·--&gt;
268 &lt;!ELEMENT·date··············(#PCDATA)&gt;268 &lt;!ELEMENT·date··············(#PCDATA)&gt;
269 &lt;!ATTLIST··bike·year·NMTOKEN·#REQUIRED269 &lt;!ATTLIST··bike·year·NMTOKEN·#REQUIRED
270 ················color·NMTOKENS·#REQUIRED270 ················color·NMTOKENS·#REQUIRED
271 ················condition·(useless·|·bad·|·serviceable·|·moderate·|·good·|271 ················condition·(useless·|·bad·|·serviceable·|·moderate·|·good·|
272 ···························excellent·|·new·|·outstanding)·&quot;excellent&quot;·&gt;</code></pre><p>If·you·want·to·parse·the·XML·file·motorcycles.xml·you·run·it·in·the·Erlang·shell272 ···························excellent·|·new·|·outstanding)·&quot;excellent&quot;·&gt;</code></pre><p>If·you·want·to·parse·the·XML·file·motorcycles.xml·you·run·it·in·the·Erlang·shell
273 like:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="p"·data-group-id="1674122928-1">{</span><span·class="n">ParseResult</span><span·class="p">,</span><span·class="n">Misc</span><span·class="p"·data-group-id="1674122928-1">}</span><span·class="o">=</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="n[·...·truncated·by·diffoscope;·len:·158,·SHA:·97c63efa85fb72cce0357907c2dfda26d105cc15daf23e444a1b4b1ba6988e57·...·]-2">)</span><span·class="p">.</span><span·class="w">273 like:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="p"·data-group-id="9308148019-1">{</span><span·class="n">ParseResult</span><span·class="p">,</span><span·class="n">Misc</span><span·class="p"·data-group-id="9308148019-1">}</span><span·class="o">=</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="n[·...·truncated·by·diffoscope;·len:·158,·SHA:·93ec49dcbe4f25f10f03d3fc27d065d15feab0bbe2f83163fa7c7be600dd7329·...·]-2">)</span><span·class="p">.</span><span·class="w">
274 </span><span·class="p"·data-group-id="1674122928-3">{</span><span·class="p"·data-group-id="1674122928-4">{</span><span·class="ss">xmlElement</span><span·class="p">,</span><span·class="ss">motorcycles</span><span·class="p">,</span><span·class="w">274 </span><span·class="p"·data-group-id="9308148019-3">{</span><span·class="p"·data-group-id="9308148019-4">{</span><span·class="ss">xmlElement</span><span·class="p">,</span><span·class="ss">motorcycles</span><span·class="p">,</span><span·class="w">
275 ·············</span><span·class="ss">motorcycles</span><span·class="p">,</span><span·class="w">275 ·············</span><span·class="ss">motorcycles</span><span·class="p">,</span><span·class="w">
276 ·············</span><span·class="p"·data-group-id="1674122928-5">[</span><span·class="p"·data-group-id="1674122928-5">]</span><span·class="p">,</span><span·class="w">276 ·············</span><span·class="p"·data-group-id="9308148019-5">[</span><span·class="p"·data-group-id="9308148019-5">]</span><span·class="p">,</span><span·class="w">
277 ·············</span><span·class="p"·data-group-id="1674122928-6">{</span><span·class="ss">xmlNamespace</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-7">[</span><span·class="p"·data-group-id="1674122928-7">]</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-8"[·...·truncated·by·diffoscope;·len:·103,·SHA:·d3b4ea905196c9e7657c29503bd9fff7685aaf080a293076bd7a9c915dfdccfe·...·]-6">}</span><span·class="p">,</span><span·class="w">277 ·············</span><span·class="p"·data-group-id="9308148019-6">{</span><span·class="ss">xmlNamespace</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-7">[</span><span·class="p"·data-group-id="9308148019-7">]</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-8"[·...·truncated·by·diffoscope;·len:·103,·SHA:·ec95486c779dab7c34da514b42228b1cf9e81d5c0700fc3992d48f48e03a5235·...·]-6">}</span><span·class="p">,</span><span·class="w">
278 ·············</span><span·class="p"·data-group-id="1674122928-9">[</span><span·class="p"·data-group-id="1674122928-9">]</span><span·class="p">,</span><span·class="w">278 ·············</span><span·class="p"·data-group-id="9308148019-9">[</span><span·class="p"·data-group-id="9308148019-9">]</span><span·class="p">,</span><span·class="w">
279 ·············</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">279 ·············</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
280 ·············</span><span·class="p"·data-group-id="1674122928-10">[</span><span·class="p"·data-group-id="1674122928-10">]</span><span·class="p">,</span><span·class="w">280 ·············</span><span·class="p"·data-group-id="9308148019-10">[</span><span·class="p"·data-group-id="9308148019-10">]</span><span·class="p">,</span><span·class="w">
281 ·············</span><span·class="p"·data-group-id="1674122928-11">[</span><span·class="p"·data-group-id="1674122928-12">{</span><span·class="ss">xmlText</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-13">[</span><span·class="p"·data-group-id="1674122928-14">{</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·344,·SHA:·d7bbde786755a6ca02d1d5ba371e070144b982a2a6332b4367da805deea3c8c2·...·]-15">]</span><span·class="p">,</span><span·class="s">&quot;\281 ·············</span><span·class="p"·data-group-id="9308148019-11">[</span><span·class="p"·data-group-id="9308148019-12">{</span><span·class="ss">xmlText</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-13">[</span><span·class="p"·data-group-id="9308148019-14">{</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·344,·SHA:·057e59f209a26be4e5e2ac6f46580e22ee5f92681ee1d9fff5b5406ffb18a913·...·]-15">]</span><span·class="p">,</span><span·class="s">&quot;\
282 ··&quot;</span><span·class="p">,</span><span·class="ss">text</span><span·class="p"·data-group-id="1674122928-12">}</span><span·class="p">,</span><span·class="w">282 ··&quot;</span><span·class="p">,</span><span·class="ss">text</span><span·class="p"·data-group-id="9308148019-12">}</span><span·class="p">,</span><span·class="w">
283 ··············</span><span·class="p"·data-group-id="1674122928-16">{</span><span·class="ss">xmlElement</span><span·class="p">,</span><span·class="ss">bike</span><span·class="p">,</span><span·class="w">283 ··············</span><span·class="p"·data-group-id="9308148019-16">{</span><span·class="ss">xmlElement</span><span·class="p">,</span><span·class="ss">bike</span><span·class="p">,</span><span·class="w">
284 ··························</span><span·class="ss">bike</span><span·class="p">,</span><span·class="w">284 ··························</span><span·class="ss">bike</span><span·class="p">,</span><span·class="w">
285 ··························</span><span·class="p"·data-group-id="1674122928-17">[</span><span·class="p"·data-group-id="1674122928-17">]</span><span·class="p">,</span><span·class="w">285 ··························</span><span·class="p"·data-group-id="9308148019-17">[</span><span·class="p"·data-group-id="9308148019-17">]</span><span·class="p">,</span><span·class="w">
286 ··························</span><span·class="p"·data-group-id="1674122928-18">{</span><span·class="ss">xmlNamespace</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-19">[</span><span·class="p"·data-group-id="1674122928-19">]</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928[·...·truncated·by·diffoscope;·len:·108,·SHA:·ba03d0949af797bea378d081142a7ac5b8d098bbe7929134c3f236dfdaa87e8b·...·]-18">}</span><span·class="p">,</span><span·class="w">286 ··························</span><span·class="p"·data-group-id="9308148019-18">{</span><span·class="ss">xmlNamespace</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-19">[</span><span·class="p"·data-group-id="9308148019-19">]</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019[·...·truncated·by·diffoscope;·len:·108,·SHA:·d298d2ca385a6e8b6f03c98951af7f53b09645e52d909e24228ca6327e6b93c6·...·]-18">}</span><span·class="p">,</span><span·class="w">
287 ··························</span><span·class="p"·data-group-id="1674122928-21">[</span><span·class="p"·data-group-id="1674122928-22">{</span><span·class="ss">motorcycles</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1674122928-22">}</span><span·class="p"·data-group-id="1674122928-21">]</span><span·class="p">,</span><span·class="w">287 ··························</span><span·class="p"·data-group-id="9308148019-21">[</span><span·class="p"·data-group-id="9308148019-22">{</span><span·class="ss">motorcycles</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="9308148019-22">}</span><span·class="p"·data-group-id="9308148019-21">]</span><span·class="p">,</span><span·class="w">
288 ··························</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">288 ··························</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">
289 ··························</span><span·class="p"·data-group-id="1674122928-23">[</span><span·class="p"·data-group-id="1674122928-24">{</span><span·class="ss">xmlAttribute</span><span·class="p">,</span><span·class="ss">year</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-25">[</span><span·class="p"·data-group-id="1674122928-25">]</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-26">[</span><span·class="p"·data-group-id="1674122928-26">]</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-27">[</span><span·class="p"·data-group-id="1674122928-27">]</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-28">[</span><span·class="p"·data-group-id="1674122928-28">]</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1674122928-24">}</span><span·class="p">,</span><span·class="w"> 
290 ···························</span><span·class="p"·data-group-id="1674122928-29">{</span><span·class="ss">xmlAttribute</span><span·class="p">,</span><span·class="ss">color</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-30">[</span><span·class="p"·data-group-id="1674122928-30">]</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-31">[</span><span·class="p"·data-group-id="1674122928-31">]</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-32">[</span><span·class="p"·data-group-id="1674122928-32">]</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1674122928-29">}</span><span·class="p"·data-group-id="1674122928-23">]</span><span·class="p">,</span><span·class="w"> 
291 ··························</span><span·class="p"·data-group-id="1674122928-33">[</span><span·class="p"·data-group-id="1674122928-34">{</span><span·class="ss">xmlText</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-35">[</span><span·class="p"·data-group-id="1674122928-36">{</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·425,·SHA:·6d5b1b5862d34698f67e280590f3c4b0d37c3af7eeff6f3dc079679180037d91·...·]</span><span·class="p">,</span><span·class="w">289 ··························</span><span·class="p"·data-group-id="9308148019-23">[</span><span·class="p"·data-group-id="9308148019-24">{</span><span·class="ss">xmlAttribute</span><span·class="p">,</span><span·class="ss">year</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-25">[</span><span·class="[·...·truncated·by·diffoscope;·len:·580,·SHA:·4b2a6d39933e594161cf89986b59edbd944b2532ee67264fc2f0ea3bc71ea511·...·]</span><span·class="p">,</span><span·class="w">
 290 ···························</span><span·class="p"·data-group-id="9308148019-29">{</span><span·class="ss">xmlAttribute</span><span·class="p">,</span><span·class="ss">color</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-30">[</span><span·class="p"·data-group-id="9308148019-30">]</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-31">[</span><span·class="p"·data-group-id="9308148019-31">]</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-32">[</span><span·class="p"·data-group-id="9308148019-32">]</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9308148019-29">}</span><span·class="p"·data-group-id="9308148019-23">]</span><span·class="p">,</span><span·class="w">
 291 ··························</span><span·class="p"·data-group-id="9308148019-33">[</span><span·class="p"·data-group-id="9308148019-34">{</span><span·class="ss">xmlText</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-35">[</span><span·class="p"·data-group-id="9308148019-36">{</span><span·class="ss">bike</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="9308148019-36">}</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-37">{</span><span·class="ss">motorcycles</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9308148019-37">}</span><span·class="p"·data-group-id="9308148019-35">]</span><span·class="p">,</span><span·class="w">
292 ····································</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">292 ····································</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
293 ····································</span><span·class="p"·data-group-id="1674122928-38">[</span><span·class="p"·data-group-id="1674122928-38">]</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1674122928-34">}</span><span·class="p">,</span><span·class="w">293 ····································</span><span·class="p"·data-group-id="9308148019-38">[</span><span·class="p"·data-group-id="9308148019-38">]</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9308148019-34">}</span><span·class="p">,</span><span·class="w">
294 ···························</span><span·class="p"·data-group-id="1674122928-39">{</span><span·class="ss">xmlElement</span><span·class="p">,</span><span·class="ss">name</span><span·class="p">,</span><span·class="ss">name</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-40">[</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·174,·SHA:·bf9df8ded1a112321c95709fe485d62aa4f9db402c011092d0c9c746e8a5176b·...·]-39">}</span><span·class="p">,</span><span·class="w">294 ···························</span><span·class="p"·data-group-id="9308148019-39">{</span><span·class="ss">xmlElement</span><span·class="p">,</span><span·class="ss">name</span><span·class="p">,</span><span·class="ss">name</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-40">[</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·174,·SHA:·7be8f9ea9fbca37f5f2d956b9757521be59710e693810a8e40d3d0ddbf588ac2·...·]-39">}</span><span·class="p">,</span><span·class="w">
295 ···························</span><span·class="p"·data-group-id="1674122928-41">{</span><span·class="ss">xmlText</span><span·class="p">,</span><span·class="p"·data-group-id="1674122928-42">[</span><span·class="p"·data-group-id="1674122928-43">{</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</spa[·...·truncated·by·diffoscope;·len:·392,·SHA:·0a60410c1b7fde2fbb949d1d085d461e82fc01161d6faa5263c7c05e7172cba0·...·]-41">}</span><span·class="p">,</span><span·class="w">295 ···························</span><span·class="p"·data-group-id="9308148019-41">{</span><span·class="ss">xmlText</span><span·class="p">,</span><span·class="p"·data-group-id="9308148019-42">[</span><span·class="p"·data-group-id="9308148019-43">{</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</spa[·...·truncated·by·diffoscope;·len:·392,·SHA:·29f87571f00f47ca8c2db485bb9030b6487b7270a0a632036d1febb2c76cc2bf·...·]-41">}</span><span·class="p">,</span><span·class="w">
296 ···························</span><span·class="p"·data-group-id="1674122928-44">{</span><span·class="ss">xmlElement</span><span·class="p">,</span><span·class="ss">engine</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1674122928-44">}</span><span·class="p">,</span><span·class="w">296 ···························</span><span·class="p"·data-group-id="9308148019-44">{</span><span·class="ss">xmlElement</span><span·class="p">,</span><span·class="ss">engine</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9308148019-44">}</span><span·class="p">,</span><span·class="w">
297 ···························</span><span·class="p"·data-group-id="1674122928-45">{</span><span·class="ss">xmlText</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1674122928-45">}</span><span·class="p">,</span><span·class="w">297 ···························</span><span·class="p"·data-group-id="9308148019-45">{</span><span·class="ss">xmlText</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9308148019-45">}</span><span·class="p">,</span><span·class="w">
298 ···························</span><span·class="p"·data-group-id="1674122928-46">{</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1674122928-46">}</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·30997f1421edc5860de3223b82fefffcbeb9673bf6a3d58f5e268c9b1f5d5c33·...·]-33">]</span><span·class="p">,</span><span·class="w">298 ···························</span><span·class="p"·data-group-id="9308148019-46">{</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9308148019-46">}</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·35dd8e99c566e35944c1f3077fa80ca88b4937c8c2d98e137c4b8b35a6cd01cd·...·]-33">]</span><span·class="p">,</span><span·class="w">
299 ··························</span><span·class="p"·data-group-id="1674122928-47">[</span><span·class="p"·data-group-id="1674122928-47">]</span><span·class="p">,</span><span·class="w">299 ··························</span><span·class="p"·data-group-id="9308148019-47">[</span><span·class="p"·data-group-id="9308148019-47">]</span><span·class="p">,</span><span·class="w">
300 ··························</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">300 ··························</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">
301 ··························</span><span·class="ss">undeclared</span><span·class="p"·data-group-id="1674122928-16">}</span><span·class="p">,</span><span·class="w">301 ··························</span><span·class="ss">undeclared</span><span·class="p"·data-group-id="9308148019-16">}</span><span·class="p">,</span><span·class="w">
302 ··············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">302 ··············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
303 ··············</span><span·class="p"·data-group-id="1674122928-11">]</span><span·class="p">,</span><span·class="w">303 ··············</span><span·class="p"·data-group-id="9308148019-11">]</span><span·class="p">,</span><span·class="w">
304 ·············</span><span·class="p"·data-group-id="1674122928-48">[</span><span·class="p"·data-group-id="1674122928-48">]</span><span·class="p">,</span><span·class="w">304 ·············</span><span·class="p"·data-group-id="9308148019-48">[</span><span·class="p"·data-group-id="9308148019-48">]</span><span·class="p">,</span><span·class="w">
305 ·············</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">305 ·············</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">
306 ·············</span><span·class="ss">undeclared</span><span·class="p"·data-group-id="1674122928-4">}</span><span·class="p">,</span><span·class="w">306 ·············</span><span·class="ss">undeclared</span><span·class="p"·data-group-id="9308148019-4">}</span><span·class="p">,</span><span·class="w">
307 ·</span><span·class="p"·data-group-id="1674122928-49">[</span><span·class="p"·data-group-id="1674122928-49">]</span><span·class="p"·data-group-id="1674122928-3">}</span><span·class="w">307 ·</span><span·class="p"·data-group-id="9308148019-49">[</span><span·class="p"·data-group-id="9308148019-49">]</span><span·class="p"·data-group-id="9308148019-3">}</span><span·class="w">
308 </span><span·class="mi">4</span><span·class="o">&gt;</span></code></pre><p>If·you·instead·receives·the·XML·doc·as·a·string·you·can·parse·it·by308 </span><span·class="mi">4</span><span·class="o">&gt;</span></code></pre><p>If·you·instead·receives·the·XML·doc·as·a·string·you·can·parse·it·by
309 <a·href="xmerl_scan.html#string/1"><code·class="inline">xmerl_scan:string/1</code></a>.·Both·file/2·and·string/2·exists·where·the·second·argument309 <a·href="xmerl_scan.html#string/1"><code·class="inline">xmerl_scan:string/1</code></a>.·Both·file/2·and·string/2·exists·where·the·second·argument
310 is·a·list·of·options·to·the·parser,·see·the·<a·href="xmerl_scan.html">reference·manual</a>.</p><h2·id="example-extracting-data-from-xml-content"·class="section-heading">310 is·a·list·of·options·to·the·parser,·see·the·<a·href="xmerl_scan.html">reference·manual</a>.</p><h2·id="example-extracting-data-from-xml-content"·class="section-heading">
311 ··<a·href="#example-extracting-data-from-xml-content"·class="hover-link">311 ··<a·href="#example-extracting-data-from-xml-content"·class="hover-link">
312 ····<i·class="ri-link-m"·aria-hidden="true"></i>312 ····<i·class="ri-link-m"·aria-hidden="true"></i>
313 ··</a>313 ··</a>
314 ··<span·class="text">Example:·Extracting·Data·From·XML·Content</span>314 ··<span·class="text">Example:·Extracting·Data·From·XML·Content</span>
Offset 338, 30 lines modifiedOffset 338, 30 lines modified
338 fields·of·the·appropriate·element.</p><p>There·is·support·for·this·in·Xmerl·by·the·&quot;simple-form&quot;·format.·You·can·put·your338 fields·of·the·appropriate·element.</p><p>There·is·support·for·this·in·Xmerl·by·the·&quot;simple-form&quot;·format.·You·can·put·your
339 data·in·a·simple-form·data·structure·and·feed·it·into339 data·in·a·simple-form·data·structure·and·feed·it·into
340 <code·class="inline">xmerl:export_simple(Content,Callback,RootAttributes)</code>.·Content·may·be·a·mixture340 <code·class="inline">xmerl:export_simple(Content,Callback,RootAttributes)</code>.·Content·may·be·a·mixture
341 of·simple-form·and·Xmerl·records·as·<code·class="inline">#xmlElement{}</code>·and·<code·class="inline">#xmlText{}</code>.</p><p>The·Types·are:</p><ul><li>Content·=·[Element]</li><li>Callback·=·atom()</li><li>RootAttributes·=·[Attributes]</li></ul><p>Element·is·any·of:</p><ul><li>{Tag,·Attributes,·Content}</li><li>{Tag,·Content}</li><li>Tag</li><li>IOString</li><li>#xmlText{}</li><li>#xmlElement{}</li><li>#xmlPI{}</li><li>#xmlComment{}</li><li>#xmlDecl{}</li></ul><p>The·simple-form·structure·is·any·of·<code·class="inline">{Tag,·Attributes,·Content}</code>,341 of·simple-form·and·Xmerl·records·as·<code·class="inline">#xmlElement{}</code>·and·<code·class="inline">#xmlText{}</code>.</p><p>The·Types·are:</p><ul><li>Content·=·[Element]</li><li>Callback·=·atom()</li><li>RootAttributes·=·[Attributes]</li></ul><p>Element·is·any·of:</p><ul><li>{Tag,·Attributes,·Content}</li><li>{Tag,·Content}</li><li>Tag</li><li>IOString</li><li>#xmlText{}</li><li>#xmlElement{}</li><li>#xmlPI{}</li><li>#xmlComment{}</li><li>#xmlDecl{}</li></ul><p>The·simple-form·structure·is·any·of·<code·class="inline">{Tag,·Attributes,·Content}</code>,
342 <code·class="inline">{Tag,·Content}</code>·or·<code·class="inline">Tag</code>·where:</p><ul><li>Tag·=·atom()</li><li>Attributes·=·[{Name,·Value}|·#xmlAttribute{}]</li><li>Name·=·atom()</li><li><p>Value·=·IOString·|·atom()·|·integer()</p></li></ul><p>See·also·reference·manual·for·<a·href="xmerl.html#export_simple/3">xmerl</a></p><p>If·you·want·to·add·the·information·about·a·black·Harley·Davidsson·1200·cc342 <code·class="inline">{Tag,·Content}</code>·or·<code·class="inline">Tag</code>·where:</p><ul><li>Tag·=·atom()</li><li>Attributes·=·[{Name,·Value}|·#xmlAttribute{}]</li><li>Name·=·atom()</li><li><p>Value·=·IOString·|·atom()·|·integer()</p></li></ul><p>See·also·reference·manual·for·<a·href="xmerl.html#export_simple/3">xmerl</a></p><p>If·you·want·to·add·the·information·about·a·black·Harley·Davidsson·1200·cc
343 Sportster·motorcycle·from·2003·that·is·in·shape·as·new·in·the·motorcycles.xml343 Sportster·motorcycle·from·2003·that·is·in·shape·as·new·in·the·motorcycles.xml
344 document·you·can·put·the·data·in·a·simple-form·data·structure·like:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">344 document·you·can·put·the·data·in·a·simple-form·data·structure·like:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
345 ··</span><span·class="p"·data-group-id="1154295811-1">{</span><span·class="ss">bike</span><span·class="p">,</span><span·class="w">345 ··</span><span·class="p"·data-group-id="8847535970-1">{</span><span·class="ss">bike</span><span·class="p">,</span><span·class="w">
346 ·····</span><span·class="p"·data-group-id="1154295811-2">[</span><span·class="p"·data-group-id="1154295811-3">{</span><span·class="ss">year</span><span·class="p">,</span><span·class="s">&quot;2003&quot;</span><span·class="p"·data-group-id="1154295811-3">}</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·452,·SHA:·ebe06b3563e801f7bf9daa52837f75bae2eac4546d9dce0eb6427368215d933e·...·]-2">]</span><span·class="p">,</span><span·class="w">346 ·····</span><span·class="p"·data-group-id="8847535970-2">[</span><span·class="p"·data-group-id="8847535970-3">{</span><span·class="ss">year</span><span·class="p">,</span><span·class="s">&quot;2003&quot;</span><span·class="p"·data-group-id="8847535970-3">}</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·452,·SHA:·a2381b12a0fc00f00e5d8832e59a2fe2d683175faf0cecbd8ca6e75402f5336a·...·]-2">]</span><span·class="p">,</span><span·class="w">
347 ·····</span><span·class="p"·data-group-id="1154295811-6">[</span><span·class="p"·data-group-id="1154295811-7">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">347 ·····</span><span·class="p"·data-group-id="8847535970-6">[</span><span·class="p"·data-group-id="8847535970-7">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">
348 ·········</span><span·class="p"·data-group-id="1154295811-8">[</span><span·class="p"·data-group-id="1154295811-9">{</span><span·class="ss">manufacturer</span><span·class="p">,</span><span·class="p"·data-group-id="1154295811-10">[</span><span·class="s">&quot;Harley·Davidsson&quot;</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·79,·SHA:·3d05835f93d1f51398380692d576da822cda4ce25adb281b0eea4118e0b59629·...·]-9">}</span><span·class="p">,</span><span·class="w">348 ·········</span><span·class="p"·data-group-id="8847535970-8">[</span><span·class="p"·data-group-id="8847535970-9">{</span><span·class="ss">manufacturer</span><span·class="p">,</span><span·class="p"·data-group-id="8847535970-10">[</span><span·class="s">&quot;Harley·Davidsson&quot;</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·79,·SHA:·3cc39d9af1c545e3a7461c6507ac6fe5756e22585c79b8843cb230813ea43727·...·]-9">}</span><span·class="p">,</span><span·class="w">
349 ··········</span><span·class="p"·data-group-id="1154295811-11">{</span><span·class="ss">brandName</span><span·class="p">,</span><span·class="p"·data-group-id="1154295811-12">[</span><span·class="s">&quot;XL1200C&quot;</span><span·class="p"·data-group-id="1154295811-12">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·dde78b26fadfdfde984b3863b44845e5a7fb061ea430f27e1a505853c26faef0·...·]-11">}</span><span·class="p">,</span><span·class="w">349 ··········</span><span·class="p"·data-group-id="8847535970-11">{</span><span·class="ss">brandName</span><span·class="p">,</span><span·class="p"·data-group-id="8847535970-12">[</span><span·class="s">&quot;XL1200C&quot;</span><span·class="p"·data-group-id="8847535970-12">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·0d4ce6eed3e6f0bb89b0fbf484a168cc14a20607e3f25b6fa26f1b05ffcb4075·...·]-11">}</span><span·class="p">,</span><span·class="w">
350 ··········</span><span·class="p"·data-group-id="1154295811-13">{</span><span·class="ss">additionalName</span><span·class="p">,</span><span·class="p"·data-group-id="1154295811-14">[</span><span·class="s">&quot;Sportster&quot;</span><span·class="p"·data-group-id="1154295811-14">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·129,·SHA:·f24c66ebb04ebe5181abe4c3196b18564ee0544c7caeb3471b3ac3ae46e69be8·...·]-7">}</span><span·class="p">,</span><span·class="w">350 ··········</span><span·class="p"·data-group-id="8847535970-13">{</span><span·class="ss">additionalName</span><span·class="p">,</span><span·class="p"·data-group-id="8847535970-14">[</span><span·class="s">&quot;Sportster&quot;</span><span·class="p"·data-group-id="8847535970-14">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·129,·SHA:·82e7c4b27682d2547750e36baeb0063b3641f5354294d3c95144ac3429be03c3·...·]-7">}</span><span·class="p">,</span><span·class="w">
351 ······</span><span·class="p"·data-group-id="1154295811-15">{</span><span·class="ss">engine</span><span·class="p">,</span><span·class="w">351 ······</span><span·class="p"·data-group-id="8847535970-15">{</span><span·class="ss">engine</span><span·class="p">,</span><span·class="w">
352 ·········</span><span·class="p"·data-group-id="1154295811-16">[</span><span·class="s">&quot;V-engine,·2-cylinders,·1200·cc&quot;</span><span·class="p"·data-group-id="1154295811-16">]</span><span·class="p"·data-group-id="1154295811-15">}</span><span·class="p">,</span><span·class="w">352 ·········</span><span·class="p"·data-group-id="8847535970-16">[</span><span·class="s">&quot;V-engine,·2-cylinders,·1200·cc&quot;</span><span·class="p"·data-group-id="8847535970-16">]</span><span·class="p"·data-group-id="8847535970-15">}</span><span·class="p">,</span><span·class="w">
353 ······</span><span·class="p"·data-group-id="1154295811-17">{</span><span·class="ss">kind</span><span·class="p">,</span><span·class="p"·data-group-id="1154295811-18">[</span><span·class="s">&quot;custom&quot;</span><span·class="p"·data-group-id="1154295811-18">]</span><span·class="p"·data-group-id="1[·...·truncated·by·diffoscope;·len:·9,·SHA:·5d5d9f29015c05f020280cb90885eea4f6f34a49a892c08088ee70ede36b8c76·...·]-17">}</span><span·class="p">,</span><span·class="w">353 ······</span><span·class="p"·data-group-id="8847535970-17">{</span><span·class="ss">kind</span><span·class="p">,</span><span·class="p"·data-group-id="8847535970-18">[</span><span·class="s">&quot;custom&quot;</span><span·class="p"·data-group-id="8847535970-18">]</span><span·class="p"·data-group-id="8[·...·truncated·by·diffoscope;·len:·9,·SHA:·d7387156e42ad572d8911ed9985e5652a2b09b778410ccf2d760c5f91c525b99·...·]-17">}</span><span·class="p">,</span><span·class="w">
354 ······</span><span·class="p"·data-group-id="1154295811-19">{</span><span·class="ss">drive</span><span·class="p">,</span><span·class="p"·data-group-id="1154295811-20">[</span><span·class="s">&quot;belt&quot;</span><span·class="p"·data-group-id="1154295811-20">]</span><span·class="p"·data-group-id="11[·...·truncated·by·diffoscope;·len:·115,·SHA:·ce6574592eb85a304bec154ebbb5aa00d834ef10c6fd1e399e7348bf475327cb·...·]-1">}</span></code></pre><p>In·order·to·append·this·data·to·the·end·of·the·motorcycles.xml·document·you·have354 ······</span><span·class="p"·data-group-id="8847535970-19">{</span><span·class="ss">drive</span><span·class="p">,</span><span·class="p"·data-group-id="8847535970-20">[</span><span·class="s">&quot;belt&quot;</span><span·class="p"·data-group-id="8847535970-20">]</span><span·class="p"·data-group-id="88[·...·truncated·by·diffoscope;·len:·115,·SHA:·3a3c7f77ccbf9c310cec3a2b4ef0becbdbf50e8216a843d4a640355a0cc664a9·...·]-1">}</span></code></pre><p>In·order·to·append·this·data·to·the·end·of·the·motorcycles.xml·document·you·have
355 to·parse·the·file·and·add·Data·to·the·end·of·the·root·element·content.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p"·data-group-id="7379725705-1">{</span><span·class="n">RootEl</span><span·class="p">,</span><span·class="n">Misc</span><span·class="p"·data-group-id="7379725705-1">}</span><span·class="o">=</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">fi[·...·truncated·by·diffoscope;·len:·152,·SHA:·74d03d36633df8e8447bb2ca9c9037b9b9dc34bf6b08b0c8cd4ad256681a8a17·...·]-2">)</span><span·class="p">,</span><span·class="w">355 to·parse·the·file·and·add·Data·to·the·end·of·the·root·element·content.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p"·data-group-id="0272492464-1">{</span><span·class="n">RootEl</span><span·class="p">,</span><span·class="n">Misc</span><span·class="p"·data-group-id="0272492464-1">}</span><span·class="o">=</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">fi[·...·truncated·by·diffoscope;·len:·152,·SHA:·905f2c9fa3be39c323603c1f530012eb2a260f5128774ce4e0d9ac68dd85ed62·...·]-2">)</span><span·class="p">,</span><span·class="w">
356 ····</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="7379725705-3">{</span><span·class="ss">content</span><span·class="o">=</span><span·class="n">Content</span><span·class="p"·data-group-id="7379725705-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">RootEl</span><span·class="p">,</span><span·class="w">356 ····</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="0272492464-3">{</span><span·class="ss">content</span><span·class="o">=</span><span·class="n">Content</span><span·class="p"·data-group-id="0272492464-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">RootEl</span><span·class="p">,</span><span·class="w">
357 ····</span><span·class="n">NewContent</span><span·class="o">=</span><span·class="n">Content</span><span·class="o">++</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="7379725705-4">(</span><span·class="p"·data-group-id="7379725705-5">[</span><span·class="n">Data</span><span·class="p"·data-group-id="7379725705-5">]</span><span·class="p"·data-group-id="7379725705-4">)</span><span·class="p">,</span><span·class="w">357 ····</span><span·class="n">NewContent</span><span·class="o">=</span><span·class="n">Content</span><span·class="o">++</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="0272492464-4">(</span><span·class="p"·data-group-id="0272492464-5">[</span><span·class="n">Data</span><span·class="p"·data-group-id="0272492464-5">]</span><span·class="p"·data-group-id="0272492464-4">)</span><span·class="p">,</span><span·class="w">
358 ····</span><span·class="n">NewRootEl</span><span·class="o">=</span><span·class="n">RootEl</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="7379725705-6">{</span><span·class="ss">content</span><span·class="o">=</span><span·class="n">NewContent</span><span·class="p"·data-group-id="7379725705-6">}</span><span·class="p">,</span></code></pre><p>Then·you·can·run·it·through·the·export_simple/2·funct[·...·truncated·by·diffoscope;·len:·675,·SHA:·ba02a02ce0757a93e38ac272f6e36550a8dfca387bc805ec79b0639d9689d170·...·]-2">)</span><span·class="p">,</span><span·class="w">358 ····</span><span·class="n">NewRootEl</span><span·class="o">=</span><span·class="n">RootEl</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="0272492464-6">{</span><span·class="ss">content</span><span·class="o">=</span><span·class="n">NewContent</span><span·class="p"·data-group-id="0272492464-6">}</span><span·class="p">,</span></code></pre><p>Then·you·can·run·it·through·the·export_simple/2·funct[·...·truncated·by·diffoscope;·len:·675,·SHA:·ec74ccacbbe77c1956fcc05bb3fedb995c7977dab74fe7620c0d90e31e4a3cf2·...·]-2">)</span><span·class="p">,</span><span·class="w">
359 ····</span><span·class="n">Export</span><span·class="o">=</span><span·class="nc">xmerl</span><span·class="p">:</span><span·class="nf">export_simple</span><span·class="p"·data-group-id="6367573568-4">(</span><span·class="p"·data-group-id="6367573568-5">[</span><span·class="n">NewRootEl</span><span·class="p"·data-group-id="6367573568-5">]</span><span·class="p">,</span><span·class="ss">xmerl_xml</span><span·class="p"·data-group-id="63675735[·...·truncated·by·diffoscope;·len:·2,·SHA:·a21855da08cb102d1d217c53dc5824a3a795c1c1a44e971bf01ab9da3a2acbbf·...·]-4">)</span><span·class="p">,</span><span·class="w">359 ····</span><span·class="n">Export</span><span·class="o">=</span><span·class="nc">xmerl</span><span·class="p">:</span><span·class="nf">export_simple</span><span·class="p"·data-group-id="7547396005-4">(</span><span·class="p"·data-group-id="7547396005-5">[</span><span·class="n">NewRootEl</span><span·class="p"·data-group-id="7547396005-5">]</span><span·class="p">,</span><span·class="ss">xmerl_xml</span><span·class="p"·data-group-id="75473960[·...·truncated·by·diffoscope;·len:·2,·SHA:·c97550ce8213ef5cf6ed4ba48790c137df3ef6a5da20b48961001a634b6cead2·...·]-4">)</span><span·class="p">,</span><span·class="w">
360 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6367573568-6">(</span><span·class="n">IOF</span><span·class="p">,</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="p"·data-group-id="6367573568-7">[</sp[·...·truncated·by·diffoscope;·len:·316,·SHA:·d70291ca53bb3c29773ae72f080653b2ce197813639efb26c038c34fdf634687·...·]-6">)</span><span·class="p">,</span></code></pre><p><a·href=""·id="new_motorcyclesxml"></a></p><p>The·result·would·be:</p><pre><code·class="text">360 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="7547396005-6">(</span><span·class="n">IOF</span><span·class="p">,</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="p"·data-group-id="7547396005-7">[</sp[·...·truncated·by·diffoscope;·len:·316,·SHA:·e24e10f49d335308a672af16ca3fe441e3bac590248092e3846e136116683150·...·]-6">)</span><span·class="p">,</span></code></pre><p><a·href=""·id="new_motorcyclesxml"></a></p><p>The·result·would·be:</p><pre><code·class="text">
361 &lt;?xml·version=&quot;1.0&quot;?&gt;&lt;motorcycles&gt;361 &lt;?xml·version=&quot;1.0&quot;?&gt;&lt;motorcycles&gt;
362 ··&lt;bike·year=&quot;2000&quot;·color=&quot;black&quot;&gt;362 ··&lt;bike·year=&quot;2000&quot;·color=&quot;black&quot;&gt;
363 ····&lt;name&gt;363 ····&lt;name&gt;
364 ······&lt;manufacturer&gt;Suzuki&lt;/manufacturer&gt;364 ······&lt;manufacturer&gt;Suzuki&lt;/manufacturer&gt;
365 ······&lt;brandName&gt;Suzuki·VL·1500&lt;/brandName&gt;365 ······&lt;brandName&gt;Suzuki·VL·1500&lt;/brandName&gt;
366 ······&lt;additionalName&gt;Intruder&lt;/additionalName&gt;366 ······&lt;additionalName&gt;Intruder&lt;/additionalName&gt;
367 ····&lt;/name&gt;367 ····&lt;/name&gt;
Offset 383, 48 lines modifiedOffset 383, 48 lines modified
383 ··&lt;/bike&gt;383 ··&lt;/bike&gt;
384 &lt;bike·year=&quot;2003&quot;·color=&quot;black&quot;·condition=&quot;new&quot;&gt;&lt;name&gt;&lt;manufacturer&gt;Harley·Davidsson&lt;/manufacturer&gt;&lt;brandName&gt;XL1200C&lt;/brandName&gt;&lt;additionalName&gt;Sportster&lt;/additionalName&gt;&lt;/name&gt;&lt;engine&gt;V-engine,·2-cylinders,·1200·cc&lt;/engine&gt;&lt;kind&gt;custom&lt;/kind&gt;&lt;drive&gt;belt&lt;/drive&gt;&lt;/bike&gt;&lt;/motorcycles&gt;</code></pre><p>If·it·is·important·to·get·similar·indentation·and·newlines·as·in·the·original384 &lt;bike·year=&quot;2003&quot;·color=&quot;black&quot;·condition=&quot;new&quot;&gt;&lt;name&gt;&lt;manufacturer&gt;Harley·Davidsson&lt;/manufacturer&gt;&lt;brandName&gt;XL1200C&lt;/brandName&gt;&lt;additionalName&gt;Sportster&lt;/additionalName&gt;&lt;/name&gt;&lt;engine&gt;V-engine,·2-cylinders,·1200·cc&lt;/engine&gt;&lt;kind&gt;custom&lt;/kind&gt;&lt;drive&gt;belt&lt;/drive&gt;&lt;/bike&gt;&lt;/motorcycles&gt;</code></pre><p>If·it·is·important·to·get·similar·indentation·and·newlines·as·in·the·original
385 document·you·have·to·add·<code·class="inline">#xmlText{}</code>·records·with·space·and·newline·values·in385 document·you·have·to·add·<code·class="inline">#xmlText{}</code>·records·with·space·and·newline·values·in
386 appropriate·places.·It·may·also·be·necessary·to·keep·the·original·prolog·where386 appropriate·places.·It·may·also·be·necessary·to·keep·the·original·prolog·where
387 the·DTD·is·referenced.·If·so,·it·is·possible·to·pass·a·RootAttribute387 the·DTD·is·referenced.·If·so,·it·is·possible·to·pass·a·RootAttribute
388 <code·class="inline">{prolog,Value}</code>·to·<code·class="inline">export_simple/3</code>.·The·following·example·code·fixes·those388 <code·class="inline">{prolog,Value}</code>·to·<code·class="inline">export_simple/3</code>.·The·following·example·code·fixes·those
389 changes·in·the·previous·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">389 changes·in·the·previous·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
390 ······</span><span·class="p"·data-group-id="9444977547-1">[</span><span·class="o">#</span><span·class="ss">xmlText</span><span·class="p"·data-group-id="9444977547-2">{</span><span·class="ss">value</span><span·class="o">=</span><span·class="s">&quot;··&quot;</span><span·class="p"·data-group-id="94449[·...·truncated·by·diffoscope;·len:·5,·SHA:·7d50d5e45e1c257255ccc3ea5481123f58dc5823749a3eb538ad506a025e51dd·...·]-2">}</span><span·class="p">,</span><span·class="w">390 ······</span><span·class="p"·data-group-id="0426744395-1">[</span><span·class="o">#</span><span·class="ss">xmlText</span><span·class="p"·data-group-id="0426744395-2">{</span><span·class="ss">value</span><span·class="o">=</span><span·class="s">&quot;··&quot;</span><span·class="p"·data-group-id="04267[·...·truncated·by·diffoscope;·len:·5,·SHA:·eefec49ffe8b129f2693d2d747a4fa8b9701c83880251e2aa871f0f5dde31b07·...·]-2">}</span><span·class="p">,</span><span·class="w">
391 ·······</span><span·class="p"·data-group-id="9444977547-3">{</span><span·class="ss">bike</span><span·class="p">,</span><span·class="p"·data-group-id="9444977547-4">[</span><span·class="p"·data-group-id="9444977547-5">{</span><span·class="ss">year</span><span·class="p">,</span><span·class="s">&quot;20[·...·truncated·by·diffoscope;·len:·557,·SHA:·d0547b99fb35bddf174f8592a76bf551b03cfa1304c344c0b644008cdfec793e·...·]-4">]</span><span·class="p">,</span><span·class="w">391 ·······</span><span·class="p"·data-group-id="0426744395-3">{</span><span·class="ss">bike</span><span·class="p">,</span><span·class="p"·data-group-id="0426744395-4">[</span><span·class="p"·data-group-id="0426744395-5">{</span><span·class="ss">year</span><span·class="p">,</span><span·class="s">&quot;20[·...·truncated·by·diffoscope;·len:·557,·SHA:·90c0cb1ab5658f1c5c0452b83ca9e44ad4baec045d59984a4debfa4bede5dddb·...·]-4">]</span><span·class="p">,</span><span·class="w">
392 ·············</span><span·class="p"·data-group-id="9444977547-8">[</span><span·class="o">#</span><span·class="ss">xmlText</span><span·class="p"·data-group-id="9444977547-9">{</span><span·class="ss">value</span><span·class="o">=</span><span·class="s">&quot;\392 ·············</span><span·class="p"·data-group-id="0426744395-8">[</span><span·class="o">#</span><span·class="ss">xmlText</span><span·class="p"·data-group-id="0426744395-9">{</span><span·class="ss">value</span><span·class="o">=</span><span·class="s">&quot;\
393 ····&quot;</span><span·class="p"·data-group-id="9444977547-9">}</span><span·class="p">,</span><span·class="w">393 ····&quot;</span><span·class="p"·data-group-id="0426744395-9">}</span><span·class="p">,</span><span·class="w">
394 ··············</span><span·class="p"·data-group-id="9444977547-10">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="p"·data-group-id="9444977547-11">[</span><span·class="o">#</span><span·class="ss">xmlText</span><span·class="p"·data-group-id="9444977547-12">{</span><span·class="ss">value</span><span·class="o">=</span><span·class="s">&quot;\394 ··············</span><span·class="p"·data-group-id="0426744395-10">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="p"·data-group-id="0426744395-11">[</span><span·class="o">#</span><span·class="ss">xmlText</span><span·class="p"·data-group-id="0426744395-12">{</span><span·class="ss">value</span><span·class="o">=</span><span·class="s">&quot;\
395 ······&quot;</span><span·class="p"·data-group-id="9444977547-12">}</span><span·class="p">,</span><span·class="w">395 ······&quot;</span><span·class="p"·data-group-id="0426744395-12">}</span><span·class="p">,</span><span·class="w">
396 ·····················</span><span·class="p"·data-group-id="9444977547-13">{</span><span·class="ss">manufacturer</span><span·class="p">,</span><span·class="p"·data-group-id="9444977547-14">[</span><span·class="s">&quot;Harley·Davidsson&quot;</span><span·class="p"·data-group-id="9444977547-14">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·9fb3b7ceb30451429d742fb6ebca4ab9231d6d436aa0760dc303249363e3adc8·...·]-13">}</span><span·class="p">,</span><span·class="w">396 ·····················</span><span·class="p"·data-group-id="0426744395-13">{</span><span·class="ss">manufacturer</span><span·class="p">,</span><span·class="p"·data-group-id="0426744395-14">[</span><span·class="s">&quot;Harley·Davidsson&quot;</span><span·class="p"·data-group-id="0426744395-14">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·c476523b5c5ed583b7eae4fe51d73b2a3bc28a9d7a8a6da5f339dac7ff264c31·...·]-13">}</span><span·class="p">,</span><span·class="w">
397 ·····················</span><span·class="o">#</span><span·class="ss">xmlText</span><span·class="p"·data-group-id="9444977547-15">{</span><span·class="ss">value</span><span·class="o">=</span><span·class="s">&quot;\397 ·····················</span><span·class="o">#</span><span·class="ss">xmlText</span><span·class="p"·data-group-id="0426744395-15">{</span><span·class="ss">value</span><span·class="o">=</span><span·class="s">&quot;\
398 ······&quot;</span><span·class="p"·data-group-id="9444977547-15">}</span><span·class="p">,</span><span·class="w">398 ······&quot;</span><span·class="p"·data-group-id="0426744395-15">}</span><span·class="p">,</span><span·class="w">
399 ·····················</span><span·class="p"·data-group-id="9444977547-16">{</span><span·class="ss">brandName</span><span·class="p">,</span><span·class="p"·data-group-id="9444977547-17">[</span><span·class="s">&quot;XL1200C&quot;</span><span·class="p"·data-group-id="9444977547-17">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·642378d42a9540090aebd56c3fedca8815a1c45bd3f3e2ad8ffbe1cb683816bf·...·]-16">}</span><span·class="p">,</span><span·class="w">399 ·····················</span><span·class="p"·data-group-id="0426744395-16">{</span><span·class="ss">brandName</span><span·class="p">,</span><span·class="p"·data-group-id="0426744395-17">[</span><span·class="s">&quot;XL1200C&quot;</span><span·class="p"·data-group-id="0426744395-17">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·ffbdbff1120cb59e80aa07b2cdeb77878d4d76148c8197365fc9d4efa8eb312a·...·]-16">}</span><span·class="p">,</span><span·class="w">
400 ·····················</span><span·class="o">#</span><span·class="ss">xmlText</span><span·class="p"·data-group-id="9444977547-18">{</span><span·class="ss">value</span><span·class="o">=</span><span·class="s">&quot;\400 ·····················</span><span·class="o">#</span><span·class="ss">xmlText</span><span·class="p"·data-group-id="0426744395-18">{</span><span·class="ss">value</span><span·class="o">=</span><span·class="s">&quot;\
401 ······&quot;</span><span·class="p"·data-group-id="9444977547-18">}</span><span·class="p">,</span><span·class="w">401 ······&quot;</span><span·class="p"·data-group-id="0426744395-18">}</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 102634/163614 bytes (62.73%) of diff not shown.
780 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>495 <p>Copyright·©·1996-2025·<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.3/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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>372 <p>Copyright·©·1996-2025·<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.3/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="8013908035-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="8013908035-2">{</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·630,·SHA:·78307205060848517fec58f604783f2f0e1c7c7a6b5b5e45f3a0ea12cdb8a522·...·]-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="1411490563-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="1411490563-2">{</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·630,·SHA:·73988db86125b0b4be0518d660a65b01fd0e50a9f88654e7adf4db3cce14df6d·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
139 ····</span><span·class="p"·data-group-id="8013908035-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="1411490563-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="8013908035-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="[·...·truncated·by·diffoscope;·len:·10,·SHA:·613e3e9f535d82bfbf038cf0e792e14c9ab7e4f686d6302a6bdfe0ade469aec4·...·]-6">)</span><span·class="p">,</span><span·class="w">140 ·········</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="1411490563-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="[·...·truncated·by·diffoscope;·len:·10,·SHA:·bed29397ba69bc61e7d4cd51d78545cf1ac6833bb2fcfd2fc65754447a2c51ed·...·]-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="8013908035-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="1411490563-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="0727217438-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="0727217438-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·158,·SHA:·a47a621ec8b48eba73f7c71a09574b3e36db17cbc4ea89b8db82d23070f41ec8·...·]-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="9511210474-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="9511210474-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·158,·SHA:·377a1d24ddc6a8b58d5d2fc59b5c70ed056aee71a938ab8b80ca6fb84fc189a0·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
144 ····</span><span·class="p"·data-group-id="0727217438-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="0727217438-4">(</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·426,·SHA:·90c88b878db51317c11f90bbd071a24945bcf0fb12809d5f877ed89eab02bdc2·...·]-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="9511210474-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="9511210474-4">(</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·426,·SHA:·ff2f37a53d5be7e141aa8b87ba4440d700ad3752690d7cd17ae9ed4db4a28f38·...·]-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="7782171808-1">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="7782171808-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="4596778464-1">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="4596778464-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="7782171808-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="4596778464-2">(</span><span·class="ss">xmerl_xs</span><span·class="p">,</span><span·class="w">
206 ····</span><span·class="p"·data-group-id="7782171808-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:·2f7948503d9acb9648903b0723e4d4f57c1babac8badc857836aaff64f13c481·...·]-2">)</span><span·class="p">.</span><span·class="w">206 ····</span><span·class="p"·data-group-id="4596778464-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:·bcbce9578d514fdf84f965298cc9a1a0b07cf225da21beee27503812323dbbdc·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
207 </span><span·class="nf">doctype</span><span·class="p"·data-group-id="7782171808-4">(</span><span·class="p"·data-group-id="7782171808-4">)</span><span·class="p">-&gt;</span><span·class="w">207 </span><span·class="nf">doctype</span><span·class="p"·data-group-id="4596778464-4">(</span><span·class="p"·data-group-id="4596778464-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="7782171808-5">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="7782171808-5">)</span><span·class="p">-&gt;</span><span·class="w">210 </span><span·class="nf">process_xml</span><span·class="p"·data-group-id="4596778464-5">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="4596778464-5">)</span><span·class="p">-&gt;</span><span·class="w">
211 ····</span><span·class="nf">template</span><span·class="p"·data-group-id="7782171808-6">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="7782171808-6">)</span><span·class="p">.</span><span·class="w">211 ····</span><span·class="nf">template</span><span·class="p"·data-group-id="4596778464-6">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="4596778464-6">)</span><span·class="p">.</span><span·class="w">
  
212 </span><span·class="nf">template</span><span·class="p"·data-group-id="7782171808-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="7782171808-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·156,·SHA:·cf866a36b741a80c736e96b2e36c2315df39d357209c29e1382a57864f899bcd·...·]-7">)</span><span·class="p">-&gt;</span><span·class="w">212 </span><span·class="nf">template</span><span·class="p"·data-group-id="4596778464-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="4596778464-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·156,·SHA:·c6f840dcd3aa5ce7df5864793bc8d71600cc6d80b641cbcae6aaa15af6d6524f·...·]-7">)</span><span·class="p">-&gt;</span><span·class="w">
213 ····</span><span·class="p"·data-group-id="7782171808-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="4596778464-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="7782171808-10">(</span><span·class="p"·data-group-id="7782171808-10">)</span><span·class="p">,</span><span·class="w">214 ······</span><span·class="nf">doctype</span><span·class="p"·data-group-id="4596778464-10">(</span><span·class="p"·data-group-id="4596778464-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="7782171808-11">(</span><span·class="nf">select</span><span·class="p"·data-group-id="7782171808-12">(</span><span·class="s">&quot;title&quot;</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="7782171808-12">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·0c1f6529a2a73a43cc37387abe73d4a4922a4b527447b930e72b1b6794384e27·...·]-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="4596778464-11">(</span><span·class="nf">select</span><span·class="p"·data-group-id="4596778464-12">(</span><span·class="s">&quot;title&quot;</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="4596778464-12">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·00ed0b513ac263f267bd818d05ba04f3e79f918789dc3cb2040eb8cd90453502·...·]-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="7782171808-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:·7bfae264bb4d49255b574681dbd8e29fc8d8b99e7c7668fdbb4e73ccd7f1c381·...·]-13">)</span><span·class="p">,</span><span·class="w">220 ······</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4596778464-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:·1d47928494798c077e79c3f66cd15b548d3c2f78691267f2233e9833845f8dfb·...·]-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="7782171808-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="4596778464-9">]</span><span·class="p">;</span><span·class="w">
  
  
223 </span><span·class="nf">template</span><span·class="p"·data-group-id="7782171808-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="7782171808-15">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·637,·SHA:·598204d77068e1c40382d2cb09f435c26c06a0e801564749544722bbdab154e0·...·]-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="4596778464-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="4596778464-15">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·637,·SHA:·2c81901f32774fc8cb8c2da9316e0df618957147745fc0ef4f5912a35b1ae5fe·...·]-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
224 ····</span><span·class="p"·data-group-id="7782171808-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="4596778464-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="7782171808-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:·7bfae264bb4d49255b574681dbd8e29fc8d8b99e7c7668fdbb4e73ccd7f1c381·...·]-19">)</span><span·class="p">,</span><span·class="w">225 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4596778464-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:·1d47928494798c077e79c3f66cd15b548d3c2f78691267f2233e9833845f8dfb·...·]-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="7782171808-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="4596778464-18">]</span><span·class="p">;</span><span·class="w">
  
227 </span><span·class="nf">template</span><span·class="p"·data-group-id="7782171808-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="7782171808-21">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·2ada5963648def221c17b2a97f67727bc316160174d20aeacbde4b54eb6fd5c2·...·]-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="4596778464-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="4596778464-21">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·e367146c4d4eab9cd0067bba2ac800ca7bf4740950e284ab74f41b3fb4629464·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 ····</span><span·class="p"·data-group-id="7782171808-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="4596778464-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="7782171808-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:·7bfae264bb4d49255b574681dbd8e29fc8d8b99e7c7668fdbb4e73ccd7f1c381·...·]-25">)</span><span·class="p">,</span><span·class="w">229 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4596778464-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:·1d47928494798c077e79c3f66cd15b548d3c2f78691267f2233e9833845f8dfb·...·]-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="7782171808-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="4596778464-24">]</span><span·class="p">;</span><span·class="w">
  
231 </span><span·class="nf">template</span><span·class="p"·data-group-id="7782171808-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="7782171808-27">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·5dda018d5c85fc67b0dc2a782c0f08b58af81fe2e072dc2a47d90982a8690ecf·...·]-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="4596778464-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="4596778464-27">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·baa94c8ba1fbcabde450be3ebf499ffee5c5d09019668bce92fc9974e0f46608·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="p"·data-group-id="7782171808-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="4596778464-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="7782171808-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:·7bfae264bb4d49255b574681dbd8e29fc8d8b99e7c7668fdbb4e73ccd7f1c381·...·]-31">)</span><span·class="p">,</span><span·class="w">233 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4596778464-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:·1d47928494798c077e79c3f66cd15b548d3c2f78691267f2233e9833845f8dfb·...·]-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="7782171808-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="4596778464-30">]</span><span·class="p">;</span><span·class="w">
  
235 </span><span·class="nf">template</span><span·class="p"·data-group-id="7782171808-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="7782171808-33">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·047c6b02a8a4125a88f48f7e608b6d9e9f726b089c0a01d23a8227e5c97045fd·...·]-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="4596778464-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="4596778464-33">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·24b5fca1cad0db5d79399f08ff2446c071bf5bbcd6b7c98e21310de0405c54bc·...·]-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
236 ····</span><span·class="p"·data-group-id="7782171808-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="7782171808-35">(</span><span·class="w">·</span><span·class="k">fun</span><span[·...·truncated·by·diffoscope;·len:·360,·SHA:·90d06c20244afb30107dcdc2b4dd70486ff13e8fbf34ff5eb1d73c8a62fbfd72·...·]-34">]</span><span·class="p">;</span><span·class="w">236 ····</span><span·class="p"·data-group-id="4596778464-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="4596778464-35">(</span><span·class="w">·</span><span·class="k">fun</span><span[·...·truncated·by·diffoscope;·len:·360,·SHA:·4167cd73723d56a69630e03ced60ba210a050957323e342f1f235c122ba82ec3·...·]-34">]</span><span·class="p">;</span><span·class="w">
  
237 </span><span·class="nf">template</span><span·class="p"·data-group-id="7782171808-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="7782171808-37">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·dc3de485bfd186e195ac8135c8212babd124509cdf404be206cdf85e8f1cc293·...·]-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="4596778464-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="4596778464-37">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·bda2270d88ac71c3cc87ba8f14c9505f33d4c409fe61917dd779dda10a564dca·...·]-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
238 ····</span><span·class="p"·data-group-id="7782171808-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="4596778464-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="7782171808-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:·7bfae264bb4d49255b574681dbd8e29fc8d8b99e7c7668fdbb4e73ccd7f1c381·...·]-39">)</span><span·class="p">,</span><span·class="w">240 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4596778464-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:·1d47928494798c077e79c3f66cd15b548d3c2f78691267f2233e9833845f8dfb·...·]-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="7782171808-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="4596778464-38">]</span><span·class="p">;</span><span·class="w">
  
242 </span><span·class="nf">template</span><span·class="p"·data-group-id="7782171808-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="7782171808-41">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·52c82f648d713180e5aaab1503019c8f51102c154dc35d787e0ff7f3b2fdf99f·...·]-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="4596778464-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="4596778464-41">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·1008285da1bfa4b98ffef391f1e4a7e39522c5ec14f8716a1190710c73ace918·...·]-40">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
243 ····</span><span·class="p"·data-group-id="7782171808-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="7782171808-43">(</span><span·class="w">·</span><span·class="k">fun</span><spa[·...·truncated·by·diffoscope;·len:·362,·SHA:·c160a832d82a6968a092f9a241d7dc67072da6da025ac180c2d25542d79e3141·...·]-42">]</span><span·class="p">;</span><span·class="w">243 ····</span><span·class="p"·data-group-id="4596778464-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="4596778464-43">(</span><span·class="w">·</span><span·class="k">fun</span><spa[·...·truncated·by·diffoscope;·len:·362,·SHA:·82016fa29eed3a9d55e25206c8b468838280b03bdcd0eaadb3a13e8dd45fd8ab·...·]-42">]</span><span·class="p">;</span><span·class="w">
  
244 </span><span·class="nf">template</span><span·class="p"·data-group-id="7782171808-44">(</span><span·class="n">E</span><span·class="p"·data-group-id="7782171808-44">)</span><span·class="p">-&gt;</span><span·class="w">244 </span><span·class="nf">template</span><span·class="p"·data-group-id="4596778464-44">(</span><span·class="n">E</span><span·class="p"·data-group-id="4596778464-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="7782171808-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:·7bfae264bb4d49255b574681dbd8e29fc8d8b99e7c7668fdbb4e73ccd7f1c381·...·]-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="4596778464-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:·1d47928494798c077e79c3f66cd15b548d3c2f78691267f2233e9833845f8dfb·...·]-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="3010773733-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="3010773733-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·159,·SHA:·99f42a7732a3e789a4b1c9bbd52c75100077bfdb8c4ae36be0757ce03da5144c·...·]-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="9003542542-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="9003542542-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·159,·SHA:·56d57d77745e40fcce66ccc0ed10de6aa1dd7264432e81689f02d3abac18e2c0·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
277 ····</span><span·class="p"·data-group-id="3010773733-3">{</span><span·class="n">Lines</span><span·class="p">,</span><span·class="n">LineNo</span><span·class="p"·data-group-id="3010773733-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span[·...·truncated·by·diffoscope;·len:·654,·SHA:·a56db1a4f0a017d93b36d2403275c3140df45d54c40fdad62d9664f78c8656a9·...·]-4">)</span><span·class="p">,</span><span·class="w">277 ····</span><span·class="p"·data-group-id="9003542542-3">{</span><span·class="n">Lines</span><span·class="p">,</span><span·class="n">LineNo</span><span·class="p"·data-group-id="9003542542-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span[·...·truncated·by·diffoscope;·len:·654,·SHA:·b41a852c27af0203ed5d1a324be80f4eb8d3ac2194768e3c9c978b7fcdafa4dd·...·]-4">)</span><span·class="p">,</span><span·class="w">
278 ····</span><span·class="p"·data-group-id="3010773733-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:·20,·SHA:·dd00c14ed17dac39861be4b51312892b8117ddb86d3aa4ae87153be9475c526d·...·]-6">]</span><span·class="p">.</span><span·class="w">278 ····</span><span·class="p"·data-group-id="9003542542-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:·20,·SHA:·27c1ac9233ae0455ef18774edd0eb49c43b154a3d365a05a9fb388b1d3e7114c·...·]-6">]</span><span·class="p">.</span><span·class="w">
  
279 </span><span·class="nf">template_pos</span><span·class="p"·data-group-id="3010773733-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="3010773733-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·229,·SHA:·38007a3fb902e894967def7b3c7d438a8e2e4edda67a3fbdf9b93eb63ac733a3·...·]-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="9003542542-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="9003542542-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·229,·SHA:·464759de618045941d936ddd031aadd86054e319c81e0a62d34520835fd90f17·...·]-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
280 ····</span><span·class="p"·data-group-id="3010773733-9">{</span><span·class="p"·data-group-id="3010773733-10">[</span><span·class="nf">indent_line</span><span·class="p"·data-group-id="3010773733-11">(</span><span·class="n">P</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">[·...·truncated·by·diffoscope;·len:·795,·SHA:·6f8cad985be199740ee72fda25fba8ac96803f6a401776278e9d28e73930829e·...·]-9">}</span><span·class="p">.</span><span·class="w">280 ····</span><span·class="p"·data-group-id="9003542542-9">{</span><span·class="p"·data-group-id="9003542542-10">[</span><span·class="nf">indent_line</span><span·class="p"·data-group-id="9003542542-11">(</span><span·class="n">P</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">[·...·truncated·by·diffoscope;·len:·795,·SHA:·576b65d28fc48fcef41fe070730c0ec4da65eb1e8b239bc628517df42d7864d6·...·]-9">}</span><span·class="p">.</span><span·class="w">
  
281 </span><span·class="nf">indent_line</span><span·class="p"·data-group-id="3010773733-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="3010773733-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="9003542542-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="9003542542-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="3010773733-14">(</span><span·class="p">_</span><span·class="p"·data-group-id="3010773733-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="9003542542-14">(</span><span·class="p">_</span><span·class="p"·data-group-id="9003542542-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="4006327879-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="4006327879-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·257,·SHA:·fb163f076c5bec8df97749aeb9da6f7328c5887a157015bf0c6d72a02a210247·...·]-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="6912504695-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="6912504695-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·257,·SHA:·dbeb45a498df4ab121bace3e941da93786baf67dc8fdc77a8e59e20c491af101·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
286 ····</span><span·class="p"·data-group-id="4006327879-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="4006327879-4">(</span><span·class="nf">select</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·236,·SHA:·d15dd82873f9c95abb5a2fc6d9a132e8909194eb32e85a6030af6d8f6e2ffdba·...·]-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="6912504695-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="6912504695-4">(</span><span·class="nf">select</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·236,·SHA:·c7a81b2edb61ca7eea03c4d1c1ed124178746c54379108af0867ed4aa6c6936e·...·]-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="4006327879-6">(</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="4006327879-7">(</span><span·class="n">A</span><span·class="p"·data-group-id="4006327879-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·423,·SHA:·fccdc760274cd38ffa71e9f02e3f8317056eef5b93e56ae58dc3f2f35a929c54·...·]-6">)</span><span·class="p">,</span><span·class="w">287 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="6912504695-6">(</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="6912504695-7">(</span><span·class="n">A</span><span·class="p"·data-group-id="6912504695-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·423,·SHA:·d01fe154ff2656cd0b9fb8935f15335715966ad0095f65944503f66670337a0f·...·]-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="4006327879-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="6912504695-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.3/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="0260391087-1">{</span><span·class="n">E</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="0260391087-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:·c68b4cc8e9885a602abd9b3448fdf141030330e36d628fafef08977da3d72335·...·]-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="8592191445-1">{</span><span·class="n">E</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="8592191445-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:·653a884ba418553715c79d0b000b141d543f46ad5934d799c14e6f1a546ad0b4·...·]-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="0260391087-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="0260391087-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:·09686cbad0a33c07620763f8c89855862506b2920dd11d8359a39c655f039c14·...·]-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="8592191445-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="8592191445-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:·e6a04dbbef3286f7b95d0306f877d0c7a34d5a11eced540750e76a00f1621cb4·...·]-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="0260391087-5">{</span><span·class="n">E2</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="0260391087-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:·789398eb27b46574c8905e8e0249b69151847ca895ed3796a16b44bcb0dedf53·...·]-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="8592191445-5">{</span><span·class="n">E2</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="8592191445-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:·c7582182bdbc8fe53341c6a5a9f811130287285d245713058c817a650af60f8d·...·]-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-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>805 <p>Copyright·©·1996-2025·<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
595 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/dist/search_data-F78D76B7.js vs.
./usr/share/doc/erlang-doc/html/lib/diameter-2.4.1/doc/html/dist/search_data-DF3FB3FF.js
Files 99% similar despite different names
594 KB
js-beautify {}
Max HTML report size reached
88.7 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.9.1/doc/html/dist/search_data-9EC16955.js vs.
./usr/share/doc/erlang-doc/html/lib/eunit-2.9.1/doc/html/dist/search_data-8A6DA255.js
Files 99% similar despite different names
88.4 KB
js-beautify {}
Max HTML report size reached
96.7 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/doc/html/dist/search_data-D2E3D7BA.js vs.
./usr/share/doc/erlang-doc/html/lib/jinterface-1.14.1/doc/html/dist/search_data-A53AF012.js
Files 99% similar despite different names
96.5 KB
js-beautify {}
Max HTML report size reached
190 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/doc/html/dist/search_data-1DC1D27C.js vs.
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.1.1/doc/html/dist/search_data-A1188F1F.js
Files 97% similar despite different names
190 KB
js-beautify {}
Max HTML report size reached
913 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/doc/html/dist/search_data-2827F83F.js vs.
./usr/share/doc/erlang-doc/html/lib/ssl-11.2.12/doc/html/dist/search_data-47476728.js
Files 95% similar despite different names
913 KB
js-beautify {}
Max HTML report size reached
249 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.3/doc/html/dist/search_data-858AE55F.js vs.
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.3/doc/html/dist/search_data-D5ABE7FE.js
Files 98% similar despite different names
248 KB
js-beautify {}
Max HTML report size reached
120 KB
erlang-jinterface_27.3.4+dfsg-1_all.deb
367 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2025-05-09·06:04:59.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-09·06:04:59.000000·debian-binary
2 -rw-r--r--···0········0········0······836·2025-05-09·06:04:59.000000·control.tar.xz2 -rw-r--r--···0········0········0······836·2025-05-09·06:04:59.000000·control.tar.xz
3 -rw-r--r--···0········0········0···112624·2025-05-09·06:04:59.000000·data.tar.xz3 -rw-r--r--···0········0········0···112604·2025-05-09·06:04:59.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.14.1/priv/OtpErlang.jar
13.4 KB
zipinfo {}
Max HTML report size reached
106 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached